Trong thực tế, các thực thể không thể tồn tại độc lập mà chúng luôn luôn có quan hệ
mật thiết với nhau. Quan hệ ở đây là mối liên kết giữa một hoặc nhiều thực thể để chỉ ra sự
liên quan về nội dung và ý nghĩa giữa các cá thể trong các thực thể.
Ví dụ như mối quan hệ giữa thực thể “khách hàng” và thực thể “hóa đơn” (khách hàng
mua hàng được liệt kê trong hóa đơn, trong mỗi hóa đơn có tên một khách hàng), mối quan hệ giữa thực thể “sản phẩm” và thực thể “nhà cung cấp” (một sản phẩm được cung cấp bởi một
#Mã NV Họ và tên Ngày sinh Địa chỉ Kỹ năng 1 Kỹ năng 2
VP01 Nguyễn Văn An … … … VP02 Lê Thanh Bình … … … TCCB04 Trần Thu Hà … … … KT12 Vũ Ngọc Hoa … … … … … … … PTIT
số nhà cung cấp và một nhà cung cấp sẽ cung cấp một số loại sản phẩm nào đó). Quan hệ
“Mỗi sinh viên học nhiều môn học, mỗi môn học có nhiều sinh viên tham gia” thể hiện sự liên
kết ý nghĩa của thực thể “Sinh viên” và thực thể “Môn học”.
Khi xác định một quan hệ giữa các cá thể của cùng một thực thể hoặc của hai thực thể thì tất cả các cá thể trong thực thể đều được xét đến quan hệ này (có thể có hoặc không có quan hệ này). Giữa chúng có thể có nhiều quan hệ khác nhau, ví dụ giữa hai thực thể “Nhân
viên” và “Công việc” có quan hệ “Thực hiện”, “Phân công”, “Kiểm tra”… Do đó, việc xác định quan hệ giữa các cá thể của cùng một thực thể hoặc của các thực thể mang tính chọn lọc, chỉ nên quan tâm đến quan hệ nào cần sử dụng trong hệ thống.
Những mối quan hệ như vậy được biểu diễn trên mô hình thực thể bằng hình thoi, bên trong ghi tên quan hệ, các đoạn thẳng nối từ hình thoi với các hình chữ nhật ghi tên các thực thể.
♦ Có hai khái niệm liên quan đến các mối quan hệ giữa các thực thể, đó là bậc quan hệ và kiểu quan hệ.
- Bậc của quan hệ chỉ số lượng thực thể tham gia vào quan hệ đó, cụ thể là:
+ Quan hệ bậc 1 là quan hệ của một cá thể với các cá thể khác thuộc cùng một thực thể. + Quan hệ bậc 2 là quan hệ giữa 2 thực thể. Đây là quan hệ thường gặp trong thực tế. + Quan hệ bậc 3 trở lên được gọi quan hệ bậc cao. Người ta đã chứng minh được rằng mọi quan hệ bậc cao đều biến đổi được về quan hệ bậc 2.
- Kiểu quan hệ liên quan tới mỗi cá thể của một thực thể không liên kết hoặc có liên kết với một hoặc nhiều cá thể của chính nó hoặc của các thực thể khác. Có ba kiểu quan hệ
chính được sử dụng dưới các dạng đơn giản nhất của Mô hình thực thể: + Kiểu quan hệ Một – Một (1-1)
+ Kiểu quan hệ Một – Nhiều (1-N) + Kiểu quan hệ Nhiều – Nhiều (N-N)
Trong mỗi bậc quan hệ đều tồn tại các kiểu quan hệ nêu trên.
4.2.2.1 Quan hệ bậc 1
♦ Kiểu quan hệ 1-1 của quan hệ bậc 1: một cá thể không có quan hệ hoặc chỉ quan hệ
với một cá thể khác thuộc cùng một thực thể.
A R B
A, B: Hai thực thể R : Quan hệ giữa A&B X, Y: Kiểu quan hệ giữa A&B X
Hình 4.7. Biểu diễn mối quan hệ giữa hai thực thể
Y
♦ Kiểu quan hệ 1-N của quan hệ bậc 1:
Trong cùng một thực thể, có hai loại cá thể, loại thứ nhất: mỗi cá thể có quan hệ với nhiều cá thể, loại thứ hai: mỗi cá thể chỉ có quan hệ với duy nhất một cá thể khác mà thôi.
♦ Kiểu quan hệ N-N của quan hệ bậc 1: một cá thể đều có quan hệ với nhiều cá thể
khác thuộc cùng một thực thể.
4.2.2.2 Quan hệ bậc 2
Có hai thực thể tham gia mối quan hệ.
♦ Kiểu quan hệ 1-1 của quan hệ bậc 2
Người ta nói thực thể A có quan hệ 1-1 với thực thể B nếu mỗi cá thể của thực thể A hoặc là không liên kết hoặc là liên kết với chỉ một cá thể của thực thể B và ngược lại, mỗi cá thể của thực thể B hoặc là không liên kết hoặc là liên kết với chỉ một cá thể của thực thể A.
Có 2 cách biểu diễn quan hệ 1-1 được trình bày ở hình 4.11. Nhân viên
Hình 4.9. Quan hệ phụ trách trong thực
thể “Nhân viên”
Ví dụ: Xét thực thể là “Nhân viên” của một
cơ quan. Một nhân viên có thể phụ trách nhiều nhân viên khác, nhưng tại một thời điểm, một nhân viên chỉ chịu sự phụ trách của một nhân viên – là người phụ trách - khác mà thôi. Phụ trách 1 N Được cấu thành Sản phẩm
Hình 4.10. Quan hệ “Được cấu thành”
trong thực thể “Sản phẩm” Ví dụ: Xét thực thể là Sản phẩm, trong đó một sản phẩm được cấu thành từ một số sản phẩm và nó cũng có thể là thành phần của nhiều sản phẩm khác. N N Nhân dân
Hình 4.8. Quan hệ kết hôn trong xã hội
Ví dụ: Tình trạng hôn nhân của mỗi người có
thể là độc thân hoặc đã kết hôn.
Nếu người đó đã kết hôn thì chỉ được kết hôn với duy nhất một người khác.
Kết hôn 1
1
Ví dụ 1. Để quản lý một chung cư, người ta xây dựng hai thực thể “Hộ gia đình” và
“Căn hộ”. Giả sử rằng: mỗi hộ gia đình chỉ sống tại một căn hộ, mỗi căn hộ có thể chưa có hộ gia đình nào sống hoặc nếu có thì chỉ có duy nhất một hộ sống tại đó mà thôi.
Ví dụ 2. Xét hai hai thực thể “Phòng công tác”, “Lãnh đạo phòng” và quan hệ 1-1:
“Một Phòng công tác bao giờ cũng có một Lãnh đạo phòng (Trưởng phòng hoặc Q.Trưởng phòng hoặc Phó phòng – Phụ trách phòng). Một Lãnh đạo phòng thì chắc chắn lãnh đạo một Phòng công tác và chỉ một mà thôi”.
Ví dụ 3. Cho hai thực thể “Nhân viên” và “Name card”. Mỗi nhân viên có (duy nhất)
một bộ Name card và mỗi bộ Name card tương ứng với (duy nhất) một nhân viên.
Lãnh đạo phòng Lãnh đạo Phòng công tác
1
Hình 4.13. Mối quan hệ giữa hai thực thể “Lãnh đạo phòng” và “Phòng công tác”
1
Hộ gia đình Sống tại Căn hộ
1
Hình 4.12. Mối quan hệ giữa hai thực thể “Hộ gia đình” và “Căn hộ”
1
A R B
A, B: Hai thực thể
R: Quan hệ 1-1 giữa A&B 1
Hình 4.11. Biểu diễn mối quan hệ 1-1 giữa hai thực thể A&B
1 thể hiện sự liên kết một cá thể của A với tối đa là một cá thể của B thể hiện sự liên kết một cá thể của B với tối đa là một cá thể của A A B Hình 4.11.b Hình 4.11.a
Hình 4.14. Mối quan hệ giữa hai thực thể “Nhân viên” và “Name card”
Name card
Nhân viên Có
1 1
♦ Kiểu quan hệ 1-N của quan hệ bậc 2
Người ta nói thực thể A có quan hệ 1-N với thực thể B nếu mỗi cá thể của thực thể A liên kết với một hoặc nhiều cá thể của thực thể B và mỗi cá thể của thực thể B chỉ liên kết với một cá thể của thực thể A.
Ngoài cách biểu diễn như hình 4.15.a, quan hệ Một – Nhiều còn được vẽ trong mô
hình thực thể bằng một đường có hình tam giác ở một đầu, ứng với nhiều dòng của một bảng
(thực thể B), còn đầu kia ứng với một dòng ở bảng kia (thực thể A) (Hình 4.15.b).
Ví dụ 1. Xét mối quan hệ giữa 2 thực thể “Khách hàng” và “Hóa đơn”. Một khách hàng
có thể có nhiều hóa đơn mua hàng, nhưng trên mỗi hóa đơn chỉ ghi tên của một khách hàng.
Ví dụ 2. Xét mối quan hệ giữa thực thể “Lớp học” và thực thể “Sinh viên”. Một lớp
học có nhiều sinh viên, nhưng mỗi sinh viên chỉ thuộc một lớp học.
♦ Kiểu quan hệ N-N của quan hệ bậc 2
Người ta nói thực thể A có quan hệ N-N với thực thể B nếu mỗi cá thể của thực thể A liên kết với nhiều cá thể của thực thể B và mỗi cá thể của thực thể B liên kết với nhiều cá thể của thực thể A.
Lớp học Có Sinh viên
1
Hình 4.17. Mối quan hệ giữa hai thực thể
“Lớp học” và “Sinh viên” N Lớp học Sinh viên Khách hàng Có Hóa đơn 1
Hình 4.16. Mối quan hệ giữa hai thực thể
“Khách hàng” và “Hóa đơn” N Khách hàng Hóa đơn A R B 1
Hình 4.15. Biểu diễn mối quan hệ 1-N giữa hai thực thể A&B
N thể hiện sự liên kết một cá thể của A với nhiều cá thể của B thể hiện sự liên kết một cá thể của B với một cá thể của A A B Hình 4.15.a Hình 4.15.b PTIT
Khái niệm “nhiều cá thể” ở đây có thể là 0, 1 hay nhiều cá thể, có nghĩa là: mỗi cá thể của thực thể A liên kết với 0, 1 hay nhiều cá thể của thực thể B và ngược lại, mỗi cá thể của thực thể B liên kết với 0, 1 hay nhiều cá thể của thực thể A.
Ví dụ 1. Xét mối quan hệ giữa thực thể “Sinh viên” và thực thể “Môn học”. Một sinh
viên học nhiều môn học và mỗi môn học có nhiều sinh viên tham gia học tập.
Ví dụ 2. Xét mối quan hệ giữa thực thể “Hóa đơn” và thực thể “Hàng hóa”. Trong một
hóa đơn dùng để thanh toán cho một hoặc nhiều hàng hóa và mỗi một hàng hóa có thể có mặt trong nhiều hóa đơn.
4.2.2.3 Quan hệ bậc 3
Ta xét 3 thực thể là “Nhà cung cấp”, “Hàng hóa” và “Siêu thị”. Quan hệ được xét là nhà cung cấp cung cấp hàng hóa cho các siêu thị.
Hóa đơn Chứa Hàng hóa
N
Hình 4.20. Mối quan hệ giữa hai thực thể
Hóa đơn và Hàng hóa N
Hóa đơn
Hàng hóa
Sinh viên Học Môn học
N
Hình 4.19. Mối quan hệ giữa hai thực thể
“Sinh viên” và “Môn học” N Sinh viên Môn học A R B N
Hình 4.18. Biểu diễn mối quan hệ N-N giữa hai thực thể A&B
N thể hiện sự liên kết một cá thể của A với nhiều cá thể của B thể hiện sự liên kết một cá thể của B với nhiều cá thể của A A B Hình 4.18.a Hình 4.18.b PTIT
Ta có thể biến đổi quan hệ bậc 3 thành các quan hệ bậc 2 bằng cách thay thế quan hệ bậc 3 bằng một thực thể ảo – “Kho hàng” – và xét quan hệ đã có với quan hệ này.
Ta có bảng biến đổi như hình 4.22 sau đây:
♦ Việc mô tả các mối quan hệ giữa các cá thể của cùng một thực thể hoặc của các
thực thể khác nhau phụ thuộc vào kiểu quan hệ.
- Đối với kiểu quan hệ 1-1 và 1-N: Chúng có thể được mô tả bằng một thuộc tính quan hệ ở một thực thể, thuộc tính này là thuộc tính định danh của chính thực thể đó hoặc
của thực thể kia.
Ví dụ. “Mỗi sinh viên thuộc một lớp học”. Có hai thực thể “Sinh viên”, “Lớp học” và
mối quan hệ “Thuộc” được xét đến trong phát biểu trên. Để biểu diễn quan hệ “Thuộc”, ta sử dụng thuộc tính quan hệ “Mã Lớp học” như sau:
Thực thể “Lớp học” có các thuộc tính: #Mã Lớp học, Khóa học, Ngành học, … Thực thể “Sinh viên” có các thuộc tính: #Mã Sinh viên, Họ và tên, …, Mã Lớp học Qua đó, chúng ta sẽ biết một sinh viên thuộc lớp học nào.
Nhà cung cấp
Hàng hóa Chứa
N N
Hình 4.22. Biến đổi quan hệ bậc 3 thành quan hệ bậc 2
Kho hàng Gửi hàng N Siêu thị Chuyển đến N N N Nhà cung cấp Hàng hóa Siêu thị Cung cấp N N N N
Hình 4.21. Quan hệ bậc 3 giữa “Nhà cung cấp”, “Hàng hóa” và “Siêu thị”
- Đối với kiểu quan hệ N-N: cần xây dựng một thực thể quan hệ. Thực thể này thường
có những thuộc tính riêng (trong một số ít trường hợp có thể không có thuộc tính riêng).
Ví dụ 1. “Mỗi sinh viên sau mỗi lần thi một môn học sẽ có một điểm xác định cho lần
thi đó”. Có 2 thực thể “Sinh viên” và “Môn học” được đề cập trong phát biểu; quan hệ “Thi” liên kết 2 thực thể này. “Lần thi” và “Điểm” là dữ liệu phát sinh sau khi thi nên chúng là thuộc tính của quan hệ Thi, không phải là thuộc tính của sinh viên hoặc môn học. Vì một sinh viên S có thể thi nhiều lần đối với một môn học M, nên quan hệ “Thi” cần có nhiều bộ dữ liệu (lần thi, điểm) để mô tả cho mối liên kết (S, M) trong quan hệ “Thi”. Như vậy “Thi” là một thực thể quan hệ, được vẽ trong hình sau:
Ví dụ 2. Có 2 thực thể “Giảng viên” và “Môn học”. Chúng ta muốn xác định “Danh
sách các môn đã giảng dạy của giảng viên”. Khi đó cần xây dựng thực thể quan hệ “Giảng viên – Môn học” với hai thuộc tính quan hệ “Mã giảng viên” và “Mã môn học”. Trong trường hợp này, thực thể quan hệ có thể không chứa các thuộc tính mô tả riêng. Tuy nhiên, giữa giảng viên và môn học có thể quản lý một số thông tin như “Số năm đã dạy”, “Chất lượng giảng dạy” môn học đó…