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