Chương 2 – phần 1
Mô hình thực thể - kết hợp
(Entity-Relationship model)
Giáo trình & Tài liệu tham khảo:
1. Ramez Elmasri, Shamkant B. Navathe, 2011. Fundamentals of Database
systems, 6th edition, Addison-Wesley.
2. Giáo trình Cơ sở dữ liệu , Trần Đắc Phiến, ĐH Công nghiệp TPHCM
3. Bộ slide bài giảng của Nguyễn Minh Thư, Khoa CNTT, ĐH KHTN TPHCM
4. Bộ slide bài giảng của Trần Thị Kim Chi, Khoa CNTT, ĐH Công nghiệp TPHCM
Gv. Nguyễn Như Hoa
Nội dung
• Các khái niệm trong Mô hình ER
– Tập thực thể
• Thực thể mạnh / thực thế yếu
– Thuộc tính
• Các loại thuộc tính
– Mối quan hệ
• Bậc của mối quan hệ
• Lượng số của mối quan hệ
• Các bước thiết kế Mô hình ER
• Ví dụ và bài tập
2
Các giai đoạn thiết kế CSDL (nhắc lại)
Thế giới
thực
Phân tích yêu cầu
Giai đoạn 1
Các yêu cầu về dữ liệu
Thiết kế mức quan niệm
Giai đoạn 2 (*)
Lược đồ quan niệm ( ERD )
Thiết kế mức logic
Độc lập HQT
Giai đoạn 3 (*)
Phụ thuộc
HQT cụ thể
Lược đồ logic ( RDB shema )
Thiết kế mức vật lý
Lược đồ trong ( Tables )
Giai đoạn 4
3
Các giai đoạn thiết kế CSDL
Giai đoạn 2
Giai đoạn 3
Mục tiêu của bài học
4
Mô hình thực thể - kết hợp
(Entity-Relationship model)
• Do Peter Chen đề xuất năm 1971
• Được dùng để thiết kế CSDL ở mức quan niệm
• Biểu diễn trừu tượng cấu trúc của CSDL
• Mô hình ER sử dụng 3 khái niệm để mô hình hóa
dữ liệu trong thế giới thực
– Tập thực thể (Entity Sets)
– Thuộc tính (Attributes)
– Mối quan hệ (Relationships)
5
Xét ví dụ
Quản lý kết quả học tập của SV khoa CNTT
• Mô tả bài toán
Khoa CNTT đang xây dựng một Hệ thống quản lý kết quả
học tập của sinh viên.
Hệ thống cần quản lý thông tin về Sinh viên và Môn học.
Thông tin về Sinh viên bao gồm : Mã SV, Họ, Tên, Phái,
Ngày sinh.
Thông tin về Môn học gồm: Mã MH, Tên MH, Số Tín chỉ.
Một sinh viên tham gia học nhiều môn học.
Mỗi môn học , sinh viên có một điểm tổng kết.
6
Xét ví dụ
Quản lý kết quả học tập của SV khoa CNTT
• Dữ diệu cần quản lý ?
Nguyễn Văn
Sơn
01/01/1990
4
Nữ
Lê Minh
Thư
Cau truc du lieu
COSC3320
00208
12/02/1991
4
8
COSC1310
Nhap mon tin hoc
00117
nam
10
7
Xét ví dụ
Quản lý kết quả học tập của SV khoa CNTT
• Xây dựng mô hình
NGSINH
Nguyễn Văn
01/01/1990
Sơn
4
HOSV
Nữ
Lê Minh
Thư
00208
Cau truc du lieu
COSC3320
12/02/1991
TENSV
8
Nhap mon tin hoc
00117
SINHVIEN
4
PHAI
COSC1310
nam
MASV
10
Thuộc tính
Đặt tên cho dữ liệu và gom theo loại đối tượng
Tập Thực thể và các thuộc tính
Tập thực thể
8
Xét ví dụ
Quản lý kết quả học tập của SV khoa CNTT
NGSINH
MASV
MAMH
TENMH
SOTC
HOSV
TENSV
MONHOC
SINHVIEN
PHAI
Ta có Mô hình ER mô tả dữ liệu cần quản lý .
Dựa trên mô hình ER, ở giai đoạn sau, ta thiết kế Database .
Database được sử dụng để lưu dữ liệu .
MONHOC
SINHVIEN
00117
00208
Nguyễn Văn
Lê Minh
Sơn
Thư
01/01/1990
12/02/1991
nam
Nữ
COSC1310
Nhap mon tin hoc
4
COSC3320
Cau truc du lieu
4
9
Xét ví dụ
Quản lý kết quả học tập của SV khoa CNTT
• Mối quan hệ giữa các tập thực thể ?
Sơn
Thư
Lan
Học
COSC1310
COSC3320
Minh
SINHVIEN
MONHOC
Nhận diện mối quan hệ giữa các tập thực thể
10
Xét ví dụ
Quản lý kết quả học tập của SV khoa CNTT
• Mối quan hệ giữa các tập thực thể trong mô
hình ER
NGSINH
MASV
Điểm
MAMH
TENMH
SOTC
HOSV
TENSV
SINHVIEN
Học
MONHOC
PHAI
Mối quan hệ mô tả trong mô hình ER là cơ sở để trả lời câu hỏi :
- Môn học X có những sinh viên nào tham gia ?
- Sinh viên A tham gia học những môn học nào ?
- Điểm của Sinh viên A ở môn học X ?
How ? Sẽ được tìm hiểu ở những chương sau !
11
Xét ví dụ
Quản lý kết quả học tập của SV khoa CNTT
Xem thế giới thực bao gồm :
– Các Đối tượng (người, sự vật, sự kiện, khái niệm, … )
tồn tại trong TG thực
– Các Dữ liệu của đối tượng
– Mối quan hệ giữa các đối tượng
Mô hình ER khái quát thế giới thực qua các khái
niệm :
– tập thực thể
– thuộc tính
– mối quan hệ
12
Tập thực thể
• Một thực thể (Entity) là một đối tượng của thế
giới thực
• Tập hợp các thực thể giống nhau tạo thành 1 tập
thực thể (Entity set)
– Thường mô tả bằng một danh từ
• Trong bài toán quản lý điểm của sinh viên
– Một sinh viên là một thực thể. Tập hợp các sinh viên
là một tập thực thể, đặt tên là SINHVIEN
– Một môn học là một thực thể. Tập hợp các môn học
là một tập thực thể , đặt tên là MONHOC
13
Thuộc tính
• Thuộc tính những đặc tính của tập thực thể
– Thường mô tả bằng một danh từ
• Thuộc tính là tên đặt cho dữ liệu cần lưu trữ
– Tên thuộc tính, loại thuộc tính, kiểu dữ liệu, …
• Ví dụ tập thực thể sinh viên có những thuộc tính
–
–
–
–
Họ tên
Ngày sinh
Địa chỉ
…
14
Mối quan hệ
• Là mối liên kết/liên hệ giữa 2 hay nhiều tập thực thể
– Thường mô tả bằng một động từ
• Ví dụ : giữa tập thực thể SINHVIEN và LOP có mối liên
kết
– Một sinh viên thuộc về một lớp nào đó
– Một lớp có nhiều sinh viên
• Ví dụ : giữa tập thực thể SINHVIEN và MONHOC có mối
liên kết
– Một sinh viên học một hoặc nhiều môn học
– Một môn học có một hoặc nhiều sinh viên
15
Lược đồ thực thể - kết hợp
(Entity-Relationship Diagram)
• Bản vẽ của mô hình ER
• Chứa tập ký hiệu mà mô hình ER sử dụng để
mô tả dữ liệu cần quản lý qua các khái niệm
tập thực thể, thuộc tính, và mối quan hệ
Tên tập thực thể
Tên thuộc tính
Tập thực thể
Thuộc tính
Tên quan hệ
Quan hệ
Đường nối giữa Tập
thực thể và Thuộc
tính, giữa Mối quan
hệ và Tập thực thể
16
Lược đồ thực thể - kết hợp
(Entity-Relationship Diagram)
• Ví dụ : Yêu cầu của hệ thống QL KQHT
Khoa CNTT đang xây dựng một Hệ thống quản lý kết quả học tập của sinh
viên. Hệ thống cần quản lý thông tin về Sinh viên và môn học. Thông tin về
Sinh viên bao gồm : Mã SV, Họ, Tên, Phái, Ngày sinh. Thông tin về Môn học
gồm: Mã MH, Tên MH, Số Tín chỉ. Một sinh viên tham gia học nhiều môn học.
Mỗi môn học , sinh viên có một điểm tổng kết.
=> lược đồ ER của hệ thống QL KQHT
NGSINH
MASV
ĐIEM
MAMH
TENMH
SOTC
HOSV
TENSV
PHAI
SINHVIEN
học
MONHOC
17
Mối quan hệ
Các kiểu liên kết (Bậc của mối liên kết)
• Các kiểu liên kết hay Bậc của mối liên kết
– Liên kết 1 ngôi (unary relationship)
– Liên kết 2 ngôi (binary relationship)
– Liên kết 3 ngôi (ternary relationship)
18
Liên kết 1 ngôi
(unary relationship)
• Là mối quan hệ giữa cùng 1 tập thực thể.
• Còn gọi là mối liên kết đệ quy (recursive
relationship)
19
Liên kết 2 ngôi
(binary relationship)
• Là mối liên kết giữa hai tập thực thể
20
Liên kết 3 ngôi
(ternary relationship)
• Là mối liên kết giữa 3 tập thực thể
21
Mối quan hệ
Lượng số của mối kết hợp (Cardinality)
• Lượng số của A : là số thể hiện của tập thực
thể B mà có thể liên kết với mỗi thể hiện của
tập thực thể A
• Lượng số tối thiểu (min) và Lượng số tối đa
(max)
(Min , Max)
(0,1) – tối thiểu là không , tối đa là 1
(1,1) – duy nhất 1
(0,n) – tối thiểu là không , tối đa là nhiều
(1,n) – tối thiểu là một , tối đa là nhiều
22
Mối quan hệ
Lượng số của mối kết hợp (Cardinality)
Ví dụ
– Một phòng ban có nhiều nhân viên
NHANVIEN
(1,n)
PHONGBAN
Lam_viec
– Một nhân viên chỉ thuộc 1 phòng ban
NHANVIEN
Lam_viec
(1,1)
PHONGBAN
– 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
NHANVIEN
Phan_cong
(0,n)
DUAN
– Một nhân viên có thể là trưởng phòng của 1 phòng
ban nào đó
NHANVIEN
(0,1)
La_truong_phong
PHONGBAN
23
Ví dụ
NHANVIEN
(1,n)
Lam_viec
(1,1)
PHONGBAN
Mỗi phòng ban : Có
tối thiểu 1, và tối đa
n nhân viên
NHANVIEN
(1,n)
Lam_viec
PHONGBAN
Mỗi nhân viên :
thuộc về tối thiểu 1,
và tối đa 1 phòng ban
NHANVIEN
Lam_viec
(1,1)
PHONGBAN
24
Mối quan hệ
Lượng số của mối kết hợp (Cardinality)
Ví dụ
• Một nhân viên chỉ thuộc 1 phòng ban. Một phòng ban có
nhiều nhân viên.
(1,n)
(1,1)
• Một nhân viên chỉ thuộc 1 phòng ban, và một phòng ban
có tối thiểu 4 nhân viên.
(4,n)
(1,1)
• Một giáo viên chỉ dạy tối đa 4 môn học trong một học kỳ.
Giáo viên cũng có thể không tham gia dạy nếu đang đi
học. Một môn học có thể có nhiều giáo viên dạy.
(0,n)
(0,4)
25