1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng môn học Hệ cơ sở dữ liệu: Chương 2 - Nguyễn Như Hoa (Phần 2)

39 27 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 39
Dung lượng 2,49 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Phần tiếp theo bài giảng Hệ cơ sở dữ liệu - Chương 2cung cấp cho người học các kiến thức về Mô hình thực thể - Kết hợp mở rộng bao gồm: Superclass và subclass, mối quan hệ giữa superclass và subclass, thừa kế thuộc tính và mối quan hệ,... Mời các bạn cùng tham khảo nội dung chi tiết.

Trang 1

Chương 2 - phần 2

Mô hình thực thể-kết hợp mở rộng

Enhanced Entity Relationship ( EER ) model

1

Giáo trình & Tài liệu tham khảo:

1 Ramez Elmasri, Shamkant B Navathe, 2011 Fundamentals of Database

systems, 6th edition, Addison-Wesley

2 Giáo trình Cơ sở dữ liệu , Trần Đắc Phiến, ĐH Công nghiệp TPHCM

3 Bộ slide bài giảng của Nguyễn Minh Thư, Khoa CNTT, ĐH KHTN TPHCM

4 Bộ slide bài giảng của Trần Thị Kim Chi, Khoa CNTT, ĐH Công nghiệp TPHCM

Gv Nguyễn Như Hoa

Trang 2

Giới thiệu

Model) mở rộng ER model, bổ sung các khái niệm nhằm tăng khả năng mô hình hóa ngữ

nghĩa phức tạp của thế giới thực

• Mô hình EER bổ sung một số khái niệm như

– Specialization và Generalization

– Aggregation và Composition

2

Trang 3

Nội dung

• Specialization /Generalization

– Superclass và subclass

– Mối quan hệ giữa superclass và subclass

– Thừa kế thuộc tính và mối quan hệ

– 2 cách xây dựng : tiếp cận Specialization và tiếp

cận Generalization

– Các ràng buộc trên Specialization/Generalization

3

Trang 5

Ví dụ 0

• Phân lớp tập thực thể Staff thành tập thực thể Staff(*) , Manager, SalesPersonnel, và Secretary

5

SalesPersonel

Secretary

Trang 6

Ví dụ 0

6

Cấu trúc lại tập thực thể Staff

Trang 7

Superclass và Subclass

• Một loại thực thể (Superclass) bao gồm nhiều

nhóm thực thể phân biệt (subclass)

• Ví dụ : tập thực thể Staff có thể được phân lớp thành tập thực thể Manager, SalesPersonnel, và Secretary

– Staff là superclass

(hay supertype, tập thực thể cha)

– Manager, SalesPersonnel, và Secretary là subclasses

(hay subtypes, các tập thực thể con)

7

Trang 10

Mối quan hệ giữa superclass và subclass

• Là mối quan hệ 1:1

– Một thực thể của subclass phải là 1 thành viên của

superclass

– Ngược lại, một thực thể của superclass có thể không

tương ứng với một thành viên của 1 subclass

10

class/subclass relationship

Trang 11

Mối quan hệ giữa superclass và subclass

11

Ví dụ về dữ liệu

Trang 12

Thừa kế thuộc tính và mối quan hệ

• Một thực thể trong subclass thừa kế mọi

thuộc tính và các mối quan hệ của superclass

12

Pearson Education

SuperClass

Trang 13

Specialization /Generalization

• Specialization (chuyên biệt hóa)

– Quá trình xác định các subclass từ một tập thực thể

(superclass)

– Xác định các thuộc tính khác biệt giữa các thực thể của

superclass -> định nghĩa các subclass

• Generalization (tổng quát hóa)

– Quá trình định nghĩa một tập thực thể chung/tổng quát (superclass) từ một số tập thực thể ban đầu (subclasses)

• Xác định các thuộc tính chung giữa các subclass -> định nghĩa superclass

– Tập thực thể chung phải chứa các thực thể đến từ tất cả các subclass

13

Trang 14

Mục tiêu

14

Trang 16

Điểm xuất phát – dạng 2

Sử dụng Generalization (tổng quát hóa)

16

Generalization

Trang 17

Ví dụ 1

• Tập thực thể LIBRARY ITEM với các thuộc tính, trước khi chuyên biệt hóa

17

Trang 18

Ví dụ 1

• Mô hình tương đương sau khi chuyên biệt

hóa: superclass LIBRARY ITEM và subclasses BOOK, JOURNAL, VIDEOCD

18

Trang 19

Ví dụ 2

• Tập thực thể FACULTY, STAFF, STUDENT trước khi tổng quát hóa

19

Trang 20

Ví dụ 2

• Mô hình tương đương với superclass PERSON, và các subclass FACULTY, STAFF, STUDENT sau khi tổng quát hóa

20

Trang 21

Các ràng buộc trên Specialization/Generalization

• Ràng buộc về tính tham gia (participation

constraint)

• Ràng buộc về tính phân ly (disjoint constraint)

21

Trang 22

