TRƯỜNG ĐẠI HỌC SƯ PHẠM TP HCM
KHOA TOÁN – TIN
280, An Dương Vương, Q5, Tp HCM ĐT: (08).8352020 - 8352021
CƠ SỞ DỮ LIỆU
Lê Đức Long
Email:
Website:
NỘI DUNG TRÌNH BÀY
Edited by Duc-Long, Le - 2009
2
Một số quy ƣớc trên slide
Tắt màn hình máy tính
Được dùng máy tính
Làm việc theo nhóm
Ghi chép bằng văn bản
Edited by Duc-Long, Le - 2009
3
TRƯỜNG ĐẠI HỌC SƯ PHẠM TP HCM
KHOA TOÁN – TIN
280, An Dương Vương, Q5, Tp HCM ĐT: (08).8352020 - 8352021
MÔ HÌNH THỰC THỂ - KẾT HỢP
(Entity – Relationship Diagram)
Lê Đức Long
Email:
Website:
Giới thiệu
Các thành phần của mô hình là gì?
GIỚI THIỆU
u cầu của
thế giới
thực
Thông lượng
đầu ra
(Dữ liệu + Thông tin)
HTTT
Tác động bên ngoài
DL vào
Thông lượng
đầu vào
(Dữ liệu)
DL thường trực
DL kết quả
Mơ hình dữ liệu diễn đạt dữ liệu
Mơ hình thực thể - kết hợp (ERD – P.P.Chen, 1976)
Dùng trong giai đoạn phân tích phần mềm và để xây dựng mơ hình
CSDL ở mức quan niệm
Độc lập với tất cả các về xem xét về mặt vật lí (DBMS, OS, …)
Được thể hiện dưới dạng hình ảnh sơ đồ thực thể kết hợp-ERD
Edited by Duc-Long, Le - 2009
5
Mô hình thực thể - kết hợp
Sơ đồ thực thể - kết hợp (ERD)
Biểu diễn trừu tƣợng cấu trúc của CSDL
(mô hình hoá thế giới thực)
Sơ đồ thực thể - kết hợp bao gồm:
(Entity-Relationship Diagram)
Tập thực thể (Entity Sets)/thực thể (Entity)
Thuộc tính (Attributes)
Mối kết hợp (Relationship)
Edited by Duc-Long, Le - 2009
6
CÁC THÀNH PHẦN CƠ BẢN
Thực thể (Entity)
+ Kí hiệu:
E
+ Đặc điểm:
- Diễn tả các đối tượng trong thế giới thực
- Có tên gọi riêng
- Có danh sách thuộc tính mô tả đặc trưng của thực thể. Mỗi
thuộc tính có tên gọi riêng đối với mỗi thực thể + miền giá trị
- Có khoá của thực thể
- Có khái niệm thực thể (Entity) / tập thực thể (Entity set)
Edited by Duc-Long, Le - 2009
7
Thực thể/ Tập thực thể
Một thực thể là một đối tƣợng của thế giới
thực (học sinh, nhân viên, ô tô, hoá đơn,
phiếu mƣợn sách, hợp đồng, học phần, ...)
Tập hợp các thực thể giống nhau tạo
thành một tập thực thể
Ví dụ ứng dụng “Quản lý đề án công ty”
o Một nhân viên là một thực thể
o Tập hợp các nhân viên là tập thực thể
o Một đề án là một thực thể
o Tập hợp các đề án là tập thực thể
o Một phòng ban là một thực thể
o Tập hợp các phòng ban là tập thực thể
ĐỂ NGẮN GỌN TRONG BÀI GIẢNG SỬ DỤNG THỰC THỂ TẬP THỰC THỂ
Edited by Duc-Long, Le - 2009
8
CÁC THÀNH PHẦN CƠ BẢN
Thuộc tính (Attributes)
+ Kí hiệu:
A1
+ Đặc điểm:
-Diễn tả các thuộc tính thành phần của thực thể
hay mối kết hợp. Đồng thời tất cả các thông tin mở rộng
đều được biểu diễn dưới dạng thuộc tính.
Thuộc tính
MANV
Thuộc tính
khoá
QUANHE
NGSINH
LUONG
DCHI
NGSINH
HONV
TENNV
NHANVIEN
THANNHAN
PHAI
TENTN
PHAI
Edited by Duc-Long, Le - 2009
9
Thuộc tính khóa
Khóa chính
Các thực thể trong tập thực thể cần
phải đƣợc phân biệt
Khóa K của tập thực thể E là một
hay nhiều thuộc tính sao cho
Lấy ra 2 thực thể bất kỳ e1, và e2 trong E
Thì e1 và e2 không thể có các giá trị giống nhau tại
các thuộc tính trong K
Chú ý
Mỗi tập thực thể phải có 1 khóa
Một khóa có thể có 1 hay nhiều thuộc tính
Edited by Duc-Long, Le - 2009
10
Ví dụ thuộc tính khóa
MANV
NGSINH
LUONG
DCHI
MAPHG
TENPB
HONV
TENNV
NHANVIEN
Lam_viec
PHONGBAN
PHAI
La_truong_phong
Phu_trach
DDIEM_DA
Phan_cong
DEAN
TENDA
MADA
Edited by Duc-Long, Le - 2009
11
CÁC THÀNH PHẦN CƠ BẢN
Mối kết hợp (Relationship)
+ Kí hiệu:
+ Đặc điểm:
-Diễn tả mối quan hệ ngữ nghĩa giữa ít nhất 2 thực thể khác nhau
-Biểu diễn quan hệ kết hợp giữa 2 thực thể gọi là mối kết hợp
nhị phân (binary aggregation), ngược lại biểu diễn quan hệ kết
hợp giữa nhiều thực thể (từ 3 trở lên) thì gọi là mối kết hợp đa
phân (n-ary aggregation)
-Có tên gọi riêng
-Số ngôi thuộc mối kết hợp: 2 ngôi hoặc n ngôi
-Có thuộc tính riêng của mối kết hợp
-Khoá hiển nhiên: không cần mô tả được suy từ mô tả mối kết
hợp (tổ hợp khoá)
R
Edited by Duc-Long, Le - 2009
12
Ví dụ mối kết hợp
Ví dụ giữa tập thực thể NHANVIEN và
PHONGBAN có các quan hệ
Một nhân viên thuộc (làm việc ở) một phòng ban nào đó
Một phòng ban có một nhân viên làm trưởng phòng
MANV
NGSINH
LUONG
DCHI
MAPHG
TENPB
HONV
TENNV
NHANVIEN
Lam_viec
PHONGBAN
PHAI
La_truong_phong
Edited by Duc-Long, Le - 2009
13
Cho biết ý nghĩa của các thành
phần trong sơ đồ sau ?
Thực thể ?
Mối kết hợp ?
Thuộc tính ?
Và ý nghĩa .
Moving_date
(1,1)
(0,n)
LIVES__IN
Name
ID card
Profession
Degree
Edited by Duc-Long, Le - 2009
PERSON
CITY
IS_BORN_IN
(0,1)
(0,n)
Birth_date
Name
S
Inhabitans
14
Mối kết hợp - Thể hiện
NHANVIEN
Lam_viec
Mối kết hợp “Lam_viec”
NHANVIEN
PHONGBAN
Thể hiện
PHONGBAN
Tung
Nghien cuu
Hang
Dieu hanh
Vinh
Quan ly
(Tung, Nghien cuu)
(Hang, Dieu hanh)
(Vinh, Quan ly)
Thể hiện CSDL còn chứa các mối quan hệ cụ thể
Cho mối kết hợp R kết nối n tập thực thể E1, E2, …, En
Thể hiện của R là tập hữu hạn các danh sách (e1, e2, …, en)
Trong đó ei là các giá trị được chọn từ các tập thực thể Ei
Edited by Duc-Long, Le - 2009
15
Thể hiện của mô hình E/R
Một CSDL đƣợc mô tả bởi mô hình E/R sẽ
chứa đựng những dữ liệu cụ thể gọi là thể
hiện CSDL
Mỗi tập thực thể sẽ có tập hợp hữu hạn các thực thể
• Giả sử tập thực thể NHANVIEN có các thực thể như NV1, NV2, …,
NVn
Mỗi thực thể sẽ có 1 giá trị cụ thể tại mỗi thuộc tính
• NV1 có TENNV=“Tung”, NGSINH=“08/12/1955”, PHAI=“„Nam”
• NV2 có TENNV= “Hang”, NGSINH=“07/19/1966”, PHAI=“Nu”
Chú ý
Không biểu diễn việc lưu trữ dữ liệu trong mô hình E/R
• Do thể hiện mô hình dữ liệu ở mức quan niệm
Mô hình E/R chỉ giúp để phân tích CSDL trước khi chuyển sang
bước thiết kế dữ liệu ở mức vật lý (quan hệ/ bảng)
Edited by Duc-Long, Le - 2009
16
Mối kết hợp – tính Multiplicity
Xét mối quan hệ nhị phân R (binary
relationship) giữa 2 tập thực thể E và F,
tính multiplicity bao gồm
Một-Nhiều
• Một E có quan hệ với nhiều F
• Một F có quan hệ với một E
E
n
Quan_hệ
1
F
Một-Một
• Một E có quan hệ với một F
• Một F có quan hệ với một E
E
1
Quan_hệ
1
F
Nhiều-Nhiều
• Một E có quan hệ với nhiều F
• Một F có quan hệ với nhiều E
Edited by Duc-Long, Le - 2009
E
n
Quan_hệ
n
F
17
(min, max) chỉ định mỗi thực thể e E
có khả năng tham gia ít nhất và nhiều
nhất vào thể hiện của F
E
(min, max)
(min, max)
R
F
(0,1) – không hoặc 1
(1,1) – duy nhất 1
(0,n) – không hoặc nhiều
(1,n) – một hoặc nhiều
Cách nói là 1 thực thể của E … ít nhất … nhiều nhất … của F
Edited by Duc-Long, Le - 2009
18
Ví dụ
Một phòng ban có nhiều nhân viên
NV
Lam_viec
(1,n)
PB
Một nhân viên chỉ thuộc 1 phòng ban
NV
(1,1)
Lam_viec
PB
Một nhân viên có thể được phân công vào nhiều đề án
hoặc không được phân công vào đề án nào
NV
(0,n)
Phan_cong
DA
Một nhân viên có thể là trưởng phòng của 1 phòng ban nào
đó
(0,1)
NV
Edited by Duc-Long, Le - 2009
La_truong_phong
PB
19
Bản số của mối kết hợp
E
(min, max)
(min, max)
R
F
+ Bản số của ánh xạ giữa các lớp: xem xét kết
hợp R giữa 2 thực thể E, F. Tùy theo giá trị của bản
số tối đa mà có thể có các trường hợp:
-Nếu max-card(E, R) = 1 và max_card(F, R) = 1 R là mối
kết hợp 1-1 (mối kết hợp một - một)
-Nếu max-card(E, R) = n và max_card(F, R) = 1 R là mối
kết hợp n-1 (mối kết hợp nhiều - một)
-Nếu max-card(E, R) = 1 và max_card(F, R) = n R là mối
kết hợp 1-n (mối kết hợp một - nhiều)
-Nếu max-card(E, R) = n và max_card(F, R) = m R là mối
kết hợp n-m (mối kết hợp nhiều - nhiều)
Edited by Duc-Long, Le - 2009
20
CÁC RÀNG BUỘC TRÊN MỐI KẾT HỢP
Mối kết hợp luôn có một số ràng buộc về cấu
trúc nhằm giới hạn khả năng có thể kết hợp
của các thực thể tham gia.
Xuất phát từ ràng buộc của thế giới thực
Có hai loại ràng buộc mối kết hợp chính: ràng
buộc dựa trên bản số (cardinality ratio) và
ràng buộc dựa trên sự tham gia (participation
constraint) thể hiện bởi bản số (min, max)
(1) Cardinality ratio: many-to-many, many-to-one,
one-to-many, one-to-one
(2) Participation constraint: toàn phần – total (phụ
thuộc tồn tại – bắt buộc ) và riêng phần – partial (một
phần)
E
Edited by Duc-Long, Le - 2009
(min,max)
R
(min,max)
F
21
Thiết lập bản số cho ERD?
NGSINH
LUONG
DCHI
TENPHG
HONV
TENNV
NHANVIEN
Lam_viec
PHONGBAN
PHAI
La_truong_phong
Phu_trach
DDIEM_DA
Phan_cong
DEAN
TENDA
Thực thể: NHANVIEN, PHONGBAN, DEAN
Mối kết hợp: Lam_viec, La_truong_phong, Phan_cong
Edited by Duc-Long, Le - 2009
22
TRƯỜNG ĐẠI HỌC SƯ PHẠM TP HCM
KHOA TOÁN – TIN
280, An Dương Vương, Q5, Tp HCM ĐT: (08).8352020 - 8352021
MÔ HÌNH THỰC THỂ - KẾT HỢP
(Entity – Relationship Diagram)
Lê Đức Long
Một số khái niệm khác
Email:
Website:
23
Mối kết hợp phản thân
Một loại thực thể có thể tham gia
nhiều lần vào một quan hệ với nhiều
vai trò khác nhau
NHANVIEN
La nguoi quan ly
Quan_ly
(0,n)
(0,1)
Duoc quan ly boi
Edited by Duc-Long, Le - 2009
24
Thuộc tính trên mối kết hợp
Mối kết hợp có thể có thuộc tính
Thuộc tính trên mối kết hợp mô tả tính
chất cho mối quan hệ đó
Thuộc tính này không thể gắn với những thực
thể tham gia vào mối kết hợp
NHANVIEN
(0,n)
(1,n)
Phan_cong
DEAN
THGIAN
Edited by Duc-Long, Le - 2009
25