Bài giảng chương 03: Mô hình dữ liệu quan hệ

Thuộctính là mộttính chấtriêngbiệtcủamột đốitượngcầnđượcthựchiệnlưu trữtrongCSDLđể phụcvụchoviệckhaithácdữliệuvềđốitượng. Vídụ: ĐốitượngKhoacócácthuộctính Mãkhoa,tên khoa Loạithực thể Lớp- họccómộtsốthuộc tính: Mãlớp,Tênlớp,Niênkhoá,Sốhọcviên Loạithực thể Mônhọc: cóthuộctính Mãmôn, Tênmôn,Sốđơnvịhọctrình

pdf18 trang | Chia sẻ: mamamia | Lượt xem: 1637 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Bài giảng chương 03: Mô hình dữ liệu quan hệ, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
1 21. Thuộc tính Thuộc tính là một tính chất riêng biệt của một đối tượng cần được thực hiện lưu trữ trong CSDL để phục vụ cho việc khai thác dữ liệu về đối tượng. Ví dụ: Đối tượng Khoa có các thuộc tính Mã khoa, tên khoa Loại thực thể Lớp - học có một số thuộc tính: Mã lớp, Tên lớp, Niên khoá, Số học viên Loại thực thể Môn học: có thuộc tính Mã môn, Tên môn, Số đơn vị học trình 3Các thuộc tính đặc trưng bởi: + Tên gọi + Loại + Kiểu giá trí + Miền giá trị 1. Thuộc tính (tt) 4Một quan hệ R có n ngôi được định nghĩa trên tập các thuộc tính U={A1,A2,…,A n} (Thứ tự thuộc tính là không quan trọng) và kèm theo nó là một tân từ, tức là một quy tắc để xác định mối quan hệ giữa các thuộc tính Ai Ký hiệu là R(A1,A2,…,An) Tập thuộc tính của R còn ký hiệu R+ Quan hệ còn được gọi là bảng (table) 2. Quan hệ 52. Quan hệ (tt) Ví dụ 1: Quan hệ Khoa (Mã_khoa,Tên khoa) là quan hệ hai ngôi Tân từ: “Mỗi khoa có một tên gọi và một mã số duy nhất để phân biệt với tất cả các khoa khác của trường” Ví dụ 2: Lớp học (Mã_lớp, Tên_lớp, Niên khoá, Số học viên, Mã khoa) là quan hệ 5 ngôi Tân từ: “Mỗi lớp học trong trường có một mã số quy ước duy nhất để phân biệt với tất cả các lớp học khác trong trường; có tên lớp, số lượng học viên” 62. Quan hệ (tt) Ví dụ 3: Quan hệ Môn học (Mã môn, Tên môn, Số đv học trình) Tân từ: “Mỗi môn học có một tên gọi cụ thể, có số đơn vị học trình và ứng với mỗi môn học là một mã số duy nhất để phân biệt với mọi môn học khác” 73. Bộ Một bộ (tuple) chứa thông tin của một đối tượng thuộc quan hệ. Bộ giá trị cũng thường được gọi là bản ghi hoặc dòng của bảng. Về mặt hình thức, một bộ q là một vectơ gồm n thành phần thuộc tập hợp con của tích Đề-các miền giá trị của các thuộc tính và thoả mãn tân từ đã cho của quan hệ: q=(a1,a2,…,an) (MGT(A1)xMGT(A2)…xMGT(An)) 83. Bộ Ví dụ: Sau đây là 2 bộ giá trị dựa trên các thuộc tính của quan hệ học viên: q1=(SV001, Nguyễn Văn Nam, 27/03/1970, Hà Nội) q2=(SV002, Vũ Tuyết Mai, 26/02/1968, Hải Phòng) Để lấy thành phần Ai (giá trị thuộc tính Ai) của bộ gió trị ta viết q.Ai. Phép trích rút này được gọi là phép chiếu một bộ lên thuộc tính Ai. Q1[Tên học viên]=“Nguyễn Văn Nam” 94. Lược đồ quan hệ Lược đồ quan hệ (relation schema) là sự trừu tượng hoá của quan hệ, một sự trừu tượng hoá ở mức độ cấu trúc của một bảng hai chiều. Lược đồ quan hệ là cấu trúc tổng quát củu một quan hệ, khi đề cập tới quan hệ thì điều đó được hiệu rằng đó là một bảng có cấu trúc cụ thể hoặc một định nghĩa cụ thể trên một lược đồ quan hệ với các bộ giá trị của nó. Lược đồ CSDL là tập hợp các lược đồ quan hệ {Ri} 10 5. Thể hiện của quan hệ Thể hiện (hoặc còn gọi là tình trạng) của quan hệ R, kí hiệu bởi TR là tập hợp các bộ giá trị cả quan hệ R vào một thời điểm. Tại những thời điểm khác nhau thi quan hệ sẽ có những thể hiện khác nhau. VD: Qua hệ lớp học: Mã lớp Tên lớp Niên khoá Số học viên Mã khoa QTKT1 Quản trị kinh doanh 96-99 145 QTKD TKC1 Tài chính kế toán 96-99 220 TCKT 11 6. Khoá Có nhiều cách định nghĩa khoá: Định nghĩa 1: Khoá (Key) của lược đồ quan hệ R định nghĩa trên tập thuộc tính U={A1,A2,…Ân) là một tập con KU thoả mãn tính chất sau: Với mọi bộ q1,q2 của R đều tồn tại một thuộc tính A K sao cho q1.A q2.A Nghĩa là kông tồn tại hia bộ nào có giá trị bằng nhau trên mọi thuộc tính của K q1.K  q2.K 12 6. Khoá Có nhiều cách định nghĩa khoá: Định nghĩa 2: Quan hệ R định nghĩa trên tập các thuộc tính U={A1,A2,…An), KU là khoá của quan hệ R nếu thoả mãn 2 điều kiện sau: 1) K xác định được giá trị của Aj với mọi j=1,2,…n 2) Không tồn tại K’K mà K’ có thể xác định được giá trị của Aj với mọi j=1,2,…,n Nghĩa là K là tập nhỏ nhất mà giá trị của nó có thể xác định duy nhất một bộ giá trị của quan hệ. 13 6. Khoá Khoá ngoại (foreign key): Giả sử có hai quan hệ R và S. Một tập thuộc tính K của quan hệ R được gọi là khoá ngoại của quan hệ R nếu K là khoá nội của quan hệ S. VD: Mã khoa trong quan hệ Lớp học là khoá ngoại vì nó là khoá nội của quan hẹ Khoa. Mã lớp trong quan hệ học viên là khoá khoá ngoại của quan hệ học viên vì nó là khoá nội của quan hệ Lớp học. Siêu khoá: K là siêu khoá của quan hệ R nếu K’ K là một khoá của quan hệ. Một lược đồ quan hệ Q của quan hệ R luôn luôn có ít nhất một siêu khoá và có thể có nhiều siêu khoá. 14 7. Phụ thuộc hàm Quan hệ R được định nghĩa trên tập thuộc tính U={A1,A2,…An), X,Y U là hai tập con của tập thuộc tính U. Nếu tồn tại ánh xa: f:XY, X xác định Y, hay Y phụ thuộc vào X. 15 8. Ràng buộc toàn vẹn Ràng buộc toàn vẹn(RBTV) là một quy tắc định nghĩa trên một (hay nhiều) quan hệ do môi trường ứng dụng quy định. Đó là quy tắc để đảm bảo tính nhất quán của dữ liệu trong CSDL. Ví dụ: Xét quan hệ CCVC(Mã, Họ tên, Hệ số lương) - Quy tắc: Hệ số lương của cán bộ viên chức phải lớn hơn hay bằng 1.00 và nhỏ hơn hay bằng 10.00 16 9. Các thao tác trên quan hệ 9.1. Phép thêm một bộ mới vào quan hệ Việc thêm bộ giá trị mới t vào quan hệ R (A1,A2,…,An) là thể hiện TR của nó tăng thêm một phần tử mới: TR=TR  {t} Dạng hình thức của phép thêm bộ mới là: Insert (R; Ai1=v1,Ai2=v2,…,Aim =vm) Trong đó: Ai1, Ai2,…,Aim là các thuộc tính v1, v2,…,vm là các giá trị thuộc miền giá trị 17 9.2. Phép loại bỏ một bộ khỏi quan hệ Việc loai bỏ (hoặc xóa bỏ) một bộ giá trị t của quan hệ R (A1,A2,…,An) là lấy đi bộ t khỏi thể hiện của quan hệ: TR=TR - {t} Dạng hình thức của phép loại bỏ như sau: Delete (R; Ai1=v1,Ai2=v2,…,Aim =vm) 9. Các thao tác trên quan hệ 18 9.3. Phép sửa đổi giá trị của các thuộc tính của quan hệ Dữ liệu của CSDL cũng cần phải được cập nhật theo thời gian nhằm đảm bảo tín chính xác hoặc nhất quán cua dữ liệu. Update(R,Ai1=c1,Ai2=c2,…,Aim=cm;Ai1=v1, Ai2=v2, Aim=vm) 9. Các thao tác trên quan hệ