Chương 2
Mơ hình thực thể-quan hệ
(Entity-Relationship)
Nội dung chi tiết
Q trình thiết kế CSDL
Mơ hình E/R
Thiết kế
Ví dụ
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
2
Q trình thiết kế CSDL (tt)
Thế
giới
thực
Phân tích u
cầu
Các u cầu về chức
năng
Các yêu cầu về dữ
liệu
Phân tích chức năng
Phân tích quan
niệm
Các đặc tả chức năng
Lược đồ quan niệm
Độc lập HQT
Thiết kế mức logic
Lược đồ logic
Thiết kế mức vật
lý
Lược đồ trong
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
Thiết kế
chương trình ứng
dụng
Phụ thuộc
HQT cụ thể
Chương trình ứng
dụng
3
Quá trình thiết kế CSDL
Ý tưởng
E/R thiết kế
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
Lược đồ
quan hệ
HQT CSDL
quan hệ
4
Nội dung chi tiết
Q trình thiết kế CSDL
Mơ hình thực thể - quan hệ
-
Thực thể
Thuộc tính
Mối quan hệ
Lược đồ thực thể - quan hệ
Thực thể yếu
Thiết kế
Ví dụ
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
5
Mơ hình thực thể - quan hệ
(Entity – Relationship)
Mơ hình E-R được đề xuất bởi P. Chen (1976).
Đượ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
Lược đồ thực thể - quan hệ
(Entity-Relationship Diagram)
- Tập thực thể (Entity Sets)
- Thuộc tính (Attributes)
- Mối quan hệ (Relationship)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
6
MƠ HÌNH E-R THƯỜNG ĐƯỢC BIỂU DIỄN
DƯỚI DẠNG SƠ ĐỒ (SƠ ĐỒ E – R).
Các tập
thực thể
Mối quan hệ
Thuộc tính
7
Mơ hình Thực thể - Mối quan hệ
Ví dụ
MaGV
MaKhoa
Khoa
...
GiaoVien
Thuoc
...
Day
MaSV
...
...
MaMH
MonHoc
8
SinhVien
Mơ hình Thực thể - Mối quan hệ
Tập thực thể
Một thực thể là một đối tượng tồn tại và phân biệt
được với các đối tượng khác của thế giới thực
Tập hợp các thực thể “tương tự” nhau tạo thành 1
tập thực thể
Ví dụ: Thực thể: Sinh viên Nguyễn Văn An, Lê Bình
Tập thực thể : Sinh viên
Chú ý
-
Thực thể (Entity)
Đối tượng (Object)
Tập thực thể (Entity set)
Lớp đối tượng (Class of objects)
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
Cấu trúc của dữ
liệu
Thao tác trên dữ
liệu
9
Tập thực thể (tt)
Ví dụ “Quản lý đề án công ty”
- Một nhân viên là một thực thể
- Tập hợp các nhân viên là tập thực thể
- Một đề án là một thực thể
- Tập hợp các đề án là tập thực thể
- Một phòng ban là một thực thể
- Tập hợp các phòng ban là tập thực thể
Lựa chọn các tập thực thể là một bước quan trọng trong
việc xây dựng sơ đồ thực thể - mối quan hệ phản ánh
thông tin quản lý cho một thế giới thực nào đó.
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
10
Thuộc tính
Là những đặc tính riêng biệt của tập thực thể
Ví dụ tập thực thể NHANVIEN có các thuộc tính
-
Họ tên
Ngày sinh
Địa chỉ
…
Miền giá trị
- Kiểu chuỗi
- Kiểu số nguyên
- Kiểu số thực
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
11
Thuộc tính khóa
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
- Có thể có nhiều khóa trong 1 tập thực thể, ta sẽ chọn ra 1
khóa làm khóa chính cho tập thực thể đó
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
12
Ví dụ thuộc tính khóa
MANV
HONV
TENNV
NGSINH
LUON
G
NHANVIEN
DCHI
MAPHG
Lam_viec
TENPB
PHONGBAN
PHAI
La_truong_phon
g
Phu_trach
DDIEM_D
A
Phan_cong
DEAN
TENDA
MADA
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
13
Mối quan hệ
Là sự liên kết giữa 2 hay nhiều tập thực thể
Ví dụ giữa tập thực thể NHANVIEN và PHONGBAN
có các liên kết
- Một nhân viên thuộ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
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
14
Lược đồ E/R
Là đồ thị biểu diễn các tập thực thể, thuộc tính và
mối quan hệ
- Đỉnh
Tên tập thực thể
Tập thực thể
Tên thuộc tính
Thuộc tính
Tên quan hệ
Quan hệ
- Cạnh là đường nối giữa
Tập thực thể và thuộc tính
Mối quan hệ và tập thực thể
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
15
Ví dụ lược đồ E/R
NGSINH
HONV
TENNV
LUON
G
NHANVIEN
DCHI
TENPHG
Lam_viec
PHONGBAN
PHAI
La_truong_phon
g
Phu_trach
DDIEM_D
A
Phan_cong
DEAN
TENDA
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
16
Thể hiện của lược đồ E/R
Một CSDL được mô tả bởi lược đồ 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ư NV 1, 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 lưu trữ lược đồ E/R trong CSDL
Khái niệm trừu tượng
- Lược đồ E/R chỉ giúp ta thiết kế CSDL trước khi chuyển
các quan hệ và dữ liệu xuống mức vật lý
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
17
MỐI QUAN HỆ
Một mối quan hệ trong mơ hình E - R biểu thị
quan hệ giữa các thực thể của các tập thực thể.
Mối quan hệ R giữa hai tập thực thể E1 và E2
được biểu diễn trong sơ đồ E - R như sau:
E1
E2
R
Biểu diễn một mối quan hệ:
- Trong sơ đồ ER: Hình thoi
- Trên một CSDL minh họa: Các đường nối giữa
các thực thể của các tập thực thể
18
Mơ hình Thực thể - Mối quan hệ
MỐI QUAN HỆ
Mối quan hệ R trên các tập thực thể E1, E2,...,
En là một tập con của tích Descartes E1 E2
... En.
Một mối quan hệ có thể được mơ tả thơng qua
ngữ nghĩa của thế giới thực.
Ví dụ: Xét 2 tập thực thể Sinhvien (tập các
thực thể sinh viên) và Lớp (tập các thực thể
lớp học) có mối quan hệ Hoctai với ngữ nghĩa
như sau:
(s, l) Hoctai <=> Sinh viên s học tại lớp l.
19
Mơ hình Thực thể - Mối quan hệ
LƯU Ý RÀNG BUỘC VỀ CÁC BẢN SỐ
CỦA MỘT MỐI QUAN HỆ
Trên mỗi cung nối giữa hình chữ nhật và hình thoi
phải có cặp (min, max) được gọi là bản số của mối
quan hệ. Nếu min/max lớn hơn 1, ta có thể viết tắt là
n.
Để xác định một mối quan hệ nhị nguyên là thuộc
loại nào (1-1, 1-n/n-1 hay n-n), ta cần dựa vào bản
số. Cụ thể:
E1
(min1,max1)
(min2,max2)
R
E2
Mối quan hệ R giữa E1 và E2 là mối quan hệ:
max2 - max1
20
Mơ hình Thực thể - Mối quan hệ
Mối quan hệ - Thể hiện
Thể hiện CSDL còn chứa các mối quan hệ cụ thể
- Cho mối quan hệ 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
Xét mối quan hệ
NHANVIEN
Lam_viec
NHANVIEN
PHONGBAN
Tung
Nghien cuu
Hang
Dieu hanh
Vinh
Quan ly
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
PHONGBAN
(Tung, Nghien cuu)
(Hang, Dieu hanh)
(Vinh, Quan ly)
21
PHÂN LOẠI MỐI QUAN HỆ
Mối quan hệ nhị nguyên
Mối quan hệ Is-a (mối quan hệ kế thừa)
Mối quan hệ phản xạ (mối quan hệ đệ quy)
Mối quan hệ đa ngun
22
Mơ hình Thực thể - Mối quan hệ
MỐI QUAN HỆ NHỊ NGUYÊN
Mối quan hệ 1-1
Mối quan hệ 1-n/n-1
Mối quan hệ n-n
23
Mơ hình Thực thể - Mối quan hệ
Mối quan hệ nhị phân
Xét mối quan hệ nhị phân R (binary relationship) giữa
2 tập thực thể E và F:
- 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
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
E
n
Quan_hệ
n
F
24
Thể hiện các mối quan hệ nhị phân
Xét mối quan hệ nhị phân R (binary relationship) giữa
2 tập thực thể A và B:
- Một-Một
- Nhiều-Một
- Nhiều-Nhiều
Cơ sở dữ liệu - Khoa CNTT - ĐH KHTN TPHCM
25