Các ràng buộc trên Specialization/Generalization

• Ràng buộc về tính tham gia trả lời cho câu hỏi:

“Mỗi thành viên của superclass có bắt buộc

tham gia là thành viên của một subclass hay không?”

• Có 2 loại

– Bắt buộc : mô tả bằng từ “mandatory”

• Vd: một nhân viên phải có một hợp đồng làm việc

– Tùy chọn : mô tả bằng từ “optional”

• Vd: một nhân viên ko nhất thiết phải có một vai trò thứ hai

22

Trang 23

Các ràng buộc trên Specialization/Generalization

• Ràng buộc về tính tham gia

Ví dụ

23

Trang 24

Các ràng buộc trên Specialization/Generalization

thành viên của superclass chỉ tham gia như là

thành viên của một subclass , hay có thể tham gia như là thành viên của nhiều subclass ”

• Có 2 loại

– Disjoint : mỗi thực thể của superclass chỉ tham gia tối

đa vào một subclass

• mô tả bằng từ “OR” , hoặc ký hiệu

– Non-disjoint hay overlap : mỗi thực thể của superclass

có thể tham gia vào nhiều subclass

• mô tả bằng từ “AND” , hoặc ký hiệu

24

d

o

Trang 25

Các ràng buộc trên Specialization/Generalization

disjoin

Trang 26

Các ràng buộc trên Specialization/Generalization

• Ràng buộc về tính phân ly

26

http://wiki.sinfronteras.ws/view/Advanced_Databases

Non_disjoin

Trang 27

Cấu trúc phân cấp và mắt lưới

(Hierarchies and Lattices)

• Quá trình chuyên biệt hóa / tổng quát hóa có thể tạo ra một mô hình ER có cấu trúc phân cấp hoặc mắt lưới

– Một subclass có thể là superclass của các subclass

khác

– Nếu mỗi subclass chỉ có một superclass (chỉ có một

tập thực thể cha) => hình thành cấu trúc phân cấp

(tree structure or hierarchy)

– Nếu một subclass có nhiều hơn một class đóng vai trò

là superclass => hình thành cấu trúc mắt lưới (lattice )

27

Trang 28

Cấu trúc phân cấp và mắt lưới

(Hierarchies and Lattices)

Trang 29

Cấu trúc phân cấp và mắt lưới

(Hierarchies and Lattices)

• Cấu trúc mắt lưới

29

ENGINEERING_MANAGER là subclass của

ENGINEER, MANAGER, và SALARIED_EMPLOYEE Một thực thể thuộc ENGINEERING_MANAGER phải tồn tại trong cả 3 tập thực thể supperclass này

Trang 30

Cấu trúc phân cấp và mắt lưới

(Hierarchies and Lattices)

• Phân biệt

cấu trúc mắt lưới

với UNION type

30

OWNER là một subclass của hợp (union) 3

tập thực thể PERSON, BANK, COMPANY

Mỗi thành viên của OWNER chỉ tồn tại là

một trong 3 tập thực thể này

Trang 31

Bài tập

• Đọc “Fundamentals Of Database Systems”,

Chương 8 : EER model

=> Tìm hiểu ví dụ mục 8.5 (trang 260)

• Đọc hiểu mô tả UNIVERSITY database

• Đọc hiểu mô hình EER

31

Trang 32

Câu hỏi 1

• Sự cần thiết của Specialization (chuyên biệt hóa) / Generalization (tổng quát hóa) ?

32

Trang 33

Câu hỏi 1

33

Trang 34

Câu hỏi 2

• Chỉ rõ các Relationship (giữa các tập thực thể) và các

Class/subclass relationship trong mô hình sau ?

• Mỗi subclass trong mô hình có mối quan hệ (Relationship) nào ?

• Mỗi Class/subclass relationship được thiết lập dựa trên thuộc

tính nào ?

34

Trang 35

Câu hỏi 3

• Trong hình mô tả quá trình Specialization hay Generalization? Mô tả tóm tắt quá trình đó ?

35

Trang 36

Câu hỏi 4

• Với dữ liệu như mô tả ở hình bên

Hãy cho biết mô hình

nào là phù hợp ?

36

Trang 37

Câu hỏi 4

37

Model 1

Model 2

Trang 38

Tham khảo

Bộ ký hiệu

• Biểu diễn class/subclass relationship

• Khi có nhiều subclass dựa trên cùng một cách

phân loại (vd : job type) , dùng

• Biểu diễn ràng buộc disjoin của 1 class/subclass

• Biểu diễn ràng buộc tính tham gia : bắt buộc

• Biểu diễn ràng buộc tính tham gia : ko bắt buộc

38

d

o

U

Trang 39

Bộ ký hiệu khác

39

https://www.uml-diagrams.org/generalization.html

Biểu diễn class/subclass relationship:

Biểu diễn ràng buộc , dùng chữ :

{mandatory, or}

{mandatory, and}

{optional, or}

{optional, and}

Ngày đăng: 04/11/2020, 07:01

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm