Bài giảng Cơ sở dữ liệu: Mô hình thực thể kết hợp cung cấp cho người học các kiến thức: Mô hình thực thể - kết hợp, các thành phần cơ bản, thể hiện của mô hình E/R, bản số của mối kết hợp, thuộc tính trên mối kết hợp,... Mời các bạn cùng tham khảo.
Trang 1TRƯỜ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
Lê Đức Long
Email: longld@math.hcmup.edu.vn
CƠ SỞ DỮ LIỆU
Trang 2NỘI DUNG TRÌNH BÀY
Trang 3Một số quy ƣớc trên slide
Tắt màn hình máy tính
Trang 4TRƯỜNG ĐẠI HỌC SƯ PHẠM TP HCM
KHOA TOÁN – TIN
Trang 5Tác động bên ngoài
Thông lượngđầu ra(Dữ liệu + Thông tin)
Mơ hình thực thể - kết hợp (ERD – P.P.Chen, 1976)
Yêu cầu của
thế giới
thực
Mơ hình dữ liệu diễn đạt dữ liệu
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
Trang 6Mô hình thực thể - kết hợp
(mô hình hoá thế giới thực)
Trang 7Thực thể (Entity)
E
+ Kí hiệu:
+ Đặ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)
CÁC THÀNH PHẦN CƠ BẢN
Trang 8Thự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,
Trang 9THANNHAN
TENTN PHAI NGSINH QUANHE
Thuộc tính
Thuộc tính
khoá
CÁC THÀNH PHẦN CƠ BẢN
Trang 10 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
Khóa chính
Trang 11MAPHG
MADA
Trang 12+ 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á)
Mối kết hợp (Relationship)
R
CÁC THÀNH PHẦN CƠ BẢN
Trang 13 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
Trang 14Cho biết ý nghĩa của các thành
phần trong sơ đồ sau ?
PERSON IS_BORN_IN CITY
Trang 15Mối kết hợp - Thể hiện
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
NHANVIEN PHONGBAN
Tung Hang
Nghien cuu Dieu hanh Vinh Quan ly
(Tung, Nghien cuu) (Hang, Dieu hanh) (Vinh, Quan ly)
Lam_viec
Thể hiện Mối kết hợp “Lam_viec”
Trang 16Thể 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)
Trang 17• Một E có quan hệ với nhiều F
• Một F có quan hệ với nhiều E
Trang 18 (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
(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
E (min, max) R (min, max) F
Cách nói là 1 thực thể của E … ít nhất … nhiều nhất … của F
Trang 19 Ví dụ
Một phòng ban có nhiều nhân viên
Một nhân viên chỉ thuộc 1 phòng ban
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
Một nhân viên có thể là trưởng phòng của 1 phòng ban nào
Trang 20+ 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
-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)
E (min, max) R (min, max) F
Trang 21CÁ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)
Trang 22Thiết lập bản số cho ERD?
Thực thể: NHANVIEN, PHONGBAN, DEAN
Mối kết hợp: Lam_viec, La_truong_phong, Phan_cong
Trang 23TRƯỜNG ĐẠI HỌC SƯ PHẠM TP HCM
KHOA TOÁN – TIN
Trang 24Mối kết hợp phản thân
nhiều lần vào một quan hệ với nhiều
Trang 25Thuộc tính trên mối kết hợp
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) Phan_cong (1,n) DEAN
THGIAN
Trang 26Tập thực thể yếu
Là thực thể mà khóa có được từ những thuộc
tính của tập thực thể khác
Thực thể yếu (weak entity set) phải tham gia
vào mối quan hệ mà trong đó có một tập thực thể chính
QUANHE
Co_than_nhan
(1,1) (0,n)
TẬP THỰC THỂ YẾU
Weak E
Trang 27MAHH DGIA TENHH
(1,1) (1,n)
Trang 28Tổng quát hoá/ chuyên biệt hoá
Draft_
status
Maiden _name
Các thuộc tính Name, Address của thực thể PERSON, cũng là thuộc
tính của thực thể MALE và FEMALE Ngoài ra, mỗi thực thể tập con
MALE, FEMALE cũng có thuộc tính riêng của mình là Draft_status và
Maiden_name
-PERSON : thực thể ở mức tổng quát hoá (thể hiện các thuộc
tính chung)
-MALE, FEMALE: thực thể ở mức chuyên biệt hoá (thể hiện các
thuộc tính đặc thù riêng cho từng loại
Trang 29TRƯỜNG ĐẠI HỌC SƯ PHẠM TP HCM
KHOA TOÁN – TIN
Trang 30Tên thuộc tính Thuộc tính
Tên quan hệ Quan hệ
Trang 31(1, n)(1, 1)
(1, 1)(0, 1) (0, n)
(1, 1)(1, n)
(0, n)
Ví dụ về một ERD
Trang 32CÁC BƯỚC ĐỂ TẠO MỘT ERD
thế giới thực con người, nơi chốn, đồ vật, hay
biến cố (phải phân biệt để chọn lựa giữa thực
thể và thuộc tính)
tích hoạt động của công việc để xác định mối
quan hệ tự nhiên
Phân tích mối quan hệ tự nhiên để xét xem sẽ
gồm 1 thể hiện hay n thể hiện xác định bản
số
kết hợp, quyết định miền giá trị, thuộc tính
khoá
CASE (Computer Aided Software Engineering)
tool hoặc công cụ vẽ Visio, …
Trang 33TRƯỜNG ĐẠI HỌC SƯ PHẠM TP HCM
KHOA TOÁN – TIN
Trang 34CHUYỂN ĐỔI ERD THÀNH PDM
Bước chuyển đổi từ giai đoạn phân tích sang giai đoạn thiết kế (qui trình công nghệ phần mềm)
Chuyển đổi ERD thành Mô hình vật lý (PDM)
BẢNG (lưu trữ và quản lý bởi DBMS trong các thiết bị lưu trữ)
Qui tắc:
Thực thể quan hệ
Mối kết hợp quan hệ hoặc không là quan hệ tuỳ theo bản số
• 1 – n : chuyển thành quan hệ cha – con với ràng buộc khoá ngoại
• n – n: chuyển mối kết hợp thành một quan hệ
• 1 – 1:
– Hoặc thêm vào quan hệ này thuộc tính khóa của quan hệ kia – Hoặc thêm thuộc tính khóa vào cả 2 quan hệ
Ràng buộc khoá chính, ràng buộc khoá ngoại
Qui tắc vẽ các đường tham chiếu giữa các quan hệ
Trang 35MÔ HÌNH VẬT LÝ (PDM)
Có nhiều phương pháp, nhiều đề nghị khác nhau về
việc mô tả thông tin của thành phần dữ liệu trong
giai đoạn thiết kế
Để biểu diễn các thông tin tổng quát về bảng thuộc
tính, miền giá trị mô tả chi tiết các thành phần ta
dùng mô hình vật lý (Physical Data Model – PDM).
Mô hình vật lý này sẽ được xây dựng dựa trên mô
hình ER đã có ở giai đoạn phân tích, kèm theo vài
thay đổi tùy theo người thiết kế. Nguyên tắc chuyển
đổi từ mô hình ER sang mô hình vật lý dựa trên mối
kết hợp giữa các thực thể .
Tên Đối tượng, quan hệ, lớp
Xác định duy nhất Xác định duy nhất theo 2 chiều
KÝ HIỆU
Trang 36A 1,1 1,n B A B
Ý nghĩa: một phần tử của B có thể tương ứng với nhiều phần tử của
A, một phần tử của A sẽ xác định duy nhất một phần tử của B
liên kết xác định duy nhất từ A -> B trong mô hình vật lý
Khóa A Khóa B (Khóa nội)
Khóa B b1 (Khóa ngoại)
a1 b2
a2
Mối kết hợp một - nhiều
Trang 37MaSach MaNXB TenSach NgayNhap
1 thể hiện của SACH chỉ có duy nhất 1 thể hiện của NXB.
1 thể hiện của NXB có thể xuất hiện trong nhiều thể hiện của SACH
MaNXB là khoá nội của quan hệ NXB, nhưng là khoá
ngoại của quan hệ SACH
NXB
SACH
Trang 38CAB
mượn
Độc giả mượn Sách
Học sinh Kiểm tra Môn
Mối kết hợp nhiều - nhiều
Ý nghĩa: quan hệ C được phát sinh thêm trong mô hình do mối kết
hợp nhiều - nhiều giữa A và B Thành phần này có liên kết xác định duy nhất A,B
Mô hình thực thể kết hợp (ERD)
Mô hình vật lý (PDM)
Trang 39ID MaSach MaDG NgayMuon NgayTra
Trang 40Phiếu mượn
của 1,1
0,n Tác giả
Tác giả
Mô hình thực thể kết hợp (ERD)
Sơ đồ thực thể kết hợp (ERD)
Mô hình vật lý (PDM)
Trang 41Mối kết hợp một - một
Ý nghĩa: một phần tử của A xác định duy nhất một phần tử của B và
ngược lại -> liên kết xác định duy nhất từ A -> B và từ B -> A trong
mô hình vật lý
Khóa A Khóa B (Khóa nội)
Khóa B Khóa A (Khóa ngoại)
a1 b1
a2 b2
của KQHT 1,1 0,1 HS_Lop
KQHT HS_Lop
của TT_canhan 1,1 1,1 NhanVien
TT_canhan NhanVien
Trang 42A B
Khóa A Khóa B (Khóa nội)
Khóa B Khóa A (Khóa ngoại)
Trang 43 Công ty được tổ chức thành các phòng ban Mỗi phòng ban có một tên duy nhất, mã số phòng ban duy nhất, và một nhân viên quản lý phòng đó Ghi nhận lại ngày nhận chức trưởng phòng Mỗi phòng ban có thể có nhiều địa điểm khác nhau
Mỗi phòng ban chủ trì nhiều đề án, mỗi đề án có tên duy nhất, mã số đề án duy nhất và được triển khai ở một địa điểm
Thông tin nhân viên của công ty được lưu trữ bao gồm mã nhân viên, địa chỉ, lương, phái, và ngày sinh Mỗi nhân viên làm việc ở 1 phòng ban nhưng có thể tham gia nhiều đề án, trong đó đề án không nhất thiết phải do chính phòng ban của nhân viên chủ trì Ghi nhận thông tin về thời gian tham gia
đề án của nhân viên ứng với từng đề án tham gia, và cũng ghi nhận thông tin người quản lý trực tiếp nhân viên
Mỗi nhân viên có thể có nhiều thân nhân, với mỗi thân nhân phải lưu trữ tên, phái, ngày sinh, và mối quan hệ với nhân viên trong công ty
CSDL QUẢN LÝ ĐỀ ÁN CÔNG TY (QLDA)
Theo dõi các thông tin liên quan nhân viên, phòng ban và đề án
Mô tả qua khảo sát
Trang 44 Công ty được tổ chức thành các phòng ban (PHONGBAN) Mỗi phòng ban có một tên (TENPHG), một mã số phòng ban duy nhất (MAPHG) để phân biệt với các phòng ban khác, một nhân viên quản lý phòng đó (trưởng phòng - TRPHG) và ghi nhận ngày nhận chức trưởng phòng (NGNC) Mỗi phòng ban có thể có nhiều địa điểm khác nhau (DIADIEM)
Mỗi phòng ban chủ trì nhiều đề án (DEAN) Mỗi đề án có một tên (TENDA), một mã
số duy nhất (MADA) phân biệt với các đề án khác và được triển khai ở một địa điểm (DDIEM_DA), ngoài ra còn ghi nhận ngày bắt đầu (NGBD_DK) và ngày kết thúc dự kiến( NGKT_DK) của đề án.
Mỗi nhân viên (NHANVIEN) của công ty có: mã nhân viên (MANV),, họ tên (HONV, TENLOT, TENNV), mức lương MLUONG, phái và ngày sinh (PHAI,NGSINH, DCHI), cũng cần lưu trữ người quản lý trực tiếp của nhân viên (không nhất thiết là trưởng phòng, có thể là trưởng nhóm MA_NQL).
Mỗi nhân viên làm việc ở một phòng ban nhưng có thể tham gia nhiều đề án (các
đề án do phòng ban khác chủ trì) với thời gian tham gia đề án trong tuần của nhân viên ứng với từng đề án mà nhân viên đó tham gia (THOIGIAN).
Mỗi nhân viên có thể có nhiều thân nhân (THANNHAN) Với mỗi thân nhân cần lưu trữ m ã thân nhân (MATN), cùng với họ tên, phái, ngày sinh, và mối quan hệ (TENTN, PHAI, NGSINH, QUANHE) với nhân viên trong công ty.
CSDL QUẢN LÝ ĐỀ ÁN CÔNG TY (QLDA)
Theo dõi các thông tin liên quan nhân viên, phòng ban và đề án
YÊU CẦU VẼ MÔ HÌNH ER THỂ HIỆN THẾ GIỚI THỰC
Trang 45MÔ HÌNH ER CỦA CSDL QUẢN
0,n
1,n 1,n
1,n
1,1
1,1 0,n
Trang 46T ENT N PHAI NGSINH QUANHE
VA8 VA50 VA5 DT VA30
<M>
<M>
<M>
DEAN MADA
T ENDA DDIEM_DA NGBD_DK NGKT _DK
VA6 VA50 VA100 D D
Trang 47MÔ HÌNH VẬT LÝ CỦA QLDA
PHONGBAN MAPHG
T ENPHG
T RPHG
NGNC
varchar(4) varchar(100) varchar(8) datetime
<pk>
<fk>
DIADIEM_PHG MAPHG
DIADIEM
varchar(4) varchar(30)
<pk,fk>
<pk>
NHANVIEN MANV
varchar(8) varchar(4)
<pk>
<fk1>
<fk2>
T HANNHAN MAT N
MANV
T ENT N PHAI NGSINH QUANHE
varchar(8) varchar(8) varchar(50) varchar(5) datetime varchar(30)
<pk>
<fk>
DEAN MADA
MAPHG
T ENDA DDIEM_DA NGBD_DK NGKT _DK
varchar(6) varchar(4) varchar(50) varchar(100) datetime datetime
<pk>
<fk>
PHANCONG MANV
MADA
T HOIGIAN
varchar(8) varchar(6) float
<pk,fk1>
<pk,fk2>
Trang 48Mỗi khoa có một mã khoa (MAKHOA) để phân biệt với các khoa khác, tên
năm học hiện tại (NAM) là một trong các năm từ 1 đến 4.
(MAMH_TRUOC)
về khoa mà sinh viên đang theo học Ứng với một học phần mà sinh viên
YÊU CẦU VẼ MÔ HÌNH ER THỂ HIỆN THẾ GIỚI THỰC CSDL QUẢN LÝ SINH VIÊN (QLSV)
Theo dõi các thông tin liên quan sinh viên, học phần và kết quả ktra môn học
Trang 49MÔ HÌNH ER CỦA CSDL QUẢN
LÝ SINH VIÊN (QLSV)
Trang 50TRƯỜNG ĐẠI HỌC SƯ PHẠM TP HCM
KHOA TOÁN – TIN