MÔ HÌNH THỰC THỂ
QUAN HỆ MỞ RỘNG
ENHANCED ENTITY – RELATIONSHIP
DATA MODEL
VÍ DỤ
Mô hình hóa CSDL cho công ty Z135
Z135 được tổ chức thành các đơn vị khác nhau, mỗi đơn vị có
tên, số hiệu và người đứng đầu đơn vị. Ngoài ra còn có thông
tin về ngày bổ nhiệm lãnh đạo của từng đơn vị.
Mỗi đơn vị điều khiển một số dự án. Mỗi dự án có tên, mã số
và địa điểm thực hiện.
Thông tin về nhân viên bao gồm mã số, họ tên, địa chỉ, lương,
giới tính, và ngày sinh. Mỗi nhân viên làm việc cho một bộ đơn
vị, nhưng có thể tham gia nhiều dự án (có thời gian cụ thể).
Ngoài ra, còn có thông tin về lãnh đạo trực tiếp của nhân viên
Mỗi nhân viên có một số thông tin về gia đình, bao gồm họ tên,
giới tính, ngày sinh và mối quan hệ với nhân viên
Bộ môn Cơ sở dữ liệu – Khoa Công nghệ Thông tin
VÍ DỤ
Bộ môn Cơ sở dữ liệu – Khoa Công nghệ Thông tin
LÀM VIỆC
LÀ ĐIỀU HÀNH
PHỤ TRÁCH
THÂN NHÂN
HỌ
TÊN
GiỚI
TÍNH
NGÀY
SINH
MÃ SỐ
ĐỊACHỈ
NHÂN VIÊN
TÊN
NGSINH
PHÁI
LƯƠNG
HỌ
MÃ SỐ
GIA ĐÌNH
THAM GIA
ĐƠN VỊ
TÊN
MÃ SỐ
SỐ HiỆU
BỔ
NHIỆM
DỰ ÁN
TÊN
ĐIẠ ĐIỂM
MÃ SỐ
SỐ HiỆU
NỘI DUNG CHI TIẾT
Những hạn chế của mô hình thực thể quan hệ
Mô hình thực thể quan hệ mở rộng
Các khái niệm
Ứng dụng
Bộ môn Cơ sở dữ liệu – Khoa Công nghệ Thông tin
QUÁ TRÌNH THIẾT KẾ
CƠ SỞ DỮ LiỆU
Bộ môn Cơ sở dữ liệu – Khoa Công nghệ Thông tin
Ý tưởng
Mô hình dữ
liệu quan hệ
Cơ sở dữ liệu
quan hệ
Mô hình thực
thể kết hợp
Mô hình thực
thể kết hợp
mở rộng
QUÁ TRÌNH THIẾT KẾ
CƠ SỞ DỮ LiỆU
Bộ môn Cơ sở dữ liệu – Khoa Công nghệ Thông tin
Phụ thuộc
HQT cụ thể
Độc lập HQT
Thế
giới
thực
Phân tích yêu cầu
Phân tích quan niệm
Thiết kế mức logic
Thiết kế mức vật lý
Các yêu cầu về dữ liệu
Lược đồ quan niệm
Lược đồ logic
Lược đồ trong
Chương trình ứng dụng
Thiết kế
chương trình ứng dụng
Phân tích chức năng
Các yêu cầu về chức năng
Các đặc tả chức năng
MÔ HÌNH THỰC THỂ
QUAN HỆ MỞ RỘNG
Bộ môn Cơ sở dữ liệu – Khoa Công nghệ Thông tin
MÔ HÌNH THỰC THỂ
KẾT HỢP
+
Lớp cha – Lớp con
Khái quát hóa – Chuyên biệt hóa
Kế thừa
MÔ HÌNH THỰC THỂ
QUAN HỆ MỞ RỘNG
CÁC KHÁI NIỆM
Mối quan hệ lớp cha – lớp con
Lớp = một nhóm thực thể có tính chất giống nhau
Ví dụ
Lớp NHÂN VIÊN có thể được phân làm nhiều lớp con
khác, như là THƯ KÝ, KỸ THUẬT VIÊN, KỸ SƯ
Bộ môn Cơ sở dữ liệu – Khoa Công nghệ Thông tin
CÁC KHÁI NIỆM
Mối quan hệ lớp cha – lớp con
Bộ môn Cơ sở dữ liệu – Khoa Công nghệ Thông tin
NHÂN VIÊN
TRỢ LÝ
KỸ THUẬT
VIÊN
KỸ SƯ
Lớp cha
Lớp con
phân nhóm
IS A
CÁC KHÁI NIỆM
Chú ý
Thực thể trong lớp con có biểu hiện giống như
thực thể tương ứng trong lớp cha
Hai thực thể này giống nhau trong một góc nhìn
nào đó
Muốn thực thể xuất hiện trong CSDL, nó không chỉ
xuất hiện trong lớp con, mà con phải có mặt trong
lớp cha
Một thực thể ở lớp cha có thể xuất hiện ở nhiều
lớp con tương ứng hoặc không xuất hiện ở bất kỳ
lớp con nào
Bộ môn Cơ sở dữ liệu – Khoa Công nghệ Thông tin
CÁC KHÁI NIỆM
Sự kế thừa trong quan hệ cha – con
Bộ môn Cơ sở dữ liệu – Khoa Công nghệ Thông tin
NHÂN VIÊN
*MÃ SỐ
HỌ TÊN
LƯƠNG
KỸ SƯ
*MÃ SỐ
HỌ TÊN
LƯƠNG
phân nhóm
IS A
ĐƠN VỊ
*MÃ SỐ
TÊN
ĐỊA CHỈ
THUỘC
THUỘC
CHUYÊN BIỆT HÓA
SPECIALIZATION
Định nghĩa
Chuyên biệt hóa là quá trình phân các thực thể lớp
cha thành các lớp con theo những tiêu chí nhất
định nào đó
Ví dụ:
Lớp NHÂN VIÊN được phân thành các lớp con THƯ KÝ,
KỸ THUẬT VIÊN, KỸ SƯ.
{THƯ KÝ, KỸ THUẬT VIÊN, KỸ SƯ} là một chuyên biệt
hóa của NHÂN VIÊN dựa trên vai trò của đối tượng tham
gia cơ sở dữ liệu
Bộ môn Cơ sở dữ liệu – Khoa Công nghệ Thông tin
CHUYÊN BIỆT HÓA
SPECIALIZATION
Bộ môn Cơ sở dữ liệu – Khoa Công nghệ Thông tin
NHÂN VIÊN
THƯ KÝ
KỸ THUẬT
VIÊN
KỸ SƯ
Lớp cha
Lớp con
chuyên biệt hóa theo loại công việc
IS A
CHUYÊN BIỆT HÓA
SPECIALIZATION
Định nghĩa
Có nhiều cách phân một lớp cha thành nhiều lớp con
Quan hệ cha – con và sự chuyên biệt hóa thể hiện rõ
trên các lược đồ EER
Bộ môn Cơ sở dữ liệu – Khoa Công nghệ Thông tin
CHUYÊN BIỆT HÓA
SPECIALIZATION
Bộ môn Cơ sở dữ liệu – Khoa Công nghệ Thông tin
NHÂN VIÊN
TiẾN SỸ THẠC SỸ KỸ SƯ
Lớp cha
Lớp con
chuyên biệt hóa theo loại bằng cấp
IS A
CHUYÊN BIỆT HÓA
SPECIALIZATION
Chuyên biệt hóa và lược đồ EER
Bộ môn Cơ sở dữ liệu – Khoa Công nghệ Thông tin
NHÂN VIÊN
HỌ TÊN SỐ HiỆU ĐỊA CHỈ LƯƠNG
GiỚI
TÍNH
NGÀY
SINH
MÃ SỐ
KỸ THUẬT VIÊN
CHỨNG
CHỈ
∪
THƯ KÝ
TỐC ĐỘ
∪
KỸ SƯ
BẰNG
CẤP
∪
KHÁI QUÁT HÓA
GENERALIZATION
Định nghĩa
Khái quát hóa là quá trình ngược của chuyên biệt hóa
Nhiều lớp con có cùng những đặc tính chung được tập trung
vào một lớp cha, các lớp ban đầu trở thành lớp con của lớp
cha này
Ví dụ Xe mô tô, Xe hơi, Xe tải được tập trung thành Xe có
động cơ, cả ba loại xe này đều trở thành lớp con của lớp
cha Xe có động cơ
{Xe mô tô, Xe hơi, Xe tải} là một chuyên biệt hóa của Xe có
động cơ
Xe có động cơ là một khái quát hóa của Xe mô tô, Xe hơi, và
Xe tải
Bộ môn Cơ sở dữ liệu – Khoa Công nghệ Thông tin
KHÁI QUÁT HÓA
GENERALIZATION
Bộ môn Cơ sở dữ liệu – Khoa Công nghệ Thông tin
XE CÓ
ĐỘNG CƠ
XE MÔ TÔ XE HƠI XE TẢI
Lớp cha
Lớp con
khái quát hóa IS A
LƯỢC ĐỒ THỰC THỂ
QUAN HỆ MỞ RỘNG
Mô hình hóa dữ liệu với lược đồ EER
Lớp cha, lớp con là tập hợp các thực thể (khối
vuông trên lược đồ)
Quan hệ cha – con, khái quát hóa, chuyên biệt hóa
thể hiện bởi những mũi tên (có hướng)
Bộ môn Cơ sở dữ liệu – Khoa Công nghệ Thông tin
RÀNG BUỘC TRÊN CHUYÊN BiỆT
HÓA VÀ KHÁI QUÁT HÓA
Định nghĩa lớp con bằng điều kiện
Predicate (condition-) defined subclasses
Điều kiện là ràng buộc xác định thành viên lớp con
Attribute-defined subclasses
Điều kiện là ràng buộc trên một thuộc tính
Thuộc tính này gọi là thuộc tính chỉ định phân lớp
User-defined subclasses
Không có điều kiện ràng buộc
Bộ môn Cơ sở dữ liệu – Khoa Công nghệ Thông tin
RÀNG BUỘC TRÊN CHUYÊN BiỆT
HÓA VÀ KHÁI QUÁT HÓA
Ràng buộc tập rời nhau (Disjointness Constr.)
Các lớp con phải tách rời nhau (disjoint)
Một thực thể chỉ nằm trong duy nhất một lớp con
Các lớp con có thể chồng lên nhau (overlap)
Ràng buộc hoàn toàn (Completeness Constr.)
Mỗi thực thể của lớp cha phải là thành viên của một
vài lớp con (total – toàn vẹn)
Cho phép thực thể của lớp cha không nằm trong bất
kỳ lớp con nào (partial – từng phần)
Bộ môn Cơ sở dữ liệu – Khoa Công nghệ Thông tin
RÀNG BUỘC TRÊN CHUYÊN BiỆT
HÓA VÀ KHÁI QUÁT HÓA
Bốn kiểu chuyên biệt hóa/khái quát hóa
Disjoint – Total
Disjoint – Partial
Overlap – Total
Overlap – Partial
Khái quát hóa thường là toàn vẹn (total) bởi vì
lớp cha được cấu thành từ các lớp con
Bộ môn Cơ sở dữ liệu – Khoa Công nghệ Thông tin
RÀNG BUỘC TRÊN CHUYÊN BiỆT
HÓA VÀ KHÁI QUÁT HÓA
Ví dụ
Bộ môn Cơ sở dữ liệu – Khoa Công nghệ Thông tin
NHÂN VIÊN
HỌ TÊN SỐ HiỆU ĐỊA CHỈ LƯƠNG
GiỚI
TÍNH
NGÀY
SINH
MÃ SỐ
KỸ THUẬT VIÊN
CHỨNG
CHỈ
∪
THƯ KÝ
TỐC ĐỘ
∪
KỸ SƯ
BẰNG
CẤP
∪
CÂY PHÂN CẤP – LƯỚI
Lớp cha của quan hệ cha – con này có thể là lớp con
của quan hệ cha – con kia
Tập hợp các quan hệ cha – con tạo cây cây phân
cấp hoặc lưới
Lớp con kế thừa các thuộc tính không chỉ của lớp
cha mà của các lớp tiền bối trong quan hệ cha – con
Cây phân cấp (Hierarchies)
Mỗi lớp con có duy nhất một lớp cha
Lưới (Lattices)
Một lớp con có thể có nhiều lớp cha
Bộ môn Cơ sở dữ liệu – Khoa Công nghệ Thông tin
CÂY PHÂN CẤP – LƯỚI
Lớp con chung (Shared subclass)
Lớp con có nhiều lớp cha
Thực thể trong lớp con chung phải xuất hiện trong tất cả các
lớp cha của nó
Chuyên biệt hóa
Bắt đầu từ kiểu thực thể
Xác định các lớp con cho các kiểu thực thể
Tiến trình phân tích trên xuống (top down)
Khái quát hóa
Bắt đầu từ các kiểu thực thể
Nhóm các thuộc tính chung
Tiến trình phân tích dưới lên (bottom up)
Bộ môn Cơ sở dữ liệu – Khoa Công nghệ Thông tin