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ệ

pdf 40 trang phuongnguyen 4600
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 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.Malopkq.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= r1r2 = {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 = r1r2= {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:

  • pdfbai_giang_co_so_du_lieu_bai_2_mo_hinh_co_so_du_lieu_quan_he.pdf