Bài giảng Cơ sở dữ liệu - Bài 2: Mô hình cơ sở dữ liệu quan hệ - Thiều Quang Trung
Nội dung
• Các khái niệm trong mô hình CSDL quan hệ
• Các ràng buộc quan hệ
• Các phép toán trên mô hình quan hệ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu - Bài 2: Mô hình cơ sở dữ liệu quan hệ - Thiều Quang Trung", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Cơ sở dữ liệu - Bài 2: Mô hình cơ sở dữ liệu quan hệ - Thiều Quang Trung
BÀI 2 MÔ HÌNH CSDL QUAN HỆ GV Th.S. Thiều Quang Trung Trường Cao đẳng kinh tế đối ngoại Nội dung • Các khái niệm trong mô hình CSDL quan hệ • Các ràng buộc quan hệ • Các phép toán trên mô hình quan hệ 2 MÔ HÌNH QUAN HỆ Mô hình Cơ sở dữ liệu quan hệ biểu diễn cơ sở dữ liệu như một tập các quan hệ. Mỗi quan hệ là một bảng giá trị, gồm các dòng và cột chứa một tập các giá trị dữ liệu liên quan với nhau. Mô hình cơ sở dữ liệu gồm: Một hệ thống các ký hiệu để 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, khoá ngoại, ... Một tập hợp các phép toán thao tác trên dữ liệu như phép toán tập hợp, phép toán quan hệ. Ràng buộc toàn vẹn quan hệ. 3 MÔ HÌNH QUAN HỆ Khái niệm cơ bản: Miền (Domain): tập các giá trị nguyên tử . Họ tên: Tập ký tự có độ dài <= 30. . Tuổi: Tập các số nguyên từ 1 đến 80. Lược đồ quan hệ R: . 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ệ. Ví dụ: SinhVien(Hoten, MaSo, Ngaysinh, gioitinh, Diachi) 4 MÔ HÌNH QUAN HỆ Một quan hệ r của lược đồ quan hệ R(A1,A2,, An) được ký hiệu là r(R), là tập hợp các n-bộ r = {t1, t2, ..., tn }. Mỗi n-bộ t là một danh sách có thứ tự của n giá trị, t = , trong đó mỗi vi ,1<= i <= n. 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] . 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ệ. 5 MÔ HÌNH QUAN HỆ Quan hệ (Relation): là bảng gồm các dòng (bộ) và các cột (thuộc tính) Thuộc tính Tên của quan hệ N-bộ t 6 MÔ HÌNH QUAN HỆ Siêu khóa: S là tập các thuộc tính 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ộ tùy ý trong quan hệ R thì giá trị của các thuộc tính trong S là khác nhau. Khóa: Siêu khóa có ít thuộc tính nhất. Khóa dự tuyển: là tất cả các khóa của một quan hệ (candidate key). Khóa chính(primary key): một trong các khóa dự tuyển được chọn là khóa tiêu biểu. 7 MÔ HÌNH QUAN HỆ Khóa ngoại (foreign key) là thuộc tính của lược đồ quan hệ này nhưng lại là khóa chính của lược đồ quan hệ khác 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). 8 CÁC RÀNG BUỘC QUAN HỆ Ràng buộc miền giá trị: Giá trị cho phép của một thuộc tính (kiểu dữ liệu). Ràng buộc toàn vẹn thực thể (Entity integrity): Ràng buộc khóa: khóa chính không được trùng và không rỗng Ví dụ: Cho r là một quan hệ của lược đồ quan hệ KHACHHANG ta có ràng buộc toàn vẹn sau t1, t2 r t1. MAKH ≠ t2. MAKH 9 CÁC RÀNG BUỘC QUAN HỆ Ràng buộc toàn vẹn tham chiếu (Referential integrity ): tất cả các giá trị của khóa ngoại (nếu khác null) trong quan hệ bên phía nhiều phải tồn tại trong các giá trị của khóa chính trong quan hệ bên phía một. Ví dụ: r và s là các quan hệ trên lược đồ quan hệ HOADON và KHACHHANG => Ràng buộc toàn vẹn: r[MAKH] s[MAKH] 10 RÀNG BUỘC TOÀN VẸN QUAN HỆ Qui tắc xóa các hàng dữ liệu: Hạn chế (restrict): không cho phép xóa các hàng bên phía cha (parent) nếu tồn tại các hàng liên quan bên phía phụ thuộc (dependent). Tầng (cascade): tự động xóa các hàng bên phía phụ thuộc tương ứng với các hàng bên phía cha. Gán null (set-to-null): gán null cho khóa ngoại của các hàng bên phía phụ thuộc tương ứng với các hàng bên phía cha. Không áp dụng cho các thực thể yếu. 11 RÀNG BUỘC TOÀN VẸN QUAN HỆ Các yếu tố của ràng buộc toàn vẹn Điều kiện: của một ràng buộc toàn vẹn R có thể được biểu diễn bằng ngôn ngữ tự nhiên, thuật giải, ngôn ngữ đại số tập hợp, đại số quan hệ hoặc bằng phụ thuộc hàm. Bối cảnh của một ràng buộc toàn vẹn là những quan hệ mà ràng buộc đó có hiệu lực. Bối cảnh của một ràng buộc toàn vẹn có thể là một hoặc nhiều quan hệ. 12 RÀNG BUỘC TOÀN VẸN QUAN HỆ Bảng tầm ảnh hưởng: xác định thời điểm cần phải tiến hành kiểm tra các ràng buộc toàn vẹn khi cập nhật dữ liệu. Một bảng tầm ảnh hưởng của một ràng buộc toàn vẹn có dạng: Tên quan hệ Thêm(T) Sửa(S) Xóa(X) r1 + - - r2 ... ... .. .. + : thực hiện thao tác có thể làm vi phạm RBTV - : thực hiện thao tác không thể làm vi phạm RBTV 13 PHÂN LOẠI RBTV có bối cảnh trên 1 quan hệ 1. RBTV miền giá trị. 2. RBTV liên thuộc tính 3. RBTV liên bộ RBTV có bối cảnh trên nhiều quan hệ 1. RBTV tham chiếu 2. RBTV liên thuộc tính, liên quan hệ 3. RBTV do thuộc tính tổng hợp 14 RÀNG BUỘC MIỀN GIÁ TRỊ Là tập giá trị mà một thuộc tính có thể nhận. Ví dụ: R1: Giới tính của học viên chỉ là Nam hoặc Nữ Nội dung: hv HOCVIEN( hv.Gioitinh {‘Nam’,’Nữ’}) Bối cảnh: quan hệ HOCVIEN Bảng tầm ảnh hưởng: R1 Thêm Xóa Sửa HOCVIEN + - +(Gioitinh) 15 RÀNG BUỘC LIÊN THUỘC TÍNH Là ràng buộc giữa các thuộc tính với nhau trên 1 bộ của quan hệ Ví dụ: R2: Ngày bắt đầu (TUNGAY) giảng dạy một môn học cho một lớp luôn nhỏ hơn ngày kết thúc (DENNGAY) Nội dung: gd GIANGDAY (gd.TUNGAY < gd.DENNGAY) Bối cảnh : GIANGDAY Bảng tầm ảnh hưởng: R2 Thêm Xóa Sửa GIANGDAY + - +(Tungay, Denngay) 16 RÀNG BUỘC LIÊN BỘ Là ràng buộc giữa các bộ trên cùng một quan hệ. Ví dụ: R3: Tất cả các học viên phải có mã số phân biệt. Nội dung: h1,h2 HOCVIEN(h1 h2 h1.Mahv h2.Mahv) h1 HOCVIEN(Count(h2 HOCVIEN(h2.Mahv=h1.Mahv))(*)=1) Bối cảnh: quan hệ HOCVIEN Bảng tầm ảnh hưởng: R3 Thêm Xóa Sửa HOCVIEN + - -(*) 17 RÀNG BUỘC THAM CHIẾU RBTV tham chiếu còn gọi là ràng buộc phụ thuộc tồn tại hay ràng buộc khóa ngoại Ví dụ: R4: Học viên thi một môn học nào đó thì môn học đó phải có trong danh sách các môn học Nội dung: k KETQUATHI(m MONHOC(k.Mamh= m.Mamh)) Hoặc: KETQUATHI[Mamh] MONHOC[Mamh] Bối cảnh: quan hệ KETQUATHI, MONHOC Bảng tầm ảnh R4 Thêm Xóa Sửa hưởng: KETQUATHI + - -(*) MONHOC - + -(*) 18 RÀNG BUỘC LIÊN QUAN HỆ Là ràng buộc giữa các thuộc tính trên những quan hệ khác nhau. Ví dụ: R5: Ngày giáo viên giảng dạy (Tungay) một môn học phải lớn hơn hoặc bằng ngày giáo viên đó vào làm (Ngvl). Nội dung: gd GIANGDAY (gv GIAOVIEN(gd.Magv=gv.Magv) gv.Ngvl gd.Tungay) Bối cảnh: GIANGDAY, GIAOVIEN 19 RÀNG BUỘC LIÊN QUAN HỆ Bảng tầm ảnh hưởng: R5 Thêm Xóa Sửa GIANGDAY + - +(Tungay) GIAOVIEN - - +(Ngvl) 20 RÀNG BUỘC LIÊN THUỘC TÍNH Ví dụ: R6: Ngày thi một môn học (Ngthi) phải lớn hơn ngày kết thúc học môn học đó (Denngay). Nội dung: kq KETQUATHI (gd GIANGDAY hv HOCVIEN (gd.Malop=hv.Malopkq.Mamh=gd.Mamh) gd.Denngay < kq.Ngthi) Bối cảnh: GIANGDAY, HOCVIEN, KETQUATHI 21 RÀNG BUỘC LIÊN THUỘC TÍNH Bảng tầm ảnh hưởng: R6 Thêm Xóa Sửa HOCVIEN - - +(Malop) GIANGDAY - - +(Denngay) KETQUATHI + - +(Ngthi) 22 ĐẠI SỐ QUAN HỆ Là một mô hình toán học dựa trên lý thuyết tập hợp mà đối tượng xử lý là các quan hệ trong cơ sở dữ liệu quan hệ Cho phép sử dụng các phép toán rút trích dữ liệu từ các quan hệ Tối ưu hóa quá trình rút trích dữ liệu 23 CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ Phép hợp (Union operation): Cho hai lược đồ quan hệ Q1 và Q2 có cùng tập thuộc tính {A1, A2,.., An}, r1 và r2 lần lượt là hai quan hệ trên Q1 và Q2. Phép hợp của hai lược đồ quan hệ Q1 và Q2 sẽ tạo thành một lược đồ quan hệ Q3 được xác định như sau: Q3+= {A1,A2,..,An} r3= r1r2 = {t | t r1 hay t r2} 24 CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ 25 CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ Phép giao (Intersection): Cho hai lược đồ quan hệ Q1 và Q2 có cùng tập thuộc tính {A1,A2,..,An}. r1 và r2 lần lượt là hai quan hệ trên Q1 và Q2. Phép giao của hai lược đồ quan hệ Q1 và Q2 sẽ tạo thành một lược đồ quan hệ Q3 như sau: Q3+={A1,A2,..,An} r3 = r1r2= {t | t r1 và t r2} 26 CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ 27 CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ Phép trừ (Minus, difference): Cho hai lược đồ quan hệ Q1 và Q2 có cùng tập thuộc tính {A1, A2,.., An}, r1 và r2 lần lượt là hai quan hệ trên Q1 và Q2. Phép trừ lược đồ quan hệ Q1 cho Q2 sẽ tạo thành một lược đồ quan hệ Q3 như sau: Q3+={A1,A2,..,An} r3 = r1 - r2= {t | t r1 và t r2} 28 CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ Ví dụ: 29 CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ Tích Descartes (Cartesian Product, product): Cho hai lược đồ quan hệ Q1(A1,A2,..,An), Q2(B1,B2,..,Bm), r1 và r2 lần lượt là hai quan hệ trên Q1 và Q2. Tích Descartes của hai lược đồ quan hệ Q1 và Q2 sẽ tạo thành một lược đồ quan hệ Q3 như sau: Q3+ = Q1+ Q2+= {A1,..., B1,...} r3 = r1 x r2 = {(t1,t2)| t1 r1 và t2 r2} 30 CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ 31 CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ Phép nối (JOIN ): Cho hai lược đồ quan hệ Q1(A1, A2,.., An), Q2(B1, B2,..,Bm), r1 và r2 là hai quan hệ trên Q1 và Q2. Ai và Bj là các thuộc tính của Q1 và Q2 sao cho Miền giá trị(Ai) = Miền giá trị(Bj). là một phép so sánh trên Miền giá trị (Ai). Phép kết Q1 Q2 sẽ tạo thành một lược đồ quan + + hệ Q3 = Q1 ∪ Q2 Bj θAi r3=r1 r2 = {t12|∃t1∈r1, ∃t2∈r2 sao cho t .Q + = t , t .Q + = t , t .Ai θ t .Bj} 12 1 1 12 2 2 1 2 32 CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ Dạng tổng quát của phép nối trên hai quan hệ R(A1, A2,,An) và S(B1,B2,, Bm) là R S Kết quả của phép nối là một quan hệ Q(A1,A2,,An,B1,B2,,Bm) có n+m thuộc tính. Mỗi bộ của Q là một kết nối giữa một bộ của R và một bộ của S khi thoả mãn . 33 CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ Ví dụ: B>=F Nếu được sử dụng trong phép kết là phép so sánh bằng (=) thì ta gọi là phép kết bằng. nếu Ai = Bj thì gọi là phép kết tự nhiên. 34 CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ Phép chọn (SELECT): Phép chọn được sử dụng để chọn một tập hợp các bộ thoả mãn điều kiện chọn từ một quan hệ. Ký hiệu: Ví dụ: 35 CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ Biểu thức logic trong gồm: Tính chất: Tính chất giao hoán Tính kết hợp: 36 CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ Phép chiếu (PROJECT): Phép chiếu là phép toán chọn một số cột của bảng. Ký hiệu: Ví dụ: R 37 CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ Có thể áp dụng nhiều phép toán quan hệ liên tiếp nhau. Ví dụ: xuất ra Họtên và Lương của các Nhânviên làm việc ở đơn vị có Mãsố là 4. π(σ (NHÂNVIÊN)) 38 TÓM TẮT BÀI GIẢNG • Mô hình CSDL quan hệ biểu diễn cơ sở dữ liệu như một tập các quan hệ. • Ràng buộc miền giá trị là giá trị cho phép của một thuộc tính. • Ràng buộc toàn vẹn thực thể là ràng buộc khóa chính không được trùng và không rỗng. • Ràng buộc toàn vẹn tham chiếu là tất cả các giá trị của khóa ngoại trong quan hệ bên phía nhiều phải tồn tại trong các giá trị của khóa chính trong quan hệ bên phía một. • Đại số quan hệ là một mô hình toán học dựa trên lý thuyết tập hợp mà đối tượng xử lý là các quan hệ trong cơ sở dữ liệu quan hệ. • Các phép toán đại số quan hệ gồm: hợp, giao, trừ, tích, nối, chọn, chiếu. 39
File đính kèm:
- bai_giang_co_so_du_lieu_bai_2_mo_hinh_co_so_du_lieu_quan_he.pdf