Bài giảng Cơ sở dữ liệu - Bài 6: Ràng buộc toàn vẹn - Vũ Văn Định

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.

pdf31 trang | Chuyên mục: Hệ Quản Trị Cơ Sở Dữ Liệu | Chia sẻ: yen2110 | Lượt xem: 499 | Lượt tải: 2download
Tóm tắt nội dung 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 "TẢI VỀ" ở 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
gGIAO_HANG, 
dDAT_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.
pxPXUAT,
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í

File đính kèm:

  • pdfbai_giang_co_so_du_lieu_bai_6_rang_buoc_toan_ven_vu_van_dinh.pdf