Bài giảng Cơ sở dữ liệu - Chương 3: Mô hình dữ liệu quan hệ - Trần Đắc Phi Hùng

pdf 37 trang ngocly 20 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu - Chương 3: Mô hình dữ liệu quan hệ - Trần Đắc Phi Hùng", để 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:

  • pdfbai_giang_co_so_du_lieu_chuong_3_mo_hinh_du_lieu_quan_he_tra.pdf

Nội dung text: Bài giảng Cơ sở dữ liệu - Chương 3: Mô hình dữ liệu quan hệ - Trần Đắc Phi Hùng

  1. Chương 3 Mơ hình dữ liệu quan hệ (The Relational Database Model) 1
  2. Quá trình thiết kế CSDL DBMS Bài Mơ hình Mơ hình tốn E-R CSDL Thực tế Quan hệ DB 2
  3. Giới thiệu  Mơ hình Cơ sở dữ liệu Quan hệ (gọi tắt là Mơ hình Quan hệ) do E.F Codd đề xuất năm 1971.  Mơ hình Quan hệ thể hiện dữ liệu dưới gĩc độ logic. Cung cấp một cấu trúc dữ liệu đơn giản và đồng bộ.  Các Hệ quản trị CSDL quan hệ (RDBMS) được xây dựng dựa trên lý thuyết mơ hình quan hệ. 3
  4. Giới thiệu  Mơ hình này bao gồm: • Các khái niệm nhằm mơ tả dữ liệu dưới dạng dịng và cột như quan hệ, bộ, thuộc tính, khĩa chính, khố ngoại, • Các phép tốn thao tác với dữ liệu: Đại số quan hệ. • Ràng buộc tồn vẹn quan hệ. 4
  5. Quan hệ (Relation) • Các thơng tin lưu trữ trong CSDL được tổ chức thành bảng (table) 2 chiều gọi là quan hệ 5
  6. Quan hệ (Relation) Quan hệ (thể hiện cho một tập thực thể) gồm: - Tên của quan hệ: NHANVIEN. - Tập hợp các cột (thể hiện các thuộc tính): Cố định, được đặt tên, cĩ kiểu dữ liệu riêng. - Tập hợp các dịng (thể hiện một thực thể): cĩ tính chất thay đổi theo thời gian. 1 cột là 1 thuộc tính của nhân viên TENNV HONV NGSINH DCHI PHAI LUONG PHG Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5 Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4 Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4 Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5 1 dịng là 1 nhân viên Tên quan hệ là NHANVIEN 6
  7. Thuộc tính (Attribute)  Tên các cột của quan hệ.  Mơ tả ý nghĩa cho các giá trị tại cột đĩ.  Tất cả các dữ liệu trong cùng 1 một cột đều cĩ chung một kiểu dữ liệu. Thuộc tính TENNV HONV NGSINH DCHI PHAI LUONG PHG Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5 Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4 Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4 Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5 7
  8. Bộ (Tuple) • Là các dịng của quan hệ (trừ dịng tiêu đề - tên của các thuộc tính). • Thể hiện dữ liệu cụ thể của các thuộc tính trong quan hệ. Dữ liệu cụ thể của thuộc tính 8
  9. Bộ (Tuple) * Thứ tự các bộ trong quan hệ là khơng quan trọng HONV TENNV NGSINH DCHI PHAI LUONG PHG Nguyen Tung 12/08/1955 638 NVC Q5 Nam 40000 5 Bui Hang 07/19/1968 332 NTH Q1 Nu 25000 4 Le Nhu 06/20/1951 291 HVH QPN Nu 43000 4 Nguyen Hung 09/15/1962 null Nam 38000 5 • Thứ tự giữa các giá trị trong một bộ là quan trọng Bộ khác Bộ 9
  10. Bộ (Tuple) - Mỗi giá trị trong một bộ: + Hoặc là một giá trị nguyên tố. + Hoặc là một giá trị rỗng (null). - Khơng cĩ bộ nào trùng nhau. 10
  11. Lược đồ (relation schema)  Lược đồ quan hệ:  Ký hiệu: R(A1, A2, , An)  R: Tên của quan hệ.  A1, A2, , An: Danh sách các thuộc tính của quan hệ. Lược đồ quan hệ NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHG) Tập hợp các thuộc tính 11
  12. Lược đồ (relation schema) - Mỗi lược đồ quan hệ luơn kèm một tân từ để diễn tả ý nghĩa của nĩ. Ví dụ:  Tân từ: Mỗi Sinh viên thuộc một khoa, học một mơn học thì cĩ kết quả thi mơn học đĩ.  Ký hiệu: Ketqua( MASV, MAMH, MAKHOA, DIEMTHI) 12
  13. Lược đồ (relation schema) - Lược đồ Cơ sở dữ liệu : Tập hợp các lược đồ quan hệ trong cùng một Cơ sở dữ liệu. Lược đồ CSDL NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHG) PHONGBAN(MAPHG, TENPHG, TRPHG, NG_NHANCHUC) DIADIEM_PHG(MAPHG, DIADIEM) THANNHAN(MA_NVIEN, TENTN, PHAI, NGSINH, QUANHE) DEAN(TENDA, MADA, DDIEM_DA, PHONG) 13
  14. Kiểu dữ liệu và Miền giá trị (Domain) - Các thuộc tính được phân biệt qua tên gọi và phải thuộc vào một kiểu dữ liệu nhất định (số, chuỗi, ngày tháng, logic, hình ảnh, ). Kiểu dữ liệu ở đây là kiểu đơn. Trong cùng một đối tượng không được có hai thuộc tính cùng tên. -Thông thường mỗi thuộc tính chỉ chọn lấy giá trị trong một tập con của kiểu dữ liệu và tập hợp con đó gọi là miền giá trị của thuộc tính đó. - Ví dụ : Thuộc tính ngày trong tháng thì có kiểu dữ liệu là số nguyên, miền giá trị của nó là 1 đến (tối đa là) 31. Điểm thi của sinh viên chỉ là các số nguyên từ 0 đến 10. Họ tên: Tập hợp các dãy chữ cái cĩ độ dài <= 30. Tuổi: Tậ p các số nguyên nằm trong khoảng từ 1 đến 80. Giới tính: Tập hợp gồm hai giá trị “Nam”, “N ữ”. 14
  15. Ký hiệu • Lược đồ quan hệ – Cho A1, A2, , An là các thuộc tính – Cĩ các miền giá trị D1, D2, , Dn tương ứng – Ta cĩ: Ký hiệu: R(A1:D1, A2:D2, , An:Dn) là một lược đồ quan hệ. Bậc của lược đồ quan hệ là số lượng thuộc tính trong lược đồ Ví dụ: NHANVIEN(MANV:integer, TENNV:string, HONV:string, NGSINH:date, DCHI:string, PHAI:string, LUONG:integer, PHONG:integer)  NHANVIEN là một lược đồ bậc 8 mơ tả đối tượng nhân viên  MANV là một thuộc tính cĩ miền giá trị là số nguyên  TENNV là một thuộc tính cĩ miền giá trị là chuỗi ký tự 15
  16. Ký hiệu - Một quan hệ r của lược đồ quan hệ R(A1, A2, , An), ký hiệu r(R), là một tập các bộ r = {t1, t2, , tk} -Trong đĩ mỗi ti là 1 danh sách cĩ thứ tự của n giá trị ti= -Mỗi vj là một phần tử của miền giá trị DOM(Aj) hoặc giá trị rỗng. - Giá trị thứ i của bộ t, tương ứng với thuộc tính Ai được ký hiệu là t[Ai] . TENNV HONV NGSINH DCHI PHAI LUONG PHG t1 Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5 t2 Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4 t3 Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4 t4 Hung Nguyen 09/15/1962 null Nam 38000 5 16 vi
  17. Khĩa (Key) Gọi S là một tập các thuộc tính của lược đồ quan hệ R.  S được gọi là một siêu khĩa (superkey) của lược đồ quan hệ R, nếu với hai bộ bất kỳ trong R thì giá trị của các thuộc tính trong S là khác nhau. 17
  18. Khĩa (Key) * Lược đồ: Monhoc(Mamon, Tenmon, Sotiet) * Quan hệ: rMonhoc Mamon Tenmon Sotiet THVP Tin hoc văn phịng 30 LTC Lập trình C 60 CSDL1 Co so du lieu 45 CSDL2 Co so du lieu 45 Siêu khĩa: {Mamon}, {Mamon, Tenmon}, {Mamon, Sotiet}, {Mamon, Tenmon, Sotiet} 18
  19. Khĩa (Key) * Lược đồ: Ketqua(MaSV, MaMH, Makhoa, Diemthi) * Quan hệ: rKetqua MaSV MaMH Makhoa Diemthi 99001 CSDL CNTT 3.0 99002 CSDL CNTT 8.0 99001 THVP CNTT 6.0 99005 THVP AV 5.0 Siêu khĩa: {MaSV, MaMH}, {MaSV,MaMH,Makhoa}, 19
  20. Khĩa (Key) * Lược đồ: Sinhvien(MaSV, Hoten, Phai, soCMND) * Quan hệ: rSinhvien MaSV Hoten Phai soCMND 99001 Nguyen van anh Nam 01245012 99002 Tran Le Tuan Nam 02209875 99003 Nguyen Thi Hong Nu 04563711 99004 Do van Thuan Nam Siêu khĩa : {MaSV} , {MaSV, Hoten}, , {soCMND} , {soCMND, Hoten}, 20
  21. Khĩa (Key) Gọi S là một tập các thuộc tính của lược đồ quan hệ R.  Siêu khố cĩ ít thuộc tính nhất được gọi là khĩa (Primary key) hay khĩa dự tuyển (candidate key). Một lược đồ quan hệ cĩ thể cĩ nhiều khĩa (khĩa dự tuyển).  Một khĩa được chọn để cài đặt gọi là khĩa chính (primary key). Khơng chứa giá trị NULL.  Khĩa phức (composite key) là khĩa chính cĩ nhiều hơn một thuộc tính 21
  22. Khĩa (Key) * Lược đồ: Sinhvien(MaSV, Hoten, Phai, soCMND) * Quan hệ: rSinhvien MaSV Hoten Phai soCMND 99001 Nguyen van anh Nam 01245012 99002 Tran Le Tuan Nam 02209875 99003 Nguyen Thi Hong Nu 04563711 99004 Do van Thuan Nam Siêu khĩa : {MaSV} , {MaSV, Hoten}, , {soCMND} , {soCMND, Hoten}, Khĩa (khĩa dự tuyển): {MaSV} , {soCMND} Khĩa chính : {MaSV} 22
  23. Khĩa (Key) * Lược đồ: Monhoc(Mamon, Tenmon, Sotiet) * Quan hệ: rMonhoc Mamon Tenmon Sotiet THVP Tin hoc văn phịng 30 LTC Lập trình C 60 CSDL1 Co so du lieu 45 CSDL2 Co so du lieu 45 Siêu khĩa : {Mamon}, {Mamon, Tenmon}, {Mamon, Sotiet}, {Mamon, Tenmon, Sotiet} Khĩa (khĩa dự tuyển, khĩa chính) : {Mamon} 23
  24. Khĩa (Key) * Lược đồ: Ketqua(MaSV, MaMH, Makhoa, Diemthi) * Quan hệ: rKetqua MaSV MaMH Makhoa Diemthi 99001 CSDL CNTT 3.0 99002 CSDL CNTT 8.0 99001 THVP CNTT 6.0 99005 THVP AV 5.0 Siêu khĩa: {MaSV, MaMH}, {MaSV,MaMH,Makhoa}, Khĩa (khĩa dự tuyển, khĩa chính , khĩa phức): {MaSV, MaMH} 24
  25. Khĩa chính (Primary key)  Tính chất: - Khĩa chính là cơ sở để nhận biết các bộ. - Các thuộc tính khĩa chính phải cĩ giá trị khác null. - Các thuộc tính khĩa chính thường được gạch dưới.  Ký hiệu: NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHONG) 25
  26. Khĩa ngoại (Foreign key)  Khố ngoại: Trong trường hợp 2 quan hệ liên kết với nhau thơng qua 1 thuộc tính nếu thuộc tính này đĩng vai trị là khố chính (Primary key) trong một quan hệ đã xác định thì nĩ chính là khố ngoại ( Foreign key ) của quan hệ cịn lại. Tính chất: - Trong một lược đồ quan hệ, một thuộc tính vừa cĩ thể tham gia vào khĩa chính, vừa tham gia vào khĩa ngoại. -Khĩa ngoại cĩ thể tham chiếu đến khĩa chính trên cùng 1 lược đồ quan hệ. -Cĩ thể cĩ nhiều khĩa ngoại tham chiếu đến cùng một khĩa chính. 26
  27. Khĩa ngoại (Foreign key)  Ký hiệu: NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHG) PHONGBAN(TENPHG, MAPHG) Khĩa ngoại Khĩa chính 27
  28. Khĩa ngoại (Foreign key) 28
  29. Khĩa ngoại (Foreign key) TENPHG MAPHG S Nghien cuu 5 Dieu hanh 4 Quan ly 1 TENNV HONV NGSINH DCHI PHAI LUONG PHG Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5 R Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4 Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4 Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5 29
  30. Khĩa ngoại (Foreign key) 30
  31. Các qui tắc chuyển đổi từ mơ hình ER sang mơ hình RL (1) Tập thực thể: – Các tập thực thể (trừ tập thực thể yếu) chuyển thành các quan hệ cĩ cùng tên và tập thuộc tính. MANV LUONG NGSINH DCHI TENPHG MAPHG HONV (1,n) (1,1) TENNV NHANVIEN Lam_viec PHONGBAN PHAI (1,1) (1,1) La_truong_phong PHONGBAN(MAPHG ,TENPHG) NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG) 31
  32. Các qui tắc chuyển đổi từ mơ hình ER sang mơ hình RL (2) Mối quan hệ : Nhiều-Nhiều Tạo một quan hệ mới với: + Tên quan hệ là tên của mối quan hệ + Thuộc tính là những thuộc tính khĩa của các tập thực thể liên quan. DEAN(MADA, TENDA, DDIEM_DA) MANV NGSINH LUONG DCHI DDIEM_D HONV A MADA TENNV NHANVIEN THOIGIAN DEAN TENDA (1,n) (1,n) PHAI Phan_cong PHANCONG(MANV, MADA, THOIGIAN) NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, MAPHG) 32
  33. Các qui tắc chuyển đổi từ mơ hình ER sang mơ hình RL (2) Mối quan hệ: Một-Nhiều - Thêm vào quan-hệ-một thuộc tính khĩa của quan-hệ-nhiều. MANV NGSINH LUON DCHI TENPHG MAPHG G HONV (1,n) (1,1) TENNV NHANVIEN Lam_viec PHONGBAN PHAI NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, MAPHG) PHONGBAN(MAPHG, TENPHG) 33
  34. Mối kết hợp Một-Nhiều Mã học viên Tên học viên M 1 Mã mơn học Địa chỉ HOCVIEN Ghi danh MONHOC Tên mơn học Ngày sinh Thời lượng Số điện thoại Ngày nhập học. Chuyển khĩa chính từ bên một sang làm khĩa ngoại bên nhiều HOCVIEN (Mã học viên, Tên học viên, địa chỉ, ngày sinh, số điện thọai, ngày nhập học, Mã mơn học) MONHOC (Mã mơn học, Tên mơn học, thời lượng ) 34
  35. Các qui tắc chuyển đổi từ mơ hình ER sang mơ hình RL (2) Mối quan hệ: Một-Một - Hoặc thêm vào quan hệ này thuộc tính khĩa của quan hệ kia. - Hoặc thêm thuộc tính khĩa vào cả 2 quan hệ MANV LUONG NGSINH DCHI TENPHG MAPHG HONV NG_NHANCHUC TENNV NHANVIEN PHONGBAN (1,1) (1,1) PHAI La_truong_phong PHONGBAN(MAPHG, TENPHG, MANV, NG_NHANCHUC) 35
  36. Mối kết hợp Một-Một Mã người lái xe Tên Mã bằng lái Địa chỉ NGƯỜI LÁI XE BẰNG LÁI Loại bằng lái 1 1 Ngày hết hạn Ngày sinh Sở hữu (1,1) (1,1) Chuyển khĩa chính từ quan hệ 1 sang quan hệ 2 hoặc ngược lại NGƯỜI LÁI XE (Mã người lái xe, tên, địa chỉ, ngày sinh) BẰNG LÁI (Mã bằng lái, lọai bằng lái, ngày hết hạn, Mã người lái xe) Hay NGƯỜI LÁI XE (Mã người lái xe, tên, địa chỉ, ngày sinh, Mã bằng lái) BẰNG LÁI (Mã bằng lái, lọai bằng lái, ngày hết hạn) 36
  37. Các qui tắc chuyển đổi từ mơ hình ER sang mơ hình RL (3) Thực thể yếu: - Chuyển thành một quan hệ: + Cĩ cùng tên với thực thể yếu. + Thêm vào thuộc tính khĩa của quan hệ liên quan. MANV NGSINH LUONG DCHI HONV (1,n) QUANHE TENNV NHANVIEN Co_than_nhan NGSINH PHAI (1,1) PHAI THANNHAN TENTN THANNHAN(MANV, TENTN, PHAI, NGSINH, QUANHE) 37