Bài giảng Cơ sở dữ liệu - Bài 6: Ràng buộc toàn vẹn - Vũ Văn Định
RBTV tham chiếu là ràng buộc quy
định giá trị của thuộc tính trong một
bộ của quan hệ R phải thuộc tập giá trị
của thuộc tính khóa trong quan hệ S
khác.
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
31 trang |
Chia sẻ: thucuc2301 | Lượt xem: 982 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng Cơ sở dữ liệu - Bài 6: Ràng buộc toàn vẹn - Vũ Văn Định, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Bài 6. RÀNG BUỘC TOÀN VẸN
1. Tổng quan
• Ràng buộc toàn vẹn sử dụng các luật
để định nghĩa các điều kiện đảm bảo
cho CSDL ở trạng thái an toàn.
• Ràng buộc toàn vẹn được dùng để
ngăn ngừa việc đưa dữ liệu không hợp
lệ vào CSDL.
Định nghĩa : Ràng buộc toàn vẹn là
các điều kiện bất biến không được vi
phạm trong một CSDL.
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
RBTV còn được gọi là các quy tắc
quản lý được áp đặt lên các đối
tượng của thế giới thực .
VD :
- Mỗi sinh viên có một mã sinh
viên duy nhất để phân biệt với các
sinh viên khác
- Điểm HL của mỗi sv không được
nhỏ hơn0 và lớn hơn 10.
- Mỗi SV phải thuộc một lớp nào
đó.
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
Các hệ quản trị CSDL thường có
các cơ chế tự động kiểm tra RBTV
này.
Việc kiểm tra RBTV có thể được tiến
hành vào một trong các thời điểm
sau :
- Kiểm tra ngay khi thực hiện một
thao tác cập nhật ( thêm, sửa , xoá
,)
- Kiểm tra định kỳ hay đột xuất
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
2. Các yếu tố của RBTV
Khi xác định một RBTV cần chỉ rõ:
Điều kiện ( tức là nội dung) của
RBTV, từ đó, xác định cách biểu diễn.
Bối cảnh xảy ra RBTV: trên một hay
nhiều quan hệ và cụ thể là trên
những quan hệ nào.
Mức độ ảnh hưởng của RBTV.
Hành động cần phải có khi phát hiện
ra có RBTV bị vi phạm.
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
3. Điều kiện của RBTV
Điều kiện của RBTV là sự mô tả và
biểu diễn hình thức và nội dung của
nó.
Được biểu diễn bằng ngôn ngữ tự
nhiên, thuật giải, ngôn ngữ quan hệ
hoặc bằng các phụ thuộc hàm ,v.v..
VD:
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
R1: Mỗi sinh viên có một mã sinh viên
duy nhất không trùng với các sinh
viên khác:
sv1, sv2 SV, sv1 ≠ sv2
sv1. SV# ≠ sv2. SV#
R2: Mọi sv được làm đề tài đều phải
đạt loại giỏi:
sd SD, sv SV :
( sv. HL >=8.0) (sd. SV# =
sv. SV# )
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
4. Bối cảnh của RBTV
Bối cảnh của một RBTV là tập các
quan hệ mà khi thao tác trên các
quan hệ đó có khả năng làm cho
ràng buộc toàn vẹn bị vi phạm.
Có thể chia RBTV thành hai loại
chính theo bối cảnh RBTV :
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
RBTV có bối cảnh trên 1 quan hệ
RBTV có bối cảnh trên nhiều quan
hệ
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
4.1. RBTV có bối cảnh 1 quan hệ
RBTV miền giá trị.
RBTV liên bộ
RBTV liên thuộc tính
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
RBTV miền giá trị qui định tập giá
trị mà một thuộc tính có thể nhận.
VD:
DOM(PHAI) = {‘Nam’, ‘Nữ’}
a. RBTV miền giá trị
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
Ví dụ 3: Xét lược đồ quan hệ
• NHANVIEN (MANV, HT, NS, GT, DC,
LUONG)
Xét RBTV R2:
• Nội dung:
• GT của nhân viên chỉ có thể là
‘Nam’ hoặc ‘Nữ’
• n NHANVIEN: n.GT IN
{‘Nam’,’Nữ’}
• Bối cảnh: quan hệ NHANVIEN
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
Bảng tầm ảnh hưởng (TAH) gồm 4 cột:
Cột 1 chứa tên các quan hệ liên quan tới RBTV.
3 cột tiếp theo là tên các thao tác : Thêm / Sửa
/ Xoá
Nếu RBTV cần được kiểm tra nguy cơ dẫn tới vi
phạm dấu gạch chéo (x) hoặc dấu cộng (+) ;
Có thể chỉ rõ các thuộc tính nào nếu được cập nhật
mới dẫn đến vi phạm bằng cách liệt kê chúng dưới
dấu (x) hoặc dấu (+)
Nếu không có nguy cơ bị vi phạm thì đánh dấu
trừ (-)
Nếu không bị vi phạm vì không được phép sửa đổi
thì kí hiệu là trừ với dấu * : (- (*))
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
• Bảng TAH của R2:
+(GT)-+NHANVIEN
SửaXóaThêmR2
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
b. RBTV liên bộ
RBTV liên bộ là điều kiện ràng buộc giữa
các bộ trên cùng một quan hệ
Ví dụ 5: Xét lược đồ quan hệ:
• PHONGBAN(MAP, TENP, TP,NGNC)
Xét RBTV R4:
• Nội dung:
• Hai phòng khác nhau sẽ có mã phòng
khác nhau
• p1, p2 PHONGBAN: p1 p2
p1.MAP p2.MAP
• Bối cảnh: quan hệ PHONGBAN
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
• Bảng tầm ảnh hưởng:
-(*)-+PHONGBAN
SửaXóaThêmR4
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
c. RBTV liên thuộc tính
RBTV liên thuộc tính là ràng buộc giữa các thuộc
tính trong cùng một quan hệ
Ví dụ 7: Xét lược đồ quan hệ
DEAN (MADA, TDA, DD, PHONG, NGBD_DK,
NGKT_DK)
• Xét RBTV R6:
• Nội dung:
• Với mọi đề án, ngày bắt đầu dự kiến
(NGBD_DK) phải trước ngày kết thúc dự
kiến (NGKT_DK)
• d DEAN, d[NGBD_DK] <= d[NGKT_DK]
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
• Bối cảnh: quan hệ DEAN
• Bảng tầm ảnh hưởng:
+(NGBD_DK,
NGKT_DK)
-+ DEAN
SửaXóaThêmR6
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
4.2. RBTV có bối cảnh trên nhiều
quan hệ
RBTV tham chiếu
RBTV liên bộ, liên quan hệ
RBTV liên thuộc tính, liên quan hệ
RBTV do thuộc tính tổng hợp
RBTV do chu trình trong lược đồ biểu
diễn quan hệ
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
a. RBTV tham chiếu
RBTV tham chiếu là ràng buộc quy
định giá trị của thuộc tính trong một
bộ của quan hệ R phải thuộc tập giá trị
của thuộc tính khóa trong quan hệ S
khác.
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
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
Ví dụ 10 : Xét các lược đồ quan hệ
PHONGBAN (MAP, TENP, TRP, NGNC)
NHANVIEN (MANV, HT, NS, GT, LUONG)
• Xét RBTV R9:
• Nội dung:
Mỗi trưởng phòng phải là một nhân viên
trong công ty. p PHONGBAN, n
NHANVIEN:
n[MANV] = p[TRP]
Hay: PHONGBAN[TRP]
NHANVIEN[MANV])
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
• Bối cảnh: NHANVIEN, PHONGBAN
• Bảng tầm ảnh hưởng:
- (*)+-NHANVIEN
+(TRP)-+PHONGBA
N
SửaXóaThêmR9
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
b. RBTV liên bộ, liên quan hệ
RBTV liên bộ, liên quan hệ là điều kiện giữa
các bộ trên nhiều quan hệ khác nhau.
Ví dụ 11 : Xét các lược đồ quan hệ
PHONGBAN (MAP, TENP, TRP, NGNC)
DIADIEMPHG (MAP, DIADIEM)
Xét RBTV R10:
Nội dung:
•Mỗi phòng ban phải có ít nhất một
địa điểm phòng
p PHONGBAN, d DIADIEMPHG:
p.MAP = d.MAP
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
• Bối cảnh: PHONGBAN,
DIADIEM_PHG
• Bảng tầm ảnh hưởng:
+ (MAP)+-DIADIEM_PHG
---PHONGBAN
SửaXóaThêmR10
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
c. RBTV liên thuộc tính, liên quan hệ
RBTV liên thuộc tính, liên quan hệ là điều kiện giữa
các thuộc tính trên nhiều quan hệ khác nhau.
Ví dụ 12 :Xét các lược đồ quan hệ
DATHANG(MADH, MAKH, NGAYDH)
GIAOHANG(MAGH, MADH, NGAYGH)
- Xét RBTV R11:
• Nội dung:Ngày giao hàng không được trước ngày
đặt hàng
gGIAO_HANG,
dDAT_HANG:d[MADH]g[MADH]
d[NGAYDH] g[NGAYGH]
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
• Bối cảnh: DATHANG, GIAOHANG
• Bảng tầm ảnh hưởng:
+ (NGAYGH)-+GIAOHANG
+ (MGAYDH)--DATHANG
SửaXóaThêmR11
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
d. RBTV do thuộc tính tổng hợp
Thuộc tính tổng hợp là thuộc tính được
tính toán từ giá trị của các thuộc tính
khác hoặc trạng thái của CSDL.
Khi có thuộc tính tổng hợp, cần phải có
RBTV để đảm bảo mối quan hệ giữa nó
và nguồn mà nó được tính toán từ đó.
Ví dụ 13 :Xét các lược đồ quan hệ
• PXUAT(SOPHIEU, NGAY, TT)
• CTIET_PX(SOPHIEU, MAHANG, SL, DG)
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
• Xét RBTV R12:
• Nội dung:
•Tổng trị giá của 1 phiếu xuất phải bằng
tổng trị giá các chi tiết xuất.
pxPXUAT,
px.TT = (ct CTIET_PX ct.SOPHIEU = px.SOPHIEU) ct.SL
* ct.DG
• Bối cảnh: PXUAT,CTIET_PX
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
• Bảng tầm ảnh hưởng:
• (*): Ở thời điểm thêm một bộ vào
PXUAT, giá trị bộ đó tại TT là trống.
+ (SL,DG)++CTIET_P
X
+ (TT)+-(*)PXUAT
SửaXóaThê
m
R12
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
e. RBTV do có chu trình
Ví dụ 15 :Xét các lược đồ quan hệ
• NHANVIEN (MANV, HT,NS ,GT, PHONG,
LUONG)
• DEAN (MADA, TENDA, DD, PHONG)
• PHANCONG (NV#, SODA, THOIGIAN)
• Xét RBTV R14:
• Nội dung:
Nhân viên chỉ được phân công vào các đề
án do phòng mình phụ trách.
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
pc PHANCONG, nvda (NHANVIEN
⋈ PHG=PHONG DEAN): (nvda.MANV = pc.NV#
nvda.MADA = pc.SODA)
Hay: PHANCONG[MA_NVIEN,SODA]
(NHANVIEN DEAN) [MANV,MADA]
Bối cảnh: NHANVIEN, DEAN, PHANCONG
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
Bảng tầm ảnh hưởng
-(*)+ -DEAN
-(*)+ -NHANVIEN
+ (NV#, SODA) -+ PHANCONG
SửaXóaThêmR14
TopTaiLieu.Com | Chia Sẻ Tài Liệu Miễn Phí
Các file đính kèm theo tài liệu này:
- gia_vu_van_dinh_6_2911_2004656.pdf