Chương 6 trang bị cho người học những hiểu biết về thiết kế CSDL quan hệ bằng cách chuyển mô hình ER-EER sang mô hình quan hệ. Trong chương này sẽ tìm hiểu 2 nội dung chính, đó là: Giải thuật ánh xạ từ mô hình ER-sang mô hình quan hệ, ánh xạ mô hình EER sang mô hình quan hệ. Mời các bạn cùng tham khảo.
Trang 1Ch ương 6 ng 6
Thi t k CSDL quan h b ng cách chuy n ết kế CSDL quan hệ bằng cách chuyển ết kế CSDL quan hệ bằng cách chuyển ệ bằng cách chuyển ằng cách chuyển ển
mô hình ER-EER sang mô hình quan hệ bằng cách chuyển
Trang 2– Bước 3: Ánh xạ loại quan hệ Binary 1:1.
– Bước 4: Ánh xạ loại quan hệ Binary 1:N
– Bước 5:: Ánh xạ loại quan hệ Binary M:N
– Bước 6: Ánh xạ thuộc tính đa trị
– Bước 7: Ánh xạ loại quan hệ N-ary
Trang 3Nội dung
• Ánh xạ mô hình EER sang mô hình quan hệ.
– Bước 8: Ánh xạ mô hình subclass/superclass.– Bước 9: Ánh xạ mô hình Union
Trang 4Giải thuật ánh xạ mô hình ER
Trang 5• Kết quả ánh xạ từ mô hình ER của COMPANY sang mô hình quan hệ.
Trang 6Giải thuật ánh xạ mô hình ER
• Bước 1: Ánh xạ loại thực thể thông thường.
– Ứng với mỗi loại thực thể thông thường (strong) E trong mô hình ER , tạo một quan hệ R với tất cả các thuộc tính đơn của E
– Chọn một trong các thuộc tính khóa làm khóa chính cho R
– Nếu khóa chính của E là thuộc tính kết hợp thì các thuộc tính kết hợp các thuộc tính đó là khóa chính của R
Trang 7Giải thuật ánh xạ mô hình ER
Ví d ụ
Trang 8Giải thuật ánh xạ mô hình ER
• Bước 2: Ánh xạ thực thể yếu
mô hình ER, tạo một quan hệ R bao gồm tất cả thuộc tính đơn của W as attributes of R
– Thuộc tính khóa chính trong quan hệ của thực thể chủ đóng vai trò là khóa ngoại của R
– Khóa chính của R là sự kết hợp của khóa chính của thực thể chủ và một thuộc tính phân biệt của thực thể yếu W
Trang 9Giải thuật ánh xạ mô hình ER
Trang 10Ví dụ: tạo quan hệ DEPENDENT từ thực thể yếu DEPENDENT bao gồm các thuộc tính:
– Khóa chính SSN quan hệ EMPLOYEE là khóa ngoại của DEPENDENT (đổi tên thành ESSN)
– Khóa chính của quan hệ DEPENDENT là kết hợp
DEPENDENT_NAME là thuộc tính phân biệt của DEPENDENT
Trang 11Giải thuật ánh xạ mô hình ER
• Bước 3: Ánh xạ loại quan hệ Binary 1:1, có 3
cách tiếp cận
– Khóa ngoại (foreign key): Xác định mối quan hệ
S-T, quan hệ tham gia toàn phần vào mối quan hệ R đóng vai trò là S, quan hệ còn lại là T, khóa chính của T sẽ trở thành khóa ngoại của S
Trang 12Giải thuật ánh xạ mô hình ER
Ví dụ: quan hệ MANAGES được ánh xạ bằng cách
chọn loại thực thể tham gia DEPARTMENT với vai trò
là S, vì thực thể DEPARTMENT tham gia vào mối quan hệ MANAGES là loại toàn phần
Trang 13Giải thuật ánh xạ mô hình ER
– Merged relation: Một cách ánh xạ loại quan hệ
nhị phân 1-1 bằng cách trộn hai loại thực thể và mối quan hệ thành một quan hệ đơn
• Cách tiếp cận này thích hợp khi các thực thể tham gia vào mối quan hệ là tham gia toàn phần
– Cross-reference or relationship relation
• Khóa chính của hai quan hệ S và T đại diện cho loại thực thể, quan hệ R này gọi là quan hệ kết hợp vì mỗi
bộ trong R là một thể hiện của quan hệ giữa một bộ trong S và một bộ trong T.
Trang 14Giải thuật ánh xạ mô hình ER
• Bước 4: Ánh xạ mối quan hệ Binary 1:N, Với
mỗi loại quan hệ binary 1:N
– Xác định quan hệ S biểu diễn cho loại thực thể tham gia vào R phía N của quan hệ
– Khóa chính của quan hệ T biểu diễn cho loại thực thể tham gia vào R phía 1 trở thành khóa ngoại của S
Trang 15Giải thuật ánh xạ mô hình ER
Trang 16Ví dụ:
Trang 17Giải thuật ánh xạ mô hình ER
• Bước 5: Ánh xạ loại quan hệ Binary M:N
– Với mỗi loại quan hệ binary M:N R, tạo một quan
hệ mới S biểu diễn cho mối quan hệ R
– Chuyển khóa chính của hai quan hệ tham gia thành khóa ngoại của S, kết hợp các khóa ngoại này chính là khóa chính của S
– Các thuộc tính của mối quan hệ sẽ trở thành thuộc tính của S
Trang 18Giải thuật ánh xạ mô hình ER
Ví dụ:
Trang 19Giải thuật ánh xạ mô hình ER
Ví dụ:
Trang 20Giải thuật ánh xạ mô hình ER
Ví dụ:
Trang 21Giải thuật ánh xạ mô hình ER
• Bước 6: Ánh xạ các thuộc tính đa trị.
– Với mỗi thuộc tính đa trị A của loại thực thể K, tạo một quan hệ mới R
– Quan hệ R bao gồm một thuộc tính tương ứng của
A, và thuộc tính khóa chính của K là khóa ngoại của R
– Khóa chính của R là sự kết hợp của A và thuộc tính khóa chính của K
Trang 22Giải thuật ánh xạ mô hình ER
Ví dụ 1:
Trang 23Giải thuật ánh xạ mô hình ER
Ví dụ 2:
Trang 24Giải thuật ánh xạ mô hình ER
• Bước 7: Ánh xạ loại quan hệ N-ary
– Với mỗi loại quan hệ n-ary R với số bậc >2, tạo một quan hệ mới S, các thuộc tính của mối quan
hệ sẽ trở thành thuộc tính của S
– Khóa chính của các loại thực thể tham gia sẽ trở thành khóa ngoại của S, kết hợp các khóa ngoại tạo thành khóa chính của S
Trang 25Giải thuật ánh xạ mô hình ER
Ví dụ 1:
Trang 26Giải thuật ánh xạ mô hình ER
Trang 27Ví dụ 2:
Trang 28Giải thuật ánh xạ mô hình ER
Ánh xạ mối quan hệ n-ary SUPPLY
Trang 29Giải thuật ánh xạ mô hình EER
• Bước 8: Chọn ánh xạ cho chuyên biệt hóa hay tổng quát hóa (Specialization/Generalization).
thành lược đồ quan hệ sử dụng một trong 4 tùy chọn sau:
Trang 30Giải thuật ánh xạ mô hình EER
• Tùy chọn 8A: Nhiều quan hệ Superclass và
subclasses
– Tạo một quan hệ L cho superclass C với:
• Thuộc tính của L : Attrs(L) = {k,a1,…a n }
• Khóa chính của L: PK(L) = k
• Thuộc tính của Li: Attrs(Li) = {k} U {thuộc tính của Si}
• Khóa của Li: PK(Li)=k
– Tùy chọn này thích hợp với bất kỳ sự chuyên biệt hóa nào: total or partial, disjoint of over-lapping
Trang 31Giải thuật ánh xạ mô hình EER
Ví dụ: Mô hình EER
Trang 32Giải thuật ánh xạ mô hình EER
Ví dụ: Mô hình quan hệ tương ứng
Trang 33Giải thuật ánh xạ mô hình EER
• Tùy chọn 8B: Nhiều quan hệ subclass thành
một quan hệ.
– Tạo một quan hệ Li cho mỗi subclass Si, với 1<i<m
• Thuộc tính của Li: Attr(Li)={thuộc tính của S i } U {k,a1…,an}.
• Khóa của Li: PK(Li) = k
– Tùy chọn này chỉ thích hợp với chuyên biệt hóa mà
subclass là total (every entity in the superclass
must belong to at least one of the subclasses)
Trang 34Giải thuật ánh xạ mô hình EER
Ví dụ:
Trang 35Giải thuật ánh xạ mô hình EER
• Tùy chọn 8C: Một quan hệ đơn với một loại
thuộc tính.
– Tạo một quan hệ đơn L với:
• Thuộc tính của L: Attrs(L) = {k,a 1 ,…a n } {thuộc tính của S ∪ {thuộc tính của S 1 }
Trang 36Giải thuật ánh xạ mô hình EER
• Ví dụ:
Trang 37Giải thuật ánh xạ mô hình EER
• Tùy chọn 8D: một quan hệ đơn với nhiều loại
thuộc tính.
– Tạo một lược đồ quan hệ đơn L với:
• Thuộc tính của L: Attrs(L) = {k,a1,…an} {thuộc tính của ∪ {thuộc tính của S
S1} … {thuộc tính của S ∪ {thuộc tính của S ∪ {thuộc tính của S m} U {t1, t2,…,tm}
• Khóa của L: PK(L) = k
– Mỗi ti, 1<i<m, là một thuộc tính kiểu Boolean để xác định một bộ thuộc subcalss Si nào
Trang 38Giải thuật ánh xạ mô hình EER
• Ví dụ:
Trang 39Giải thuật ánh xạ mô hình EER
• Ánh xạ Subclasses đa kế thừa.
– Quan sát mô hình:
• Subclass STUDENT_ASSISTANT có nhiều superclass.
• Các superclass phải có cùng thuộc tính khóa, nếu không phải chuyển sang dạng category
Trang 40• Chuyên biệt hóa với đa
kế thừa của CSDL UNIVERSITY
Trang 41Giải thuật ánh xạ mô hình EER
• Ánh xạ mô hình EER của CSDL UNIVERSITY sang mô hình quan hệ
Trang 42Giải thuật ánh xạ mô hình EER
• Bước 9: Ánh xạ loại mô hình Union
(Categories).
– For mapping a category whose defining superclass have different keys, it is customary to specify a
new key attribute, called a surrogate key, when
creating a relation to correspond to the category
Trang 43Two categories (union types): OWNER and REGISTERED_VEHICLE.
Trang 44Mapping the EER categories (union types).
Trang 45Review questions
1 Discuss the correspondences between the ER
model constructs and the relational model constructs Show how each ER model construct can be mapped to the rela-tional model, and discuss any alternative mappings.
2 Discuss the options for mapping EERmodel
constructs to relations
Trang 46• Figure 7.7 shows an ER schema for a database that may be used to keep track of transport ships and their locations for maritime authorities Map this schema into a relational schema, and specify all primary keys and foreign keys.
Trang 47Exercises