Cơ sở dữ liệu - Chuyển đổi mô hình E - R sang mô hình quan hệ

ppt 20 trang vanle 3150
Bạn đang xem tài liệu "Cơ sở dữ liệu - Chuyển đổi mô hình E - R sang mô hình quan hệ", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptco_so_du_lieu_chuyen_doi_mo_hinh_e_r_sang_mo_hinh_quan_he.ppt

Nội dung text: Cơ sở dữ liệu - Chuyển đổi mô hình E - R sang mô hình quan hệ

  1. CHUYỂN ĐỔI MÔ HÌNH E-R SANG MÔ HÌNH QUAN HỆ
  2. 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ệ) 2
  3. Cá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
  4. Bướ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ụ: MaSV SinhVien #MaSV Sinhvien HoTen HoTen Ngaysinh Ngaysinh 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 4
  5. Bướ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). SV SoThich MaSV 1 n HoTen #MaSV #MaSV SV NgaySinh HoTen #ST Sothich NgaySinh 5
  6. Bước 1 (tt) SV SoThich MaSV 1 n HoTen #MaSV #MaSV SV NgaySinh HoTen #ST Sothich NgaySinh Ví dụ: MaSV HoTen NgaySinh SoThich MaSV ST Karaokê 1 Karaokê 1 A 1/1/2001 Bơi 1 Bơi TV 1 TV Nhảy 2 B 2/2/2002 TV 2 Nhảy 2 TV 6
  7. Bước 2: Chuyển đổi mối quan hệ Is – a IdNguoi Nguoi HoTen NgaySinh DTB Luong SinhVien HB GiaoVien BienChe Có 2 cách chuyển: C1: Không sử dụng lược đồ quan hệ biễu diễn lớp cha SinhVien GiaoVien #MaSV #MaGV HoTen HoTen NgaySinh NgaySinh DTB Luong HB BienChe 7
  8. Bước 2 (tt) IdNguoi Nguoi HoTen NgaySinh DTB Luong SinhVien HB GiaoVien BienChe C2: Bổ sung khoá ngoài cho các lược đồ quan hệ biễu diễn lớp con SinhVien Nguoi GiaoVien #MaSV #IdNguoi #MaGV DTB HoTen Luong HB NgaySinh BienChe 8
  9. Bước 3: Chuyển đổi mối quan hệ nhị nguyên 1-1 Xét mối quan hệ R như sau: (?,1) (?,1) E R F 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ộ R(E) R(F) . FK là khóa ngoài của R(E) 1 tham chiếu đến khóa chính . #PKR(F) . của R(F) . 1 FK 9
  10. Bước 3 (tt) Ví dụ: MaGV (0,1) (1,1) MaLop HT GiaoVien ChuNhie Lop m TenLop NS GiaoVien 1 Lop #MaGV #MaLop HT TenLop 1 NS MaGV 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ộ)
  11. Bước 4: Chuyển đổi mối quan hệ nhị nguyên 1-n Xét mối quan hệ R như sau: (?,n) (?,1) E R F “phía 1” “phía nhiều” Khi đó: ta sẽ bổ sung 1 khoá ngoài R(F) (phía nhiều). 11
  12. Bước 4 (tt) Ví dụ: (1,n) (1,1) GiaoVien Thuộc Khoa GiaoVien Khoa #MaGV #Makhoa HT 1 Tenkhoa NS n Makhoa 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)
  13. Bước 5: Chuyển đổi mối quan hệ nhị nguyên n-n Xét mối quan hệ R như sau: (?,n) (?,n) E R F 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: UT = PKR(E) ⋃ PKR(F) ⋃ ΩR Với khóa chính là PKT = PKR(E) ⋃ PKR(F) PKR(E) của T tham chiếu đến R(E), PKR(F) của T tham chiếu đến R(F). 13
  14. Bước 5 (tt) Ví dụ: MaSV (1,n) (1,n) MaMH HT SV Thi MH TenMH NS Diem L1 Diem L2 SV Thi MH #MaSV #MaSV #MaMH HT #MaMH TenMH NS Diem L1 Diem L2
  15. Bướ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 MaGV MaLop (0,1) (1,1) HT GiaoVien ChuNhie Lop m TenLop NS GiaoVien ChuNhiem Lop #MaGV #MaGV #MaLop HT MaLop TenLop NS Trong trường hợp này, ta có thể chọn MaLop là khoá chính cũng được.
  16. Bước 5 (tt) Lưu ý (tt): Ví dụ mối quan hệ 1-n MaSV (1,1) (n,n) MaLop HT SinhVien HocTai Lop TenLop NS SinhVien HocTai Lop #MaSV #MaSV #MaLop HT MaLop TenLop NS
  17. Bướ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 Id_Nguoi Vo(0,1) HT Nguoi KetHon NS Chong(0,1) Nguoi #Id_Nguoi HT NS Id_VoChong 17
  18. Bước 6 (tt) Ví dụ 2: Xét mối quan hệ phản xạ 1-n Id_Nguoi Con(0,n) HT Nguoi LaCha NS Bo(1,1) Nguoi #Id_Nguoi HT NS Id_Bo 18
  19. Bước 6 (tt) Ví dụ 3: Xét mối quan hệ phản xạ n - n Id_Nguoi YeuAi(0,n) HT Nguoi Yêu TGBD NS AiYeu(0,n) Nguoi Yeu #Id_Nguoi #Id_YeuAi HT #Id_AiYeu NS TGBD 19
  20. Bước 7: Chuyển đổi mối quan hệ đa nguyên Tương tự như phương pháp chuyển đổi mối quan hệ nhị nguyên n-n. NamHoc MaGV (n,n) (n,n) HT MaMH GiaoVien Day MH TenMH NS (n,n) MaLop Lop TenLop Lop #MaLop Day GiaoVien TenLop MaGV #MaGV #MaLop MH HT #MaMH NS #MaMH NamHoc TenMH 20