Tải bản đầy đủ (.pdf) (32 trang)

Bài giảng Mô hình hóa dữ liệu - Phần 2

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.16 MB, 32 trang )

1

Mơ hình hóa dữ liệu
(Data Modeling)
LƯỢC ĐỜ ER MỞ RỢNG
EXTENDED ENTITY RELATIONSHIP DIAGRAM (EER)


2



Vận dụng được kiểu thực thể mở rộng supertype
và subtype đáp ứng bài toán nghiệp vụ phức


3



Cấu trúc phân cấp kiểu thực thể


Supertype/subtype

Khái quát hóa/ chuyên biệt hóa kiểu thực thể
 Các kiểu ràng buộc giữa supertype và subtype



Case study


Hệ thống quản lý sinh viên của trường đại học
 Cần phát triển CSDL SinhVien



Cần phân biệt 2 loại sinh viên :



Đã tốt nghiệp (GRADUATE STUDENT)
Chưa tốt nghiệp (UNDERGRADUATE STUDENT)

4


5





Nhân viên với các kiểu trả lương khác nhau



Bệnh nhân nội trú và ngoại trú



Xe cộ với nhiều loại xe khác nhau




….

Các thực thể tuy cùng kiểu nhưng có thể không
cùng thuộc tính


Cấu trúc phân cấp
(hierarchical structure)


6

Sắp xếp các kiểu thực thể theo cấu trúc phân
cấp (hierarchical structure)


Kiểu con(subtype)
Chứa các thuộc tính riêng của mỗi nhóm thực thê



Siêu kiểu (supertype)
Kiểu thực thể chung chứa các thuộc tính
chung của tất cả kiểu con


Khái quát hóa/Chuyên biệt hóa

Generalization/Specialization
Khái quát hóa



Qui trình Bottom-up
Xác định một kiểu thực
thể chung từ một nhóm
các kiểu thực thể riêng
biệt

7

Chuyên biệt hóa


Qui trình Top-down



Xác định một hay nhiều
kiểu con từ một siêu kiểu
và tạo quan hệ giữa siêu
kiểu và kiểu con.


Ví dụ về tổng quát hóa

8



Ví dụ chun biệt hóa

9


Enhanced ER model

10


Lược đồ quan hệ thực thể mở rộng



11

Kiểu con kế thừa (inherit) các thuộc tính từ siêu
kiểu
Mỗi thực thể subtype là 1 thực thể supertype
 Quan hệ giữa subtype và supertype là ISA

A salaried employee IS AN employee


Lược đồ quan hệ thực thể mở rộng



A salaried employee IS AN employee

A hourly employee IS AN employee

12


Lược đồ quan hệ thực thể mở rộng
EMPLOYEE

Biểu tượng
khái quát hóa

EmpID
EmpHireDate

ISA
SalaryEmp
EmpSalary

Supertype

ISA

Subtype

HourlyEmp
EmpRate

13



Ràng buộc (constraint)
của quan hệ supertype/subtype

14

SUPERTYPE
Thuộc tính
chung



Ràng buộc giữa
Supertype và subtype
luôn là ràng buộc 1:1

1
1
SUBTYPE 1

Thuộc tính riêng

1
SUBTYPE 2

Thuộc tính riêng


Xác định các ràng buộc trong mối
quan hệ supertype/subtype


15

Các quy tắc nghiệp vụ được áp dụng vào các quan
hệ supertype/subtype dưới dạng các ràng buộc
(constraint)
 Có 2 loại ràng buộc quan trọng:
 Ràng buộc đầy đủ (Completeness constraint)
 Ràng buộc phân ly (Disjointness constraint)



Ràng buộc về tính đầy đủ

16

Ràng ḅc về tính đầy đủ dùng để trả lời cho câu
hỏi: “Một thể hiện của siêu kiểu có phải là thành
viên của ít nhất một kiểu con hay không?”
 Có hai nguyên tắc (rule):
 Chuyên biệt hóa toàn phần (total specialization)
 Chuyên biệt hóa riêng phần (partial
specialization)



Chuyên biệt hóa toàn phần

17

Chuyên biệt hóa toàn phần: mỗi thực thể của siêu

kiểu tất yếu phải là một thực thể của một kiểu con
 Chuyên biệt hóa toàn phần được ký hiệu bằng
đường đôi nối từ thực thể supertype đến vòng
tròn.



Ví dụ Chun biệt hố tồn phần


18

Xét quy tắc nghiệp vụ sau: A patient must either
an outpatient or a resident patient (There are no
other types of patient in this hospital).


Chun biệt hố tồn phần

19


Chun biệt hóa riêng phần

20

Chun biệt hóa riêng phần: mỡi thể hiện của siêu
kiểu không nhất thiết phải là 1 thể hiện của một
kiểu con
 Được ký hiệu bằng đường đơn nối từ supertype

đến vòng tròn



Ví dụ chun biệt hóa riêng phần




21

Siêu kiểu VEHICLE có 2 kiểu con CAR và TRUCK.
Kiểu thực thể MOTORCYCLE cũng là 1 loại xe cộ
nhưng không được đưa vào mô hình


Ví dụ Chun biệt hóa riêng phần

22


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

23

Ràng ḅc về tính phân ly để trả lời cho câu hỏi
“một thể hiện (instance) của siêu kiểu có đồng thời
là thành viên của cả 2 kiểu con hay không?”
 Có hai quy tắc ràng buộc phân ly:





Quy tắc phân ly (disjoint rule)



Quy tắc trùng lặp (overlap rule)


Quy tắc phân ly



24

Phân ly (disjoint): một thể hiện của siêu kiểu là thành viên
của chỉ một kiểu con
Quy tắc phân ly được ký hiệu bằng ký tự “d” trong vòng
tròn nối giữa supertype và các subtype

Ví dụ: PATIENT chỉ có thể hoặc là OUTPATIENT hoặc là
RESIDENT PATIENT


Ví dụ về Quy tắc phân ly

25



×