Các liên kết lớp cha/ lớp con, chuyên biệt hóa và tổng quát hóa

Một phần của tài liệu Chuyển đổi mô hình lớp trong UML sang quan hệ (Trang 25 - 28)

Chuyển đổi từng lớp con chuyên biệt hoá với m lớp con {S1, S2, …., Sm} và (tổng quát hoá) các lớp cha C, các thuộc tính của C là {k, a1, a2, …. an}và k là khoá chính thành các sơ đồ quan hệ sử dụng thuật toán sau.

Tạo một quan hệ L cho C với các thuộc tính Atts(L) = { k, a1, a2,..., an} và PK(L ) = k. Tạo một quan hệ Li cho từng lớp con Si, 1<= i<=m, với các thuộc tính attrs(Li) = {k, ki}+ {các thuộc tính của Si} với PK(Li) = {k} là khoá.

Ví dụ: Xét một quan hệ chuyên biệt hóa của kiểu thực thể NHAN VIEN với các lớp con { THU KI, KI THUAT VIEN, KI SU } nhƣ hình vẽ.

2.2.2 Ánh xạ các lớp con dùng chung

Một lớp con dùng chung nhƣ QUAN LY KI SU nhƣ đã mô tả ở phần trƣớc là một lớp con của nhiều lớp cha. Các lớp này phải có tất cả các thuộc tính khóa giống nhau; mặt khác lớp con dùng chung sẽ đƣợc mô hình nhƣ một Category.

2.2.3 Ánh xạ từ các loại Category

Một Category là một lớp con của việc hợp nhất hai hay nhiều lớp cha có thể có các khóa khác nhau. Việc ánh xạ một Category mà các lớp cha xác định của nó có các khóa khác nhau, là qui tắc để chỉ ra một thuộc tính khóa mới gọi là khóa đại diện khi tạo ra một liên kết để ứng với một Category. Điều này là do các khóa của các lớp xác định là khác nhau, ví thế chúng ta không sử dụng bất kì một trong các khóa đó để nhận biết tất cả các thực thể trong Category.

Ví dụ: Tạo sơ đồ liên kết Ngƣời sở hữu tƣơng ứng với Category NGUOI SO HUU nhƣ đã minh họa và chứa bất kì các thuộc tính trong của Category trong quan hệ này. Khóa chính của Ngƣời sở hữu là khóa đại diện MASH. Chúng ta cũng thêm vào thuộc tính khóa đại diện Ngƣời sở hữu nhƣ là khóa ngoài của từng quan hệ tƣơng ứng với một lớp cha của Category, để nhận biết đƣợc sự tƣơng ứng các giá trị giữa khóa đại diện và

từng lớp cha.

Với một Category mà các lớp cha của nó có khóa giống nhau, ta không cần cho một khóa đại diện mà khóa chính của Category là khóa của các lớp cha đó.

Áp dụng thuật toán chuyển đổi trên ta đƣợc các bảng quan hệ:

BHXH Ho Dem Gioi tinh Loai nghe Ngay sinh Dia chi

BHXH Trinh do BHXH Kieuks BHXH Bac THU KI KI SU KI THUAT VIEN NHAN VIEN NHAN VIEN d KI THUAT VIEN Gioi tinh Dia chi

Trinh do Bac Kieu ki su

Ngay sinh Họ Loai nghe Dem Ten KI SU THU KI BHXH Mô hình quan hệ:

CHƯƠNG 3

PHƯƠNG PHÁP CHUYỂN ĐỔI TỪ MÔ HÌNH LIÊN KẾT THỰC THỂ EER SANG BIỂU ĐỒ LỚP THIẾT KẾ

Thiết kế Cơ sở dữ liệu (CSDL) quan hệ bằng phƣơng pháp Top-Down đã đƣợc sử dụng từ rất lâu và đƣợc phổ biến rộng rãi và ứng dụng nhiều. Tuy nhiên trong vài năm trở lại đây CSDL hƣớng đối tƣợng đã đƣợc đƣa vào triển khai ứng dụng rộng rãi nhƣng việc phân tích thiết kế bằng phƣơng pháp hƣớng đối tƣợng UML còn mới mẻ, khó khăn đối với một số ngƣời đã quá quen thuộc với CSDL quan hệ. Để giải quyết khó khăn trên thì trong báo cáo sẽ trình bày phƣơng pháp chuyển đổi từ mô hình liên kết thực thể mở rộng EER sang các lớp trong biểu đồ lớp của UML (chuyển đổi dữ liệu). Sau đó sẽ áp dụng một số mẫu thiết kế (mẫu chuyên gia Expert, bộ tạo lập Creator ...) để xác định thêm các phƣơng thức cho các lớp vừa chuyển đổi đƣợc thì sẽ nhận đƣợc CSDL hƣớng đối tƣợng hoàn chỉnh. Phƣơng pháp chuyển đổi này sẽ giúp cho những ngƣời đã quá quen thuộc chuyên sâu về thiết kế CSDL quan hệ tiếp cận đƣợc dễ dàng với việc thiết kế CSDL hƣớng đối tƣợng mà vẫn kế thừa đƣợc kiến thức sẵn có từ trƣớc về CSDL quan hệ mà vẫn tiếp cận đƣợc với CSDL hƣớng đối tƣợng một cách tƣơng đối thuận tiện mang lại hiệu quả cao.

Phần trình bày sau trình bày về một sồ phƣơng pháp chuyển đổi từ mô hình liên kết thực thể sang biểu đồ lớp thiết kế trong UML.

Một phần của tài liệu Chuyển đổi mô hình lớp trong UML sang quan hệ (Trang 25 - 28)