Chuyển đổi mô hình E-R sang mô hình quan hệ Input: Mô hình E-R Sơ đồ E-R Output: Mô hình quan hệ Tập các lược đồ quan hệ... Bước 1: Chuyển đổi các tập thực thể thành các bảng các lượ
Trang 1CHUYỂN ĐỔI MÔ HÌNH E-R SANG MÔ HÌNH QUAN HỆ
Trang 2Chuyển đổi mô hình E-R sang mô hình quan hệ
Input: Mô hình E-R (Sơ đồ E-R)
Output: Mô hình quan hệ (Tập các lược đồ quan hệ)
Trang 3Các bước chuyển đổi mô hình
E-R sang mô hình quan hệ
B1: Chuyển đổi các tập thực thể thành các lược đồ quan hệ
B2: Chuyển đổi mối quan hệ Is-a
B3: Chuyển đối mối quan hệ nhị nguyên 1-1
B4: Chuyển đối mối quan hệ nhị nguyên 1-n
B5: Chuyển đối mối quan hệ nhị nguyên n-n
B6: Chuyển đổi các mối quan hệ phản xạ
B7: Chuyển đổi mối quan hệ đa nguyên
Trang 4Bước 1: Chuyển đổi các tập thực thể thành các bảng (các lược đồ quan hệ tương ứng)
Cụ thể: Chuyển đổi mỗi tập thực thể E thành bảng R(E) có cùng tên và cùng tập thuộc tính (đơn trị).
Ví dụ:
Thuộc tính khóa của tập thực thể E trở thành khóa chính của bảng R(E) và có ký hiệu # phía trước
Sinhvien
MaSV HoTen Ngaysinh
SinhVien
#MaSV HoTen Ngaysinh
Trang 5Bước 1 (tt)
Lưu ý:
- Đối với thuộc tính đa trị thì phương pháp chuyển đổi
được thực hiện như sau:
Xét tập thực thể E có thuộc tính A là thuộc tính đa trị Khi
đó ta tạo thêm bảng R(A) (để biểu diễn thuộc tính A) gồm 2 thuộc tính: PKR(A) và A
PKR(A) = PKR(E) ⋃ A
Thiết lập khóa ngoài PKR(E) của bảng R(A) tham chiếu đến khóa chính của R(E).
Trang 6Bước 1 (tt)
Ví dụ:
MaSV HoTen NgaySinh SoThich
1 A 1/1/2001
Karaokê Bơi
TV
2 B 2/2/2002 NhảyTV
1 Karaokê
1 Bơi
1 TV
2 Nhảy
2 TV
Trang 7Bước 2: Chuyển đổi mối quan hệ Is – a
C1: Không sử dụng lược đồ quan hệ biễu diễn lớp cha
Nguoi
SinhVien GiaoVien
DTB
HB
Luong BienChe
IdNguoi HoTen NgaySinh
SinhVien
#MaSV HoTen NgaySinh DTB
HB
GiaoVien
#MaGV HoTen NgaySinh Luong BienChe
Có 2 cách chuyển:
Trang 8Bước 2 (tt)
8
C2: Bổ sung khoá ngoài cho các lược đồ quan hệ biễu diễn lớp con
Nguoi
SinhVien GiaoVien
DTB
HB
Luong BienChe
IdNguoi HoTen NgaySinh
SinhVien
#MaSV
DTB
HB
Nguoi
#IdNguoi HoTen NgaySinh
GiaoVien
#MaGV Luong BienChe
Trang 9Bước 3: Chuyển đổi mối quan hệ nhị nguyên 1-1
Xét mối quan hệ R như sau:
Khi đó: ta sẽ bổ sung 1 khoá ngoài cho R(E) hoặc R(F) (ưu tiên tập thực thể tham gia toàn bộ).
Chẳng hạn: nếu E tham gia toàn bộ
FK là khóa ngoài của R(E) tham chiếu đến khóa chính của R(F)
Trang 10Bước 3 (tt)
Ví dụ:
Lưu ý: Nếu mối quan hệ này có kèm theo thuộc tính thì các thuộc tính
đó sẽ được chuyển thành thuộc tính của R(E) hoặc R(F) (ưu tiên tập thực thể tham gia toàn bộ)
m
MaGV
HT
NS
MaLop TenLop
GiaoVien
#MaGV HT
NS
Lop
#MaLop TenLop MaGV
1 1
Trang 11Bước 4: Chuyển đổi mối quan hệ
nhị nguyên 1-n
Xét mối quan hệ R như sau:
Khi đó: ta sẽ bổ sung 1 khoá ngoài R(F) (phía nhiều).
Trang 12Bước 4 (tt)
Ví dụ:
Lưu ý: Nếu mối quan hệ này có kèm theo thuộc tính thì các thuộc tính
đó sẽ được chuyển thành thuộc tính của R(F) (phía nhiều)
GiaoVien
#MaGV HT
NS Makhoa
Khoa
#Makhoa Tenkhoa
1 n
Trang 13Bước 5: Chuyển đổi mối quan hệ
nhị nguyên n-n
Khi đó ta sẽ bổ sung thêm 1 bảng mới T (cùng tên mối quan hệ R) bao gồm:
Các thuộc tính: U T = PK R(E) ⋃ PK R(F) ⋃ Ω R Với khóa chính là PK T = PK R(E) ⋃ PK R(F)
PK R(E) của T tham chiếu đến R(E),
PK R(F) của T tham chiếu đến R(F).
Xét mối quan hệ R như sau:
Trang 14Bước 5 (tt)
Ví dụ:
MaSV
HT
NS
MaMH TenMH
Diem L1 Diem L2
SV
#MaSV
HT
NS
Thi
#MaSV
#MaMH
Diem L1 Diem L2
MH
#MaMH TenMH
Trang 15Bước 5 (tt)
Lưu ý:
Đối với mối quan hệ 1-1, 1-n ta cũng có thể chuyển đổi tương tự như việc chuyển đổi đối với mối quan hệ n-n Việc chuyển đổi chỉ khác về ràng buộc khoá chính mà thôi.
Ví dụ mối quan hệ 1-1
m
MaGV
HT
NS
MaLop TenLop
GiaoVien
#MaGV HT NS
ChuNhiem
#MaGV MaLop
Lop
#MaLop TenLop
Trong trường hợp này, ta có thể chọn MaLop là khoá chính cũng được
Trang 16Bước 5 (tt)
Lưu ý (tt):
Ví dụ mối quan hệ 1-n
MaSV
HT
NS
MaLop TenLop (1,1) (n,n)
SinhVien
#MaSV HT
NS
HocTai
#MaSV MaLop
Lop
#MaLop TenLop
Trang 17Bước 6: Chuyển đổi mối quan hệ phản xạ
Được thực hiện tương tự như đối với việc chuyển đổi mối quan hệ nhị nguyên 1-1, 1-n, n-n
Ví dụ 1: Xét mối quan hệ phản xạ 1-1
Nguoi Vo(0,1) KetHon
Chong(0,1)
Id_Nguoi
HT
NS
Nguoi
#Id_Nguoi HT
NS Id_VoChong
Trang 18Bước 6 (tt)
Ví dụ 2: Xét mối quan hệ phản xạ 1-n
18
Nguoi Con(0,n) LaCha
Bo(1,1)
Id_Nguoi
HT
NS
Nguoi
#Id_Nguoi HT
NS Id_Bo
Trang 19Bước 6 (tt)
Ví dụ 3: Xét mối quan hệ phản xạ n - n
TGBD
Nguoi YeuAi(0,n) Yêu
AiYeu(0,n)
Id_Nguoi
HT
NS
Nguoi
#Id_Nguoi HT
NS
Yeu
#Id_YeuAi
#Id_AiYeu TGBD
Trang 20Bước 7: Chuyển đổi mối quan hệ đa
nguyên
nguyên n-n.
MaGV
HT
NS
MaMH TenMH
NamHoc
Lop
MaLop TenLop (n,n)
GiaoVien
#MaGV HT
NS
Day
MaGV
#MaLop
#MaMH NamHoc
MH
#MaMH TenMH
Lop
#MaLop TenLop
20