Chào mừng quý vị đến với Câu Lạc Bộ Tin Học Hậu Giang.
Quý vị chưa đăng nhập hoặc chưa đăng ký làm thành viên, vì vậy chưa thể tải được các tư liệu của Thư viện về máy tính của mình.
Nếu chưa đăng ký, hãy đăng ký thành viên tại đây hoặc xem phim hướng dẫn tại đây
Nếu đã đăng ký rồi, quý vị có thể đăng nhập ở ngay ô bên phải.
CSDL Chương 4

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Trần Hoài Chinh (trang riêng)
Ngày gửi: 16h:14' 26-03-2009
Dung lượng: 65.5 KB
Số lượt tải: 40
Nguồn:
Người gửi: Trần Hoài Chinh (trang riêng)
Ngày gửi: 16h:14' 26-03-2009
Dung lượng: 65.5 KB
Số lượt tải: 40
Số lượt thích:
0 người
CHƯƠNG IV: RÀNG BUỘC TOÀN VẸN
I. Ràng buộc toàn vẹn:
1. Khái niệm:
RBTV là các điều kiện bất biến mà tất cả các bộ, thuộc tính của các quan hệ trong CSDL phải thoả mãn ở bất cứ thời điểm nào.
VD: Cho CSDL “QLSV” gồm:
SV(MASV, HOTEN, PHAI, NSINH, DCHI, MAKHOA)
KHOA(MAKHOA, TENKHOA)
MONHOC(MAMH, TENMH, SOTC)
KETQUA(MASV, MAMH, LANTHI, HK, NK, DIEM)
Có các ràng buộc sau:
C1: Mỗi SV có một mã số riêng biệt không trùng với bất cứ SV nào khác.
C2: Mỗi SV phải thuộc vào một khoa của trường.
C3: Mỗi SV được thi tối đa 2 lần cho một môn.
2. Các yếu tố của RBTV:
a. ĐK của RBTV:
Ðựơc biểu diễn bằng ngôn ngữ tự nhiên, ngôn ngữ giả, đại số quan hệ, phụ thuộc hàm, …
b.Bối cảnh của một RBTV:
Là những quan hệ cần phải sử dụng để kiểm tra RBTV đó.
VD:
- Bối cảnh của C1 là quan hệ SV.
- Bối cảnh của C2 là quan hệ SV và KHOA.
- Bối canhe của C3 là quan hệ KETQUA.
3. Phân loại các RBTV:
a. RBTV có bối cảnh là một quan hệ:
- RBTV về miền giá trị: liên quan đến miền giá trị của một thuộc tính.
Ví dụ: NSINH < Date()
0<=DIEM<=10
0<=SOTIET<=600
- RBTV liên thuộc tính: là mối liên hệ giữa các thuộc tính trong cùng một lược đồ quan hệ.
Ví dụ: CSDL “QLBH” như sau:
KHACH(MAKH, TENKH, DCHI, DT, CONGNO)
DATHANG(SO_DDH, MAHH, SL, NGAY_DH, MAKH)
HOADON(SOHD, NGAYHD, SO_DDH, NGAYX, TRIGIA)
PHIEUTHU( SO_PT, NGAYTHU, SOTIEN, SOHD)
CT_HD( SOHD, MAHH, GIA_BAN, SL)
Trong quan hệ HOADON có ràng buộc:
“hàng hoá chỉ được xuất sau khi lập hoá đơn”.
(hd ( HOADON, hd.NGAYX ( hd.NGAYHD
- RBTV liên bộ: là sự ràng buộc giữa các bộ bên trong một quan hệ, phổ biến là RBTV về khoá nội.
Ví dụ:
MASV là duy nhất trong quan hệ SV.
MAKHOA là duy nhất trong quan hệ KHOA.
Mỗi SV được thi tối đa 2 lần cho 1 môn.
b. RBTV có bối cảnh gồm nhiều quan hệ:
- RBTV về khoá ngoại:
Khoá ngoại: Thuộc tính A của một quan hệ R được gọi là khoá ngoại nếu A là thuộc tính khoá của quan hệ R’ nào đó.
=> Khi cập nhật dữ liệu cho khoá ngoại, ta phải kiểm tra giá trị đó đã tồn tại ở thuộc tính khoá nội của R’ chưa?
Ví dụ: Nếu ( kq ( KETQUA, kq.MASV= ‘01’
Thì phải ( sv ( SV : sv.MASV= ‘01’
- RBTV liên thuộc tính, liên quan hệ:
Là mối liên hệ giữa các thuộc tính của nhiều quan hệ khác nhau.
Ví dụ: giữa DATHANG và HOADON có ràng buộc:
Nếu ( hd ( HOADON, dh ( DATHANG và hd.SO_DDH = dh.SO_DDH
Thì dh.NGAY_DH >= hd.NGAYHD
- RBTV liên bộ, liên quan hệ:
RBTV loại này có tác dụng trên từng nhóm các bộ của nhiều quan hệ khác nhau.
Ví dụ: giữa 2 quan hệ HOADON và CT_HD
Có RBTV: mỗi hoá đơn phải có ít nhất một mặt hàng.
- RBTV về thuộc tính tổng hợp:
RBTV này xác định trong trường hợp 1 thuộc tính A của quan hệ R được tính toán từcác thuộc tính của các quan hệ khác.
Ví dụ1: Trị giá HD bằng tổng GIABAN*SL các mặt hàng trong hoá đơn đó:
hd.TRIGIA = ( (cthd.GIABAN*cthd.SL)
hd.SO_HD = cthd.SO_HD
Ví dụ2: ( kh ( KHACH:
kh.CONGNO = ( hd.TRIGIA – ( pt.SOTIEN
Với: kh.MAKH=dh.MAKH ( dh.SO_DDH=hd.SO_DDH ( hd.SOHD=pt.SOHD
II. Phụ thuộc hàm:
PTH là một trong số các RBTV về dữ liệu, nó mô tả mối liên hệ giữa các thuộc tính với nhau.
Ví dụ:
MASV => HOSV, TENSV, NSINH, LOP
MASV, MAMON, LANTHI, HK, NK => DIEM
1. Định nghĩa: Cho quan hệ R với tập thuộc tính U và X,Y ( U.
Ta gọi X ( Y
I. Ràng buộc toàn vẹn:
1. Khái niệm:
RBTV là các điều kiện bất biến mà tất cả các bộ, thuộc tính của các quan hệ trong CSDL phải thoả mãn ở bất cứ thời điểm nào.
VD: Cho CSDL “QLSV” gồm:
SV(MASV, HOTEN, PHAI, NSINH, DCHI, MAKHOA)
KHOA(MAKHOA, TENKHOA)
MONHOC(MAMH, TENMH, SOTC)
KETQUA(MASV, MAMH, LANTHI, HK, NK, DIEM)
Có các ràng buộc sau:
C1: Mỗi SV có một mã số riêng biệt không trùng với bất cứ SV nào khác.
C2: Mỗi SV phải thuộc vào một khoa của trường.
C3: Mỗi SV được thi tối đa 2 lần cho một môn.
2. Các yếu tố của RBTV:
a. ĐK của RBTV:
Ðựơc biểu diễn bằng ngôn ngữ tự nhiên, ngôn ngữ giả, đại số quan hệ, phụ thuộc hàm, …
b.Bối cảnh của một RBTV:
Là những quan hệ cần phải sử dụng để kiểm tra RBTV đó.
VD:
- Bối cảnh của C1 là quan hệ SV.
- Bối cảnh của C2 là quan hệ SV và KHOA.
- Bối canhe của C3 là quan hệ KETQUA.
3. Phân loại các RBTV:
a. RBTV có bối cảnh là một quan hệ:
- RBTV về miền giá trị: liên quan đến miền giá trị của một thuộc tính.
Ví dụ: NSINH < Date()
0<=DIEM<=10
0<=SOTIET<=600
- RBTV liên thuộc tính: là mối liên hệ giữa các thuộc tính trong cùng một lược đồ quan hệ.
Ví dụ: CSDL “QLBH” như sau:
KHACH(MAKH, TENKH, DCHI, DT, CONGNO)
DATHANG(SO_DDH, MAHH, SL, NGAY_DH, MAKH)
HOADON(SOHD, NGAYHD, SO_DDH, NGAYX, TRIGIA)
PHIEUTHU( SO_PT, NGAYTHU, SOTIEN, SOHD)
CT_HD( SOHD, MAHH, GIA_BAN, SL)
Trong quan hệ HOADON có ràng buộc:
“hàng hoá chỉ được xuất sau khi lập hoá đơn”.
(hd ( HOADON, hd.NGAYX ( hd.NGAYHD
- RBTV liên bộ: là sự ràng buộc giữa các bộ bên trong một quan hệ, phổ biến là RBTV về khoá nội.
Ví dụ:
MASV là duy nhất trong quan hệ SV.
MAKHOA là duy nhất trong quan hệ KHOA.
Mỗi SV được thi tối đa 2 lần cho 1 môn.
b. RBTV có bối cảnh gồm nhiều quan hệ:
- RBTV về khoá ngoại:
Khoá ngoại: Thuộc tính A của một quan hệ R được gọi là khoá ngoại nếu A là thuộc tính khoá của quan hệ R’ nào đó.
=> Khi cập nhật dữ liệu cho khoá ngoại, ta phải kiểm tra giá trị đó đã tồn tại ở thuộc tính khoá nội của R’ chưa?
Ví dụ: Nếu ( kq ( KETQUA, kq.MASV= ‘01’
Thì phải ( sv ( SV : sv.MASV= ‘01’
- RBTV liên thuộc tính, liên quan hệ:
Là mối liên hệ giữa các thuộc tính của nhiều quan hệ khác nhau.
Ví dụ: giữa DATHANG và HOADON có ràng buộc:
Nếu ( hd ( HOADON, dh ( DATHANG và hd.SO_DDH = dh.SO_DDH
Thì dh.NGAY_DH >= hd.NGAYHD
- RBTV liên bộ, liên quan hệ:
RBTV loại này có tác dụng trên từng nhóm các bộ của nhiều quan hệ khác nhau.
Ví dụ: giữa 2 quan hệ HOADON và CT_HD
Có RBTV: mỗi hoá đơn phải có ít nhất một mặt hàng.
- RBTV về thuộc tính tổng hợp:
RBTV này xác định trong trường hợp 1 thuộc tính A của quan hệ R được tính toán từcác thuộc tính của các quan hệ khác.
Ví dụ1: Trị giá HD bằng tổng GIABAN*SL các mặt hàng trong hoá đơn đó:
hd.TRIGIA = ( (cthd.GIABAN*cthd.SL)
hd.SO_HD = cthd.SO_HD
Ví dụ2: ( kh ( KHACH:
kh.CONGNO = ( hd.TRIGIA – ( pt.SOTIEN
Với: kh.MAKH=dh.MAKH ( dh.SO_DDH=hd.SO_DDH ( hd.SOHD=pt.SOHD
II. Phụ thuộc hàm:
PTH là một trong số các RBTV về dữ liệu, nó mô tả mối liên hệ giữa các thuộc tính với nhau.
Ví dụ:
MASV => HOSV, TENSV, NSINH, LOP
MASV, MAMON, LANTHI, HK, NK => DIEM
1. Định nghĩa: Cho quan hệ R với tập thuộc tính U và X,Y ( U.
Ta gọi X ( Y
 
↓ CHÚ Ý: Bài giảng này được nén lại dưới dạng RAR và có thể chứa nhiều file. Hệ thống chỉ hiển thị 1 file trong số đó, đề nghị các thầy cô KIỂM TRA KỸ TRƯỚC KHI NHẬN XÉT ↓





