Bài giảng môn Đại số quan hệ

Mô hình Cơ sở dữ liệu Quan hệ (gọi tắt là Mô

hình Quan hệ) do E.F Codd đề xuất năm 1971

Mô hình Quan hệ thể hiện dữ liệu dưới góc độ logic

Mô hình này bao gồm:

Các khái niệm nhằm 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, .

Các phép toán thao tác với dữ liệu_ Đại số quan hệ

Ràng buộc toàn vẹn quan hệ

Các Hệ quản trị CSDL quan hệ (RDBMS) được xây dựng dựa trên lý thuyết mô hình quan hệ.

Các khái niệm

Quan hệ / bảng

Thuộc tính

Bộ

Lược đồ quan hệ

Khóa

 

ppt 49 trang kimcuc 14700
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng môn Đại số quan hệ", để 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 môn Đại số quan hệ

Bài giảng môn Đại số quan hệ
ĐẠI SỐ QUAN HỆ 
1 
Giới thiệu 
Mô hình Cơ sở dữ liệu Quan hệ (gọi tắt là Mô 
hình Quan hệ) do E.F Codd đề xuất năm 1971 
Mô hình Quan hệ thể hiện dữ liệu dưới góc độ logic 
Mô hình này bao gồm: 
Các khái niệm nhằm 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, ... 
Các phép toán thao tác với dữ liệu_ Đại số quan hệ 
Ràng buộc toàn vẹn quan hệ 
Các Hệ quản trị CSDL quan hệ (RDBMS) được xây dựng dựa trên lý thuyết mô hình quan hệ. 
2 
Các khái niệm 
Quan hệ / bảng 
Thuộc tính 
Bộ 
Lược đồ quan hệ 
Khóa 
3 
Quan hệ 
Dữ liệu lưu trữ trong CSDL Quan hệ được tổ chức thành các Quan hệ (relation) 
Quan hệ (relation) thể hiện ra như là bảng (table) 
Một quan hệ có : 
Một tên 
Tập hợp các thuộc tính (attribute), có tên và kiểu dữ liệu 
Tập hợp các bộ (tuple), có thể thay đổi theo thời gian 
4 
Quan hệ và bảng 
MASV 
MAMH 
MAKHOA 
DIEMTHI 
99001 
CSDL 
CNTT 
3.0 
99002 
CSDL 
CNTT 
8.0 
99001 
THVP 
CNTT 
6.0 
99005 
THVP 
AV 
5.0 
Thuật ngữ tương đương : 
 Quan hệ, bộ, thuộc tính (Relation, tuple, attribute) 
 Bảng, dòng, cột (Table, row, column) 
5 
Thuộc tính 
Một thuộc tính bao gồm : 
Tên thuộc tính 
Tên phân biệt 
Giúp diễn giải ý nghĩa thuộc tính (thuộc tính của thực thể, hay mối kết hợp) 
Kiểu dữ liệu thuộc tính 
Số nguyên, số thực, văn bản, logic, 
Miền giá trị xác định 
Có thể bị áp đặt bởi qui tắc nghiệp vụ, hay ràng buộc dữ liệu 
Có thể NULL 
6 
Bộ và quan hệ 
Mỗi bộ (dòng) là một tổ hợp các giá trị tương ứng với các thuộc tính của quan hệ 
mô tả về một thực thể , hay một mối kết hợp có trong thế giới thực 
Một tập các bộ xác định tại một thời điểm, gọi là một thể hiện của lược đồ quan hệ (hay quan hệ) 
Ký hiệu: r(Ketqua) 
Không có 2 bộ trùng nhau trong một quan hệ 
khóa 
Trật tự của các bộ (và các thuộc tính) là không quan trọng đối với DBMS. 
7 
Lược đồ Quan hệ 
Lược đồ quan hệ - relation schema 
Mô tả cấu trúc của quan hệ 
Các thuộc tính và Mối liên hệ giữa các thuộc tính 
Mỗi lược đồ quan hệ luôn kèm một tân từ để diễn tả ý nghĩa của nó. 
	Vd, tân từ: Mỗi Sinh viên thuộc một khoa, học một môn học thì có kết quả thi môn học đó. 
Ký hiệu: 
	 Ketqua( MASV, MAMH, MAKHOA, DIEMTHI) 
Lược đồ CSDL 
Tập hợp các lược đồ quan hệ trong cùng một CSDL 
8 
Khóa (Key hay candidate key) 
Gọi S là một tập các thuộc tính của lược đồ quan hệ R 
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ộ bất kỳ trong R thì giá trị của các thuộc tính trong S là khác nhau 
Siêu khoá có ít thuộc tính nhất được gọi là khóa (key) hay khóa dự tuyển (candidate key) 
Một lược đồ quan hệ có thể có nhiều khóa (khóa dự tuyển) 
Một khóa được chọn để cài đặt gọi là khóa chính (primary key) 
Không chứa giá trị NULL 
khóa ngoại (foreign key) là thuộc tính của LĐQH này nhưng lại là khóa chính của LĐQH khác 
Khóa phức (composite key) là khóa có nhiều hơn một thuộc tính 
Thuộc tính khóa và thuộc tính không khóa 
9 
Khóa _ ví dụ 1 
Monhoc(Mamon, Tenmon, Sotiet) 
rMonhoc 
Mamon 
Tenmon 
Sotiet 
THVP 
Tin hoc văn phòng 
30 
LTC 
Lập trình C 
60 
CSDL1 
Co so du lieu 
45 
CSDL2 
Co so du lieu 
45 
Siêu khóa : {Mamon}, {Mamon, Tenmon}, {Mamon, Sotiet},	 	 {Mamon, Tenmon, Sotiet} 
Khóa (khóa dự tuyển, khóa chính) : {Mamon} 
10 
Khóa _ ví dụ 2 
Ketqua(MaSV, MaMH, Makhoa, Diemthi) 
rKQ 
MASV 
MAMH 
MAKHOA 
DIEMTHI 
99001 
CSDL 
CNTT 
3.0 
99002 
CSDL 
CNTT 
8.0 
99001 
THVP 
CNTT 
6.0 
99005 
THVP 
AV 
5.0 
Siêu khóa : {MaSV, MaMH}, {MaSV,MaMH,MaKhoa}, 
Khóa (khóa dự tuyển, khóa chính , khóa phức): {MaSV, MaMH} 
Khóa ngoại : {Makhoa} 
11 
Khóa _ ví dụ 3 
Sinhvien(MaSV, Hoten, Phai, soCMND) 
rSV 
MaSV 
Hoten 
Phai 
soCMND 
99001 
Nguyen van anh 
Nam 
01245012 
99002 
Tran Le Tuan 
Nam 
02209875 
99003 
Nguyen Thi Hong 
Nu 
04563711 
99004 
Do van Thuan 
Nam 
Siêu khóa : {MaSV} , {MaSV, Hoten},  , 	 {soCMND} , {soCMND, Hoten}, 
Khóa (khóa dự tuyển): {MaSV} , {soCMND} 
Khóa chính : {MaSV} 
12 
Đại số quan hệ 
Khái niệm 
Các phép toán đại số quan hệ 
Ví dụ 
13 
Giới thiệu 
Đại số quan hệ (và phép tính quan hệ) được định nghĩa bởi Codd 1971 
được xem như là nền tảng của các ngôn ngữ quan hệ khác như SQL 
Là ngôn ngữ thủ tục bậc cao 
Được dùng để chỉ ra cách xây dựng một quan hệ mới từ một hay nhiều quan hệ trong DB 
Bao gồm tập các phép toán thao tác trên các quan hệ 
14 
Các phép toán (operation) 
5 phép toán cơ bản 
Phép chọn (selection) 
Phép chiếu (projection) 
Phép hợp (union) 
Phép trừ (set difference) 
Phép tích Descartes (Cartesian product) 
3 phép toán suy dẫn* 
Phép kết (Join) 
Phép giao (Intersection) 
Phép chia (Division) 
(*Có thể được biểu diễn dưới dạng các phép toán cơ bản) 
15 
Ký hiệu 
Quan hệ r là một thể hiện của lược đồ quan hệ R(A1, A2, , Am) 
Điều kiện F là 1 biểu thức luận lý có giá trị true/false. F bao gồm: 
Các toán hạng là hằng hoặc tên thuộc tính 
Các phép toán so sánh =, , , 
Các phép toán luận lý not (), and (), or () 
16 
Phép chọn (selection) 
Phép chọn trên quan hệ r(R) theo điều kiện F, ký hiệu là r(F) hay r:F , cho kết quả là 1 quan hệ bao gồm các bộ của r thỏa mãn điều kiện F 
r(F) = r:F = { t |t r và F(t) = true } 
17 
* Phép chọn và phép chiếu là phép toán một toán hạng 
17 
Phép chọn (selection) – ví dụ 1 
Relation r 
A 
B 
C 
D 
 
 
 
 
 
1 
5 
12 
23 
7 
7 
3 
10 
r(A=B ^ D>5) 
A 
B 
C 
D 
 
 
1 
23 
7 
10 
r(A=B) 
A 
B 
C 
D 
 
 
 
 
1 
12 
23 
7 
3 
10 
18 
Phép chiếu (Projection) 
Cho quan hệ r trên R(A1, A2,..,Am) và tập con các thuộc tính X={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ép chiếu r trên tập thuộc tính X cho kết quả là 1 quan hệ 
r[X] = r.X = {t |  u r sao cho t = u[X]} 
Phép chiếu loại bỏ những bộ trùng nhau 
19 
19 
Phép chiếu (Projection) – ví dụ 1 
Relation r 
A 
B 
C 
 
 
10 
20 
30 
40 
1 
1 
1 
2 
A 
C 
 
 
1 
1 
1 
2 
A 
C 
 
 
1 
1 
2 
r[A,C] 
20 
Phép hợp (union) 
Phép hợp của 2 quan hệ r và s 
r + s = r  s = { t | t r  t s } 
	trong đó: r và s là hai quan hệ khả hợp 
r + s 
21 
Phép hiệu (Set Difference) 
Phép hiệu của 2 quan hệ r và s 
r - s = { t | t r  t s } 
	trong đó: r và s là hai quan hệ khả hợp 
r - s 
22 
Phép giao (Intersection) 
Phép giao của 2 quan hệ r và s 
	r * s = r  s = {t | t r  t s } 
	 trong đó: r và s là hai quan hệ khả hợp 
Hai quan hệ r và s là khả hợp ( union-compatible) khi : 
Có cùng số thuộc tính 
Các thuộc tính tương ứng có cùng miền giá trị 
r * s 
23 
Bài tập 
Cho 2 quan hệ định nghĩa trên 2 lược đồ Quan hệ : 
Customer( Cuscode, cusName, cusPhone, City) 
Supplier ( SupCode, SupName, SupPhone, City) 
Hiển thị danh sách các thành phố có khách hàng và đồng thời có nhà cung cấp? 
Hiển thị danh sách các thành phố có khách hàng và không có nhà cung cấp? 
24 
Phép tích Descartes 
	Cho quan hệ r trên lược đồ R(A1, A2,..,Am) và s trên lược đồ S(B1,B2,,Bn) 
	Nếu R và S có các thuộc tính trùng tên, thì phải đổi tên. 
Phép tích Descartes của r và s là 1 quan hệ trên lược đồ T(A1, A2,.., Am, B1, B2, .,Bn) 
r x s = { t |  t r r và t s s 
	với t[ A1, A2,.., Am ] = t r 
	 và t[ B1, B2, .,Bn ] = t s } 
25 
25 
Phép tích Descartes – ví dụ 1 
Relations r, s : 
r x s 
MASV 
MAMH 
DIEM 
99001 
CSDL 
5.0 
99002 
FOX 
2.0 
99003 
MANG 
8.0 
MAMH 
TENMH 
CSDL 
COSO DULIEU 
FOX 
FOXPRO 
MASV 
MAMH 
DIEM 
MAMH 
TENMH 
99001 
CSDL 
5.0 
CSDL 
COSO DULIEU 
99001 
CSDL 
5.0 
FOX 
FOXPRO 
99002 
FOX 
2.0 
CSDL 
COSO DULIEU 
99002 
FOX 
2.0 
FOX 
FOXPRO 
99003 
MANG 
8.0 
CSDL 
COSO DULIEU 
99003 
MANG 
8.0 
FOX 
FOXPRO 
26 
Phép tích Descartes 
ứng dụng : 
phép tích Descartes là một phép tính vô nghĩa nếu đứng riêng. Tuy nhiên, nếu kết hợp sau phép toán này một phép chọn phù hợp , kết quả sẽ có nghĩa : kết hợp các bộ có liên quan từ hai quan hệ. 
Vd : Hiển thị bảng điểm của các sinh viên. Bao gồm MaSV, MaMH, Diem, TenMH 
	=> Viết biểu thức đại số quan hệ ? 
	(r x s) ( r.MaMH = s.MaMH) 
27 
27 
Phép kết (join) 
thay thế phép ( r x s) (F) 
	với F là biểu thức điều kiện có dạng r.A  s.B 
Bao gồm : 
Theta join ( -join ) 
Equijoin 
Natural join 
Outer join 
28 
Phép kết  - Theta join 
Cho r và s là hai quan hệ tương ứng trên các lược đồ R(A1, A2,..,Am) và S(B1,B2,,Bn) 
Gọi Q(A1, A2,.., Am, B1, B2, .,Bn) 
 là 1 phép so sánh 
Ai R và Bj S là 2 thuộc tính có thể so sánh với nhau bởi phép  
Phép kết  của r và s trên 2 thuộc tính Ai và Bj ký hiệu , cho kết quả là 1 quan hệ q trên lược đồ quan hệ Q, bao gồm các bộ t 
q(Q) = {t |  t r r và t s s với t[R] = t r 
	và t[S] = ts và t[Ai]  t[Bj] } 
29 
r 
s 
Ai  Bj 
29 
Phép kết  - Theta join 
Ví dụ : Hiển thị ứng với mã mỗi môn học và các môn học tiếp sau nó ? 
MONHOC ( MaMon, TenMon, SoTC, Hocky) 
30 
MaMon 
TenMon 
SoTC 
Hocky 
A 
Aaaa 
3 
1 
B 
Bbbb 
4 
1 
C 
Cccc 
3 
2 
D 
Dddd 
2 
3 
Chú ý : Sử dụng phép gán để tạo ra một biến quan hệ tạm: 
	 s  r [MaMon, Hocky] , với r MONHOC 
30 
Phép kết  - Theta join 
MaMon 
Hocky 
A 
1 
B 
1 
C 
2 
D 
3 
MaMon 
Hocky 
A 
1 
B 
1 
C 
2 
D 
3 
r 
s 
r.Hocky < s.Hocky 
MaMon 
MaMonsau 
A 
C 
A 
D 
B 
C 
B 
D 
C 
D 
31 
Phép kết bằng và kết tự nhiên 
Phép kết Theta với  là phép so sánh bằng , thì được gọi là phép kết bằng _ Equijoin 
Phép kết Theta với  là phép so sánh bằng được thực hiện trên các thuộc tính chung (cùng tên) của R và S , thì được gọi là phép kết tự nhiên – Natural join. Ký hiệu 
Quan hệ kết quả q không lặp lại các thuộc tính chung của R và S 
VD: Hiển thị danh sách các khách hàng và nhà cung cấp ở cùng một thành phố 
Customer( Cuscode, cusName, cusPhone, City) 
Supplier ( SupCode, SupName, SupPhone, City) 
32 
r 
s 
32 
Phân biệt các phép join 
Phép so sánh 
Áp dụng trên 
Tập kết quả 
Theta join 
Tất cả 
Trên 2 thuộc tính cùng kiểu dữ liệu 
Equijoin 
phép bằng 
Trên 2 thuộc tính cùng kiểu dữ liệu 
Natural join 
phép bằng 
Trên 2 thuộc tính chung 
Không lặp lại thuộc tính chung 
33 
Phép kết ngoài - Outer join 
Bao gồm : Left/ Right Outer Join, Full Outer Join 
Phép kết Left Outer Join giữa r và s, cho phép các bộ của r không kết được với các bộ của s cũng được xuất hiện trong quan hệ kết quả 
Những giá trị tương ứng với các bộ trong quan hệ bị thiếu sẽ được gán trị Null 
Ưu điểm : giữ được thông tin mà lẽ ra bị mất trong phép kết 
Ký hiệu : 
34 
r 
s 
34 
r 
s 
MASV 
MAMH 
DIEM 
99001 
CSDL 
5.0 
99002 
FOX 
2.0 
99003 
MANG 
8.0 
MAMH 
TENMH 
CSDL 
COSO DULIEU 
FOX 
FOXPRO 
MASV 
MAMH 
DIEM 
MAMH 
TENMH 
99001 
CSDL 
5.0 
CSDL 
COSO DULIEU 
99002 
FOX 
2.0 
FOX 
FOXPRO 
99003 
MANG 
8.0 
Phép kết ngoài - Outer join 
35 
Phép chia - Division 
Cho quan hệ r định nghĩa trên R với tập thuộc tính A 
Cho quan hệ s định nghĩa trên S với tập thuộc tính B , với B  A 
Gọi C = A - B , là tập thuộc tính chỉ có trong tập thuộc tính A của R 
Phép chia r  s cho kết quả là một quan hệ với tập thuộc tính C và bao gồm các bộ sao cho đối với mọi bộ của s , thì tồn tại bộ thuộc r 
36 
Phép chia – Division 
r  s 
A 
 
B 
1 
2 
A 
B 
 
 
 
 
 
 
1 
2 
3 
1 
1 
1 
3 
4 
6 
1 
2 
s 
s 
r 
37 
Phép chia – Division 
Ví dụ : cho lược đồ CSDL 
SV( MaSV, HoSV, TenSV, Phai) 
Monhoc( MaMon, TenMon, SoTC ) 
KetQua( MaSV, MaMon, Diem) 
Hiển thị danh sách các Sinh viên (MaSV) đã có kết quả học tập của tất cả các môn học ? 
KetQua[MaSV, MaMon]  Monhoc[MaMon] 
38 
Ràng buộc toàn vẹn 
Ràng buộc tòan vẹn là gì 
Các loại ràng buộc toàn vẹn 
Biểu diễn ràng buộc toàn vẹn 
39 
Khái niệm 
Ràng buộc toàn vẹn (integrity constraint) là qui tắc mà tất cả các dữ liệu trong CSDL phải thỏa mãn 
Nguồn gốc : xuất phát từ các qui tắc nghiệp vụ trong thế giới thực và những đặc tính của mô hình quan hệ 
đảm bảo dữ liệu phản ánh đúng thế giới thực, đảm bảo những đặc trưng của mô hình quan hệ 
Các dạng : 
Ràng buộc toàn vẹn thực thể (ràng buộc khóa chính)_ Entity integrity 
Ràng buộc toàn vẹn tham chiếu (ràng buộc phụ thuộc tồn tại / ràng buộc khóa ngọai)_ Referential integrity 
Ràng buộc toàn vẹn miền giá trị _ Domain integrity 
Ràng buộc toàn vẹn do người dùng định nghĩa _ User-defined integrity 
40 
	Mô tả một ràng buộc toàn vẹn (RBTV): thông qua 3 yếu tố 
Bối cảnh : nêu ra tên một hay một số quan hệ mà RBTV đó có hiệu lực 
Biểu diễn : nội dung của một RBTV được biểu diễn bằng ngôn ngữ tự nhiên hoặc bằng một ngôn ngữ hình thức 
Bảng tầm ảnh hưởng : xác định thời điểm (cập nhật dữ liệu) cần phải tiến hành kiểm tra RBTV 
Khái niệm 
41 
Ràng buộc toàn vẹn thực thể 
Ràng buộc khóa chính 
Thể hiện: giá trị của khóa chính là duy nhất và NOT NULL 
Mục tiêu: mỗi dòng sẽ được nhận diện duy nhất 
VD: cho Sinhvien(MaSV, Hoten, Phai, Ngaysinh) 
	 Tân từ : Mỗi sinh viên có một Mã sinh viên duy nhất, xác định một họ tên, phái và ngày sinh . 
	 Mô tả R1 ”Mỗi sinh viên có một Mã sinh viên duy nhất ” như sau 
	 Bối cảnh : Sinhvien 
	 Biểu diễn : rSV SINHVIEN, 
	  t 1 ,t 2 rSV 
	 	 t1.MASV t2.MASV 
 Bảng tầm ảnh hưởng 
R1 
Theâm 
Söûa 
Xoùa 
rSV 
+ 
+ (MASV) 
- 
42 
Ràng buộc tòan vẹn tham chiếu 
Ràng buộc khóa ngoại 
Thể hiện: gía trị của khóa ngoại có thể NULL, hoặc phải là một trong những giá trị của khóa chính của một bảng khác 
Mục tiêu : duy trì tính nhất quán (consistency) giữa các bộ của 2 quan hệ. 
Được thể hiện thông qua 3 quy tắc sau: 
Không thể thêm các bản ghi vào bảng quan hệ nếu không có bản ghi tương ứng trong bảng chính. 
Không thể thay đổi giá trị trong bảng chính nếu làm cho các bản ghi tương ứng trong bảng quan hệ bị mất tham chiếu 
Không thể xóa các bản ghi trong bảng chính nếu nó được tham chiếu bởi 1 số bản ghi trong bảng quan hệ 
43 
Ràng buộc tòan vẹn tham chiếu 
VD: cho lược đồ CSDL , bao gồm 
Khoa(Makhoa, Tenkhoa) 
Tân từ : Mỗi khoa có một mã khoa duy nhất, một tên khoa 
Sinhvien(MaSV, Hoten, Phai, Ngaysinh, Makhoa) 
Tân từ : Mỗi sinh viên có một Mã sinh viên duy nhất, xác định một họ tên, phái và ngày sinh. Mỗi sinh viên thuộc một khoa 
Mô tả R2 “ Mỗi sinh viên thuộc một khoa ” như sau 
Bối cảnh : Khoa, Sinhvien 
Biểu diễn : rSV SINHVIEN , rKhoa KHOA 
	 rSV[MAKHOA]  rKHOA[MAKHOA] 
Bảng tầm ảnh hưởng : 
R2 
Theâm 
Söûa 
Xoùa 
rSV 
+ 
+ 
- 
rKhoa 
- 
+ 
+ 
44 
Ràng buộc toàn vẹn miền giá trị 
Thể hiện : giá trị của một thuộc tính phải nằm trong một miền giá trị xác định 
Mục tiêu : tuân thủ các qui tắc nghiệp vụ trong thế giới thực 
VD: Hocbong(MaSV, Namhoc, Xeploai, Sotien) 
Tân từ : Hàng năm, nếu đạt kết quả học tập lọai khá trở lên thì sinh viên được học bổng. Học bổng có 2 mức: loại khá được 500 , loại giỏi được 700. 
Mô tả R3 “học bổng có 2 mức: loại khá được 500 , loại giỏi được 700 ” như sau 
Bối cảnh : Hocbong 
Biểu diễn : rHbong HOCBONG, 
	  t rHbong , 
	 	 t.Sotien = 500 or t.Sotien = 700 
Bảng tầm ảnh hưởng 
R3 
Theâm 
Söûa 
Xoùa 
rHocbong 
+ 
+ (Sotien) 
- 
45 
Ràng buộc do user định nghĩa 
Bao gồm các ràng buộc không thuộc các loại trên , như : 
ràng buộc liên bộ / liên thuộc tính trong một quan hệ; 
ràng buộc liên thuộc tính giữa các quan hệ; 
ràng buộc do thuộc tính tính toán, 
VD1: cho lược đồ quan hệ 
 Hoadon(MaHD, MaKH, Điachi, Ngaylap, NgayXuat ) 
Tân từ : Mỗi hóa đơn có một mã Hóa đơn duy nhất, bán cho một khách hàng có Mã KH, có địa chỉ. Ngày lập HD phải trước hoặc trùng ngày xuất hàng 
	 Bối cảnh : Hoadon 
	 Biểu diễn: 
R 4 :  t rHoaDon 
	t.NGAYLAP <= t.NGAYXUAT 
Bảng tầm ảnh hưởng : 
R 4 
Theâm 
Söûa 
Xoùa 
rHoaDon 
+ 
+ 
- 
46 
Ràng buộc do user định nghĩa 
VD2: R5 “Ngày đặt hàng phải trước ngày giao hàng” 
Hoadon(MaHD, MaKH, Điachi, NgayLap, NgayGiao, SoDH ) 
Dathang(SoDH, MaKH, NgayDH) 
Bối cảnh : Hoadon, Dathang 
Biểu diễn : 
R5:  t1 rDatHang, t2 rHoaDon 
Nếu t1.SODH = t2.SODH 
Thì t1.NGAYDH <= t2.NGAYGIAO 
Bảng tầm ảnh hưởng : 
R 5 
Theâm 
Söûa 
Xoùa 
rDatHang 
+ 
+ 
- 
rHoaDon 
+ 
+ 
- 
47 
Ràng buộc do user định nghĩa 
VD3 : R6 “ Mỗi lớp học chỉ có tối đa 100 sinh viên” 
	 Sinhvien(MaSV, Hoten, Phai, Malop) 
	Lop(Malop, Tenlop, Siso) 
Bối cảnh : Sinhvien 
Biểu diễn : 
	 rSV Sinhvien, rSV’  rSv 	 
 t rSV, t’ rSV’ , D  
thì	Count t D t.MaSV <= 100 
Bảng tầm ảnh hưởng : 
rSV 
rSV’ 
t.Malop = t’.Malop 
R6 
Theâm 
Söûa 
Xoùa 
rSV 
+ 
+ 
- 
48 
Hỗ trợ của các DBMS 
SQL server 2000 hỗ trợ cài đặt các loại ràng buộc sau : 
Default 
Check 
NULL / NOT NULL 
Unique 
Primary key 
Foreign key 
Domain integrity 
Entity integrity 
Referential integrity 
49 

File đính kèm:

  • pptbai_giang_mon_dai_so_quan_he.ppt