Ràng buộc toàn vẹn
- Khái niệm RBTV
Khi xây dựng ứng dụng (mydtu), thỏa mãn các yêu cầu thực tế đặt ra
- Mỗi kỳ dk <=20
- 1 lớp <=50 sv
- 0<= diem <=10
- Nợ reading 1 => không được dk reading 2
- Sv chỉ xem điểm, gv có thể sửa điểm.
- RBTV: qui định mà CSDL phải thỏa mãn.
Biểu diễn RB
+ bằng lời (tân từ): mỗi sinh viên phải các masv khác nhau
+ Bằng kí hiệu: sv(masv, hoten, ngaysinh)
"ti, tj Îsv, ti.masv≠tj.masv
sv(masv, hoten, ngaysinh)
sv1 A
sv2 B
sv3 B
+ Bằng phụ thuộc hàm: masv -> hoten
-
Các yếu tố của ràng buộc: điều kiện, bối cảnh, tầm ảnh hưởng
- Điều kiện RB
Nội dung của ràng buộc
“mỗi lớp phải có từ 20 đến 50 sv”
- Bối cảnh: phạm vi mà ràng buộc xảy ra
VD: Ketqua(masv, mamh, diem)
Rb1: 0<=diem<=10
Muontra(maphieu, masach, ngaymuon, ngaytra)
Rb2: ngaymuon<=ngaytra
Rb3: ngaytra<=today()
Ràng buộc nội:RB chỉ xảy ra trong 1 bảng
Taikhoan(matk, tenchutk, ngaylapthe, sodu)
Giaodich(matk, ngayrut, sotienrut)
Rb4. Giaodich. Sotienrut
Rb5. Giaodich. Ngayrut >=taikhoan.ngaylapthe
Rb xảy ra ở 2 hay nhiều bảng=> RB ngoại
- Tầm ảnh hưởng của ràng buộc: Hiệu lực của ràng buộc khi thao tác dữ liệu: thêm, sửa, xóa dữ liệu
LOP(malop, gvcn, siso)
L01 chi 30
L02 ngoc 30
L03 LINH 34
L07 45
Sinhvien(masv, hoten, malop)
Sv1 A L01
Sv4 B L03
Sv3 B L02
SV5 L03
R1: siso >=20
R2: masv không được trùng nhau
R3. Sinhvien.malop Îlop.malop
|
|
Thêm |
Sửa |
xóa |
|
R1 |
+ |
+ |
- |
|
R2 |
+ |
+ |
- |
|
R3(SINHVIEN) |
+ |
+ |
- |
|
R3(lop) |
- |
+ |
+ |