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

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ệ.

pdf 40 trang yennguyen 4960
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 
2 
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ệ 
3 
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ệ. 
4 
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) 
5 
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ệ. 
6 
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 
7 
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. 
8 
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). 
9 
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 
10 
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] 
11 
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. 
12 
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ệ. 
13 
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 
14 
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 
15 
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) 
16 
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) 
17 
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 + - -(*) 
18 
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 
hưởng: 
R4 Thêm Xóa Sửa 
KETQUATHI + - -(*) 
MONHOC - + -(*) 
19 
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 
20 
RÀNG BUỘC LIÊN QUAN HỆ 
R5 Thêm Xóa Sửa 
GIANGDAY + - +(Tungay) 
GIAOVIEN - - +(Ngvl) 
Bảng tầm ảnh hưởng: 
21 
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 
22 
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) 
23 
ĐẠ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 
24 
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} 
25 
CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ 
26 
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} 
27 
CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ 
28 
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} 
29 
CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ 
 Ví dụ: 
30 
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} 
31 
CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ 
32 
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
+ 
r3=r1 r2 = {t12|∃t1∈r1, ∃t2∈r2 
sao cho t12.Q1
+ = t1, t12.Q2
+ = t2 , t1.Ai θ t2.Bj} 
Bj θAi 
33 
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à 
 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 . 
R S 
34 
CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ 
Ví dụ: 
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. 
B>=F 
35 
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ụ: 
36 
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: 
37 
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 
38 
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)) 
39 
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. 

File đính kèm:

  • pdfbai_giang_co_so_du_lieu_bai_2_mo_hinh_co_so_du_lieu_quan_he.pdf