You are on page 1of 7

CHƯƠNG 5 : RÀNG BUỘC TOÀN VẸN

1. Giới thiệu
Ràng buộc : quy định trong thực tế mà CSDL phải thõa mãn
0<= Điểm <10
Sỉ số lớp (đơn) <= 50
Mỗi sinh viên đăng kí <= 20 tín chỉ/học kỳ
2. Những yếu tố ràng buộc
3 yếu tố : điều kiện , bối cảnh, tầm ảnh hưởng
2.1 : Điều kiện
Chính là nội dung của rang buộc
Ràng buộc: “Mỗi sinh viên có mã số khác nhau”
 Biểu diễn bằng lời(tân ngữ - ngôn ngữ tự nhiên)
∀ bộ t1, t2 thuộc sinh viên, t1.masv ≠ t2.masv
 Bằng kí hiệu toán học Sinhvien(masv, hoten,ngaysinh)
Masv->hoten, ngaysinh
 Biểu diễn bằng phụ thuộc hàm
2.2 : Bối cảnh
Nơi xảy ra rang buộc đó
VD1 : monhoc(mamh,tcmh,sotc)
Rb1 : 1 <= sotc <= 4
Chỉ xyar ra ở bảng monhoc => rang buộc nội
VD2 : Taikhoan(matk,hoten, ngaylamthe, sodu)
Giaodich(matk, ngayrut, sotien_rut)
Rb2 : Giaodich.sotien_rut < Taikhoan.sodu
Ràng buộc liên quan đến 2 hoặc nhiều bảng
 Ràng buộc ngoại
2.3 : Tầm ảnh hưởng
Khả năng xem xét rang buộc khi thao tác dữ liệu :
Thêm, sửa, xóa dữ liệu
Cho lược đồ CSDL quanlysinh vien
LOP (malop, GVCN, siso)
Sinhvien(masv, hoten, phai, malop)
Rb1 : malop là khóa chính ( không trùng nhau )
Rb2 : siso >= 20
Rb3 : masv là khoa chính
Rb4 : phai thuộc [nam, nữ ]
Rb5 : sinhvien.malop ∈ lop.malop

THÊM SỬA XÓA


Rb1 Kiểm tra Kiểm tra Không kiểm tra
Rb2 Kiểm tra Kiểm tra Không kiểm tra
Rb3 Kiểm tra Kiểm tra Không kiểm tra
Rb4 Kiểm tra Kiểm tra Không kiểm tra
Rb5 Kiểm tra Kiểm tra Không kiểm tra
(sinhvien)
Rb5 Không kiểm tra Kiểm tra Kiểm tra
(lop)

3. Phân loại ràng buộc


- 2 loại : rang buộc nội và ngoại
3.1 : Ràng buộc nội
- RB chỉ xảy ra trong 1 bảng
+ Ràng buộc miền giá trị
Thang <= 12
0 <= điểm <=10
Phái ∈ [nam, nữ ]
+ Ràng buộc liên thuộc tính
Datphong(sophong,ngayden,ngaydi)
Ngayden <= ngaydi
+ Ràng buộc liên bộ (hàng )
Phieumuon (maphieu, masach, ngaymuon, ngaytra )
“Mỗi phiếu chỉ được mượn tối đa là 2 quyển sách “
P01 S01
P01 S02
P01 S03
+ Ràng buộc khóa chính
3.2 : Ràng buộc ngoại
Rb liên quan đến 2 hoặc nhiều bảng
+ Liên thuộc tính, liên quan hệ : liên quan đến thuộc tính của nhiều
quan hệ
VD1 :
Dathang(maso, mahang, sl_dat)
Giaohang(masodh, mahang, ngaygiao, soluong)
Rb : cùng mã hang, sl_dat = soluong
VD2 :
Phieumuon (map, madg, ngaymuon)
Chitiet(map, masach, ngaytra)
Ngaymuon <= ngaytra
+ Ràng buộc tham chiếu (thường là giữa khóa ngoại tham chiếu đến
khóa chính )
VD1 :
Monhoc (mamh, tenmh,sotc)
Thi(masv, mamh, ngaythi, diem)
Thi.mamh ∈ monhoc.mamh
CHƯƠNG 6 : THIẾT KẾ CƠ SỞ DỮ LIỆU

- Lý thuyết về biểu diễn rang buộc


- Khái niệm về CSDL quan hệ
- Chuẩn hoán và phân rã lược đồ về dạng chuẩn
1. Phụ thuộc hàm
a. Định nghĩa
- Công cụ để biểu diễn rang buộc “mỗi sv đều có mã số khác nhau”
Cho sinhvien(masv, hoten, ngaysinh)
Sv01 Lan
Sv02 Lan
Sv03 Linh
Sv04 Hoa
Masv ⟹ Hoten
- Cho lược đồ Q(U) // U tập tất cả các thuộc tính của Q , X, Y là 2 tập
con cuả U (X , Y ⊑ U)
- Kí hiệu : X → Y ( X xác định Y , Y phụ thuộc hàm vào X)
- Nếu ∀ bộ t 1 , t 2∈ Q ,mà t 1. X=t 2. X thì t 1. Y =t 2.Y
VD :
Q( A B C )
1 2 3
1 2 4
a b c
a b c1
a1 b1 c1

A → B : True
1 2
1 2
a b
a b
a b
a1 b1
B → C
2 3
2 4

t1.B=t2.B nhưng t1.C ≢ t2.C ⇒ B → C :False


VD :
Q( A B C D)
a b c1 d1
a b c2 d2
a b c3 d2
a1 b1 c2 d2
a1 b1 c3 d2
a2 b2 c2 d2
A → B
a b
a b
a b
a1 b1
a1 b1
a2 b2
- Kí hiệu cho Q ( U, F )
- F : Tập các phụ thuộc hàm đúng trên lược đồ Q
VD :
Q (ABCD) F = { A → B, C → D, B → C }
Hỏi A → C ?
2. Hệ tiên đề Amstrong
- Luật phản xạ : X → X
- Luât thêm : X → Y thì XZ → Y
- Luật hợp : X → Y, X → Z thì X → YZ
- Luật phân rã : X → YZ thì X → Y và X → Z
- Luật bắc cầu : X → Y, Y→ Z thì X → Z
- Luật tựa bắc cầu : X → Y, YW → Z thì XW → Z
VD 1 :
Cho Q ( ABCDEGH )
F = { A → B, CD → E, GC → H, B → DC, E → H }
Chứng minh
a. A → E
A → B ( ¿ ) , B → CD ( ¿ ) , CD → E ( ¿ )
Suy ra : A→ E
b. B → H
c. A → H
d. CD → H
VD 2 :
Cho Q ( ABCDEGH ), F = { AB→ C , B → D ,CD → E , CE →GH , G → A }
Chứng minh :
a. AB→ E
b. AB→ G được suy diễn từ F nhờ luật dẫn Armstrong
Gỉai
AB -> C (f1)
AB -> B (phản xạ)
B->D (f2)
AB-> D (bắc cầu )
CD ->E (f3)
AB ->CD(hợp)
Suy ra AB->E( bắc cầu)

a. AB-->C(gt) B-->D(gt) CD-->E(gt)


Suy ra AB-->E(bắc cầu)
b. AB-->C(gt) AB-->E(cmt) CE-->G(gt)
Suy ra AB-->G(bắc cầu)

You might also like