intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Chương 4: MÔ HÌNH QUAN HỆ - RELATIONAL MODEL

Chia sẻ: Trần Công Chính | Ngày: | Loại File: PPT | Số trang:64

749
lượt xem
108
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Quan hệ (relation) là một bảng dữ liệu hai chiều gồm nhiều hàng (mẫu tin hay bản ghi) và nhiều cột (thuộc tính hoặc vùng tin). Mỗi cột tương ứng với một thuộc tính của thực thể. Mỗi dòng chứa các giá trị dữ liệu của một đối tượng cụ thể thuộc thực thể.

Chủ đề:
Lưu

Nội dung Text: Chương 4: MÔ HÌNH QUAN HỆ - RELATIONAL MODEL

  1. Chương 4 MÔ HÌNH QUAN HỆ - RELATIONAL MODEL
  2. Nội dung  Các định nghĩa cơ bản của mô hình dữ liệu quan hệ  Quan hệ  Lược đồ quan hệ  Quan hệ toán học  Lược đồ quan hệ và quan hệ  Khóa quan hệ  Ràng buộc toàn vẹn  Chuyển mô hình thực thể kết hợp sang mô hình quan hệ 2
  3. Mô hình dữ liệu quan hệ (Relational data model)  Được đề xuất bởi E.F. Codd năm 1970.  Mô hình này bao gồm:  Các khái niệm liên quan đến cấu trúc 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óa ngoại, ...  Được xây dựng trên cơ sở của phép toán tập hợp và phép toán quan hệ.  Ràng buộc toàn vẹn quan hệ.  Các HQTCSDLQH được xây dựng dựa theo lý thuyết mô hình quan hệ  Nhưng hiện nay DBMS bắt đầu theo hướng đối tượng 3
  4. Mô hình dữ liệu quan hệ (Relational data model)  Quan hệ (relation) là một bảng dữ liệu hai chiều gồm nhiều hàng (mẫu tin hay bản ghi) và nhiều cột (thuộc tính hoặc vùng tin). Mỗi cột tương ứng với một thuộc tính của thực thể. Mỗi dòng chứa các giá trị dữ liệu của một đối tượng cụ thể thuộc thực thể  Mỗi hàng là duy nhất: không thể có hai hàng có cùng các giá trị ở tất cả vùng tin.  Thứ tự của các hàng và cột là không quan trọng. MaNV HoTenNV Tuoi NV01 Nguyễn Trung Tiến 25 NV02 Trần Thị Yến 35 NV03 Nguyễn Văn An 40 4
  5. Trực quan về Quan hệ  Ví dụ : Để quản lý điểm sv, nếu ta lưu trữ theo bảng sau thì không đúng với mô hình quan hệ vì Thuộc tính MASV TEN MALOP MAMH TENMH ĐIEM Bộ TCTH01 Sơn TCTHA THVP Tin Học Văn Phòng 6.0 TCTH01 Sơn TCTHA CSDL Cơ Sở Dữ Liệu 5.0 TCTH02 Lan TCTHA CSDL Cơ Sở Dữ Liệu 3.0 • Ta không thể lưu trữ một SV mới khi SV này chưa có điểm thi. • Khi cần sửa đổi ten thì phải sửa tất cả các dòng có liên quan đến SV này. • Khi có nhu cầu xóa điểm thi một SV kéo theo khả năng xóa luôn họ tên Sv đó. • Để lưu trữ đúng mô hình quan hệ, ta có thể lưu trữ thành các bảng Bài 4 TH107 5 như sau
  6. SVIEN Ví dụ về mô hình quan hệ LOP MASV TEN MALOP MALOP TENLOP SISO TCTHA TCTH32A 80 TCTH01 Sơn TCTHA TCTHB TCTH32B 65 TCTH02 Bảo TCTHB TCTHC TCTH32C 82 TCTH03 Trang TCTHA MONHOC KQUA MASV MAMH DIEM MAMH TENMH TINCHI KHOA THVP Nhập môn 4 CNTT TCTH01 THVP 8 TH TCTH01 CSDL 6 CSDL Cấu trúc dữ 4 CNTT TCTH01 CTDL 7 liệu TCTH02 THVP 9 CTDL Toán rời 3 TOAN TCTH02 CSDL 8 rạ c TCTH03 THVP 10
  7. Mô hình dữ liệu quan hệ (Relational data model)  Bộ  Bộ là tập mỗi giá trị liên quan của tất cả các thuộc tính của một lược đồ quan hệ.  Ví dụ quan hệ sau có 2 bộ MA HOTEN PHAI NGAY MA TINH HOC SV SINH LOP BONG 9900 TRAN AN TRUE 15-03- CÑTH2B T GIANG 120000 1 1977 9900 NGUYEN HA TRUE 25-04- TCTH29C TPHCM 120000 2 1986 7
  8. Mô hình dữ liệu quan hệ (Relational data model)  Khóa - key  Khóa quan hệ là một tập nhỏ nhất các thuộc tính dùng để xác định duy nhất một hàng.  Khóa thường được sử dụng làm chỉ mục (index) của bảng dữ liệu để làm tăng tốc độ xử lý của truy vấn.  Một quan hệ phải có ít nhất một khóa và có thể có nhiều khóa.  Các thuộc tính thuộc một khóa được gọi là thuộc tính khóa (prime attribute), các thuộc tính còn lại trong lược đồ quan hệ được gọi là các thuộc tính không khóa (nonprime attribute).  Các thuộc tính khóa được gạch dưới.  Các thuộc tính khóa không được có giá trị rỗng (null value). 8
  9. Lược đồ quan hệ (Relation schema)  Lược đồ quan hệ bao gồm:  Tên quan hệ.  Tên các thuộc tính cùng với tên domain tương ứng.  Các ràng buộc bảo toàn ( integrity constraint): là các hạn chế trên các quan hệ của lược đồ này.  Domain : là 1 tập hợp các giá trị cho phép của 1 hay nhiều thuộc tính, thường là 1 tập con cuả kiểu dữ liệu. Ký hiệu dom(A)  miền trị của thuộc tính A  Ví dụ:  Thuộc tính Address của quan hệ STUDENT có domain là tập hợp các chuỗi.  Thuộc tính điểm có domain là các số thực trong phạm vi từ 0 đến 10.9
  10. Lược đồ quan hệ (relation schema)  Cho A1, A2, .., An là tên các thuộc tính thuộc các miền D1, D2,.., Dn  Lược đồ quan hệ R với 1 tập thuộc tính {A1, A2, .., An} R(A1, A2, .., An)  Gọi U={A1, A2,.., An} là tập các thuộc tính của lược đồ quan hệ R  Mỗi lược đồ quan hệ luôn kèm một tân từ để diễn tả ý nghĩa của nó.  Biểu diễn 1 lược đồ quan hệ: TÊN_QUAN_HỆ( thuộc tính 1, thuộc tính 2,…) Ví dụ : lược đồ quan hệ Employee có 3 thuộc tính NHANVIEN(MANV, Ten, MaPb, Luong) Tân từ: Mỗi nhân viên có một MaNV duy nhất dùng để nhận diện 10 TenNV, MaPB và Lương.
  11. Quan hệ (Relation)  Gọi D = D1 ∪ D2 ∪…∪ Dn  Quan hệ r trên lược đồ quan hệ R được ký hiệu r(R) là một tập hữu hạn các ánh xạ {t1,t2,..,tp} từ R vào D với điều kiện mọi ánh xạ t ∈ r thì t[Ai]∈ Di, 1 ≤ i ≤ n  Quan hệ r là một thể hiện quan hệ (relation instance) của R tại 1 một thời điểm  Mỗi ánh xạ của quan hệ là 1 bộ của quan hệ và được ký hiệu (A1:d1, A2: d2,…,An:dn) với di ∈ Di, 1 ≤ i ≤ n  Thành phần Ai của bộ t được ký hiệu là t[Ai] hoặc t.Ai Quan hệ NHANVIEN trên tập các thuộc tính R={Manv, HoTenNV, Tuoi) là một quan hệ 3 ngôi. MaNV HoTenNV Tuoi t1(NV01, ‘Nguyễn Trung Tiến’, 25) = t1(R) là một bộ của quan hệ 11 NV01 Nguyễn Trung Tiến 25 t1 NHANVIEN
  12. Lược đồ quan hệ (Relation schema)  Lược đồ cơ sở dữ liệu  Trong một lược đồ cơ sở dữ liệu, các tên lược đồ quan hệ là duy nhất. Lược đồ cơ sở dữ liệu: Emp (Empnum, Name, Sal, Tax, Mgrnum, Deptnum) Dept (Deptnum, Name, Area, Mgrnum) Supplier (Snum, Name, City) Supply (Snum, Pnum, Deptnum, Quan) 12
  13. Cơ sở dữ liệu quan hệ (Relational database)  Cơ sở dữ liệu quan hệ (relational database):  Là 1 tập hợp hữu hạn các quan hệ (relations)  Dữ liệu được lưu trữ trong các quan hệ (bảng)  Có nhiều mối quan hệ giữa các bảng SVIEN LOP MASV TEN MALOP MALOP TENLOP SISO TCTHA TCTH32A 80 TCTH01 Sơn TCTHA TCTHB TCTH32B 65 TCTH02 Bảo TCTHB TCTHC TCTH32C 82 TCTH03 Trang TCTHA 13 n 1
  14. Cấu trúc dữ liệu quan hệ (tt)  Bậc (degree): là số lượng các thuộc tính của quan hệ. Số thuộc Bậc của quan hệ tính 1 quan hệ nhất phân (unary relation) 2 quan hệ nhị phân (binary relation) 3 quan hệ tam phân (ternary relation)  n quan hệ s phân (ternary relation) Lượng số (cardinality): nố lượng các bộ của quan hệ. Lượng số sẽ thay đổi khi thêm hay xoá các tuple (hàng). 14
  15. Khoá quan hệ (Relational Keys)  Siêu khoá (superkey) là một thuộc tính hoặc một tập các thuộc tính dùng để xác định duy nhất một bộ của quan hệ  Một siêu khoá có thể chứa thêm các thuộc tính không cần thiết để xác định duy nhất một bộ  Siêu khoá hiển nhiên là tập tất cả các thuộc tính của quan hệ  Ví dụ: Xet 1 lược đồ quan hệ ́ STUDENT (StudentID, FirstName, LastName, BirthDate, Major, SSN, ClassID)  Xac đinh cac siêu khoa có thể có cua R??? ́ ̣ ́ ́ ̉ 15
  16. Các loại khoá quan hệ (Relational Keys)  Khoá dự tuyển (candidate key): là một siêu khoá K mà không có một tập con thực sự bất kỳ K’ ⊂ K lại là một siêu khoá  Tính duy nhất (uniqueness): các giá trị của K trong các bộ của r là duy nhất  Tính tối giản (irreducibility hay minimality) không có tập con thực sự K’ ⊂ K lại có tính duy nhất.  Ví du: khoa dự tuyên cua quan hệ STUDENT??? ̣ ́ ̉ ̉ 16
  17. Các loại khoá quan hệ (Relational Keys)  Khóa đơn (simple key): là khóa có một thuộc tính.  Khóa phức hợp (composite key): là khóa có nhiều hơn một thuộc tính  Khóa chính (primary key): là một khóa dự tuyển được chọn để xác định duy nhất một bộ của quan hệ. Khóa chính có thể chỉ có 1 thuộc tính hay khóa phức hợp.  Ví du: khoa chinh cua quan hệ SINHVIEN??? ̣ ́ ́ ̉ SINHVIEN(Masv, Tensv, Ngaysinh, Phai, Malop) 17
  18. Các loại khoá quan hệ (Relational Keys)  Định nghĩa khóa theo quan hệ toán học:  Khóa (key) của R(U) với U={A1, A2,. . ,Am} là một tập con K= {Aj1, Aj2,…, Ajn} với j1, j2,..jn là các số nguyên phân biệt nằm trong khoảng từ 1 đến m, phải thỏa mãn đồng thời 2 điều kiện sau:  ∀r(R), ∀ t , t ∈ r, nếu t ≠ t thì t[K ] ≠ t[K ] 1 2 1 2 1 2  Không tồn tại K’ ⊂ K sao cho K’ thỏa mãn điều kiện (1) 18
  19. Các loại khoá quan hệ (Relational Keys)  Các khóa dự tuyển (candidate key) còn lại sau khi chọn khóa chính được gọi là khóa khác (alternate key)  Khóa ngoại (foreign key): là 1 thuộc tính hay 1 tập thuộc tính của 1 quan hệ tham chiếu đến khóa dự tuyển của 1 quan hệ khác hay của cùng 1 quan hệ.  Khóa mượn (borrowed key): là 1 khóa dự tuyển có chứa khóa ngoại  Xét cac lược đồ quan hệ sau: ́ Employee(Emp_ID, Name, Dept_Name, Salary) Training(Emp_ID, Course, Date_Completed) Department(Dept_Name, Location,Fax) 19 ́ ̣ ́ ́ ́ ̣ Xac đinh khoa chinh, khoa ngoai ??
  20. Mô hình dữ liệu quan hệ (Relational data model) Ví dụ: Ta hãy xem lược đồ quan hệ sau:  Xe(SODANGBO,QUICACH, HINHDANG,MAUSAC,SOSUON,SOMAY,MAXE,QUOCGIA)  Siêu khóa: (SOSUON,QUICACH),...  Khóa chỉ định: (SODANGBO,QUOCGIA), (SOSUON), (SOMAY), (MAXE)  Khóa chính: MAXE  Thuộc tính khóa: SODANGBO,QUOCGIA, SOSUON, SOMAY, MAXE  Thuộc tính không khóa: QUICACH, HINHDANG, MAUSAC  Khóa của Sv là (MASV), Khoá của Mh là (MAMH), khoá của Kh là (MAKHOA), khóa của Kq là (MASV,MAMH) khóa của Lop là MALOP, trong Lop thuộc tính MAKHOA là khóa ngoại 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2