SlideShare a Scribd company logo
1 of 53
Download to read offline
Đại Học Sư Phạm Tp. Hồ Chí Minh
Khoa Toán – Tin Học
Ở Ữ ỆỞ Ữ ỆCƠ SỞ DỮ LIỆUCƠ SỞ DỮ LIỆU
Ràng buộc toàn vẹnRàng buộc toàn vẹn
1
Trần Ngọc Bảo
Email: tnbao.dhsp@gmail.com
Nội dung
• Định nghĩa RBTVị g
• Các đặc trưng của RBTV
Phâ l i RBTV• Phân loại RBTV
• Cài đặt RBTVặ
Tran Ngoc BaoTran Ngoc Bao 22 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM2
Ràng buộc toàn vẹn ?
Xét quan hệ nhân viên với thể hiện như sau
Mã NV Tên NV Ngày sinh Giới tính Địa chỉ
NV001 Nguyễn Công Phú 11/12/1979 Nam
NV002 Phan Thị Anh Khanh 20/06/1979 Nữ
NV003 Phạm Thị Khánh Như 11/11/1981 Nữạ ị / /
NV004 Đỗ Thành Kính 1/12/1975 Nam
NV005 Lê Thanh Phúc 03/08/1976 Nam
NV005 Nguyễn Đức Lâm 5/11/1976 ?
Nam NữNam Nữ
Qui định: Giới tính của nhân viên chỉ thuộc 1 trong
2 giá trị «Nam» hoặc «Nữ» là 1 ràng buộc toàn vẹn
Tran Ngoc BaoTran Ngoc Bao 33 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM3
Ràng buộc toàn vẹn ?
Xét hệ i h iê t hệ thố ả lýXét quan hệ sinh viên trong hệ thống quản lý
sinh viên với thể hiện như sau
Mã SV Tên SV Ngày sinh Giới tính Ngày nhập họcMã SV Tên SV Ngày sinh Giới tính Ngày nhập học
SV001 Nguyễn Công Phú 11/12/1979 Nam 5/9/2001
SV002 Phan Thị Anh Khanh 20/06/1979 Nữ 5/9/2002
SV003 Phạm Thị Khánh Như 11/11/1981 Nữ 5/11/2001ạ ị / / / /
SV004 Đỗ Thành Kính 1/12/1975 Nam 5/9/2001
SV005 Lê Thanh Phúc 03/08/1976 Nam 5/9/2002
SV005 Nguyễn Đức Lâm 5/11/1990 Nam 5/9/2006
Qui định: Tuổi của sinh viên phải lớn hơn 18t
?
Qui định: Tuổi của sinh viên phải lớn hơn 18t
là 1 ràng buộc toàn vẹn liên quan đến ngày sinh
và ngày nhập học
Tran Ngoc BaoTran Ngoc Bao 44 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM4
và ngày nhập học
Định nghĩa RBTV
–RBTV là các qui định, điều kiện
từ thực tế được cài đặt để đảmự ợ ặ
bảo dữ liệu lưu trữ trong CSDL
phải thỏa mãn những qui địnhp g q ị
này.
Cá điề kiệ à hải l ô đú–Các điều kiện này phải luôn đúng
sau mỗi thao tác (thêm, xóa,
ử ) là th đổi t thái ủsửa) làm thay đổi trạng thái của
CSDL
Tran Ngoc BaoTran Ngoc Bao 55 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM5
Ví dụ về RBTV
– Điểm của sinh viên phải từ 0 đến 10 là
một qui định đây là 1 ràng buộcmột qui định đây là 1 ràng buộc
toàn vẹn
– Ngày sinh của sinh viên phải nhỏ hơn– Ngày sinh của sinh viên phải nhỏ hơn
ngày nhập học là một RBTV
– Sinh viên đăng ký học với những mônSinh viên đăng ký học với những môn
học thuộc khoa mà sinh viên đó học
là một RBTV
Tran Ngoc BaoTran Ngoc Bao 66 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM6
Tầm quan trọng của RBTV
– Giúp CSDL thể hiện trung thực
thế iới thự à CSDL đ ôthế giới thực mà CSDL đang mô
tả
– Ngăn chặn những thao tác gây
sai trên CSDL
– Giúp CDSL luôn đúng đắn
Tran Ngoc BaoTran Ngoc Bao 77 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM7
Các đặc trưng của RBTV
Nội dung
Bối cảnh
Tầm ảnh hưởngTầm ảnh hưởng
Tran Ngoc BaoTran Ngoc Bao 88 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM8
Nội dung của RBTV(1/2)
• Nội dung của RBTV là điều kiện phải
thỏthỏa.
• Nội dung RBTV được phát biểu bằng
ô ữ tự hiê h ặ ột ôngôn ngữ tự nhiên hoặc một ngôn
ngữ hình thức (phép tính quan hệ,
đại số quan hệ mã giả )đại số quan hệ, mã giả,…)
– Ngôn ngữ tự nhiên: Dễ hiểu nhưng
không chặt chẽ, logic.không chặt chẽ, logic.
– Ngôn ngữ hình thức: chặt chẽ, cô đọng
nhưng đôi lúc khó hiểu.
Tran Ngoc BaoTran Ngoc Bao 99 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM9
Nội dung của RBTV (2/2)
• Ví dụ: Một RBTV R được phát biểuụ ộ ợ p
bằng ngôn ngữ tự nhiên như sau:
– Giới tính của nhân viên phải thuộc 1p ộ
trong 2 giá trị “Nam” hoặc “Nữ”.
• Điều kiện trên có thể phát biểu lạiệ ó p ạ
bằng ngôn ngữ hình thức như sau:
– ∀ nv ∈ NHANVIEN, nv.Phai∀ nv ∈ NHANVIEN, nv.Phai
∈[“Nam”,”Nữ”]
Tran Ngoc BaoTran Ngoc Bao 1010 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM10
Nội dung của RBTV (2/2)
Xét quan hệ nhân viên với thể hiện như sau
Mã NV Tên NV Ngày sinh Giới tính Địa chỉ
NV001 Nguyễn Công Phú 11/12/1979 Nam
NV002 Phan Thị Anh Khanh 20/06/1979 Nữ
NV003 Phạm Thị Khánh Như 11/11/1981 Nữạ ị / /
NV004 Đỗ Thành Kính 1/12/1975 Nam
NV005 Lê Thanh Phúc 03/08/1976 Nam
NV005 Nguyễn Đức Lâm 5/11/1976 Nu
Không hợp lệKhông hợp lệ
Qui định: Giới tính của nhân viên chỉ thuộc 1 trong
2 giá trị «Nam» hoặc «Nữ»
Tran Ngoc BaoTran Ngoc Bao 1111 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM11
2 giá trị Nam hoặc Nữ
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ácquan 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ạmràng buộc toàn vẹn bị vi phạm.
Ví dụ: Bối cảnh của RBTV R trong víVí dụ: Bối cảnh của RBTV R trong ví
dụ trên là quan hệ NHANVIEN
Tran Ngoc BaoTran Ngoc Bao 1212 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM12
Tầm ảnh hưởng (1/2)
Tầm ảnh hưởng của RBTV được biểu diễng ợ
bằng một bảng hai chiều gọi là bảng tầm
ảnh hưởng.g
Tran Ngoc BaoTran Ngoc Bao 1313 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM13
Tầm ảnh hưởng (1/2)
Xét quan hệ nhân viên với thể hiện như sau
Mã NV Tên NV Ngày sinh Giới tính Địa chỉ
NV001 Nguyễn Công Phú 11/12/1979 NamNV001 Nguyễn Công Phú 11/12/1979 Nam
NV002 Phan Thị Anh Khanh 20/06/1979 Nữ
NV003 Phạm Thị Khánh Như 11/11/1981 Nữ
NV004 Đỗ Thành Kính 1/12/1975 NamNV004 Đỗ Thành Kính 1/12/1975 Nam
NV005 Lê Thanh Phúc 03/08/1976 Nam
NV005 Nguyễn Đức Lâm 5/11/1976 Nu
Qui định: Giới tính của nhân viên chỉ thuộc 1 trong
2 giá trị «Nam» hoặc «Nữ»
• Thêm 1 dòng vào quan hệ NhanVien phải thực hiện kiểm tra RB• Thêm 1 dòng vào quan hệ NhanVien phải thực hiện kiểm tra RB
• Xóa 1 dòng từ quan hệ NhanVien không cần phải thực hiện kiểm tra RB
• Sửa thuộc tính “giới tính” của 1 dòng trong quan hệ NhanVien phải thực hiện
kiểm tra RB
Tran Ngoc BaoTran Ngoc Bao 1414 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM14
kiểm tra RB
Tầm ảnh hưởng (1/2)
Bảng tầm ảnh hưởng của RBTV trên được mô tả như sau:
R Thêm Xóa Sửa
NhanVien + +(giới tính)NhanVien + - +(giới tính)
• Thêm 1 dòng vào quan hệ NhanVien phải thực hiện kiểm tra RB +
• Xóa 1 dòng từ quan hệ NhanVien không cần phải thực hiện kiểm tra RB -
• Sửa thuộc tính “giới tính” của 1 dòng trong quan hệ NhanVien phải thực hiện
kiểm tra RB +(Giới tính)
Tran Ngoc BaoTran Ngoc Bao 1515 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM15
Tầm ảnh hưởng của RBTV (2/2)
Ri Thêm Xóa Sửa
Bảng tầm ảnh hưởng của RBTV có dạng như sau:
ê óa Sửa
Quan hệ 1 + + - (*)
………
Quan hệ n - - +(A)
Ký hiệu + : Vi phạm RBTV
Ký hiệu - : Không vi phạm RBTV
Ký hiệu +(A) : Vi phạm RBTV khi thao tác trên thuộc tính AKý hiệu +(A) : Vi phạm RBTV khi thao tác trên thuộc tính A
Ký hiệu –(*) : Không vi phạm RBTV do thao tác không thực hiện
được
Tran Ngoc BaoTran Ngoc Bao 1616 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM16
Phân loại RBTV
• RBTV có bối cảnh trên 1 quan hệ
– RBTV miền giá trị.g ị
– RBTV liên bộ
– RBTV liên thuộc tính
– RBTV giá trị thuộc tính theo thời gian
• RBTV có bối cảnh trên nhiều quan hệ
– RBTV liên bộ, liên quan hệ
– RBTV liên thuộc tính, liên quan hệ
d h ộ í h ổ 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ệ
Tran Ngoc BaoTran Ngoc Bao 1717 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM17
RBTV có bối cảnh trên 1 quan hệ
ề á• RBTV miền giá trị.
• RBTV liên bộộ
• RBTV liên thuộc tính
• RBTV giá trị thuộc tính theo thời gian• RBTV giá trị thuộc tính theo thời gian
Tran Ngoc BaoTran Ngoc Bao 1818 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM18
RBTV miền giá trị (1/3)
• RBTV miền giá trị qui định tập giá trịRBTV miền giá trị qui định tập giá trị
mà một thuộc tính có thể nhận.
• Ví dụ:
O ( ) {‘ ’ ‘ ữ’}• DOM(PHAI) = {‘Nam’, ‘Nữ’}
• DOM(DIEM) = {0,0.5, 1, 1.5,..10}
Tran Ngoc BaoTran Ngoc Bao 1919 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM19
RBTV miền giá trị (2/3)
• Ví dụ: Xét lược đồ quan hệ
NHANVIEN (MANV TENNV NGSINH PHAI– NHANVIEN (MANV, TENNV, NGSINH, PHAI,
DCHI)
• Xét RBTV R:• Xét RBTV R:
– Nội dung:
• Phái của nhân viên chỉ có thể là ‘Nam’Phái của nhân viên chỉ có thể là Nam
hoặc ‘Nữ’
• ∀n ∈ NHANVIEN: n.PHAI IN {‘Nam’,’Nữ’}
– Bối cảnh: quan hệ NHANVIEN
Tran Ngoc BaoTran Ngoc Bao 2020 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM20
RBTV miền giá trị (3/3)
Bảng tầm ảnh hưởng:–Bảng tầm ảnh hưởng:
R Thêm Xóa Sửa
NHANVIEN + - +(PHAI)NHANVIEN + +(PHAI)
Tran Ngoc BaoTran Ngoc Bao 2121 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM21
RBTV miền giá trị (3/3)
Cài đặt ràng buộc toàn vẹn miền giá trị: có 2 cách
• Cài đặt trên giao diện
• Cài đặt trong SQL Server
Sử dụng đối tượng Rules trong SQL
Server để cài đặt RBTV miền giá trị
Tran Ngoc BaoTran Ngoc Bao 2222 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM22
RBTV miền giá trị (3/3)
• Cài đặt trong SQL Server
• Click phải chuột mục “Rules”• Click phải chuột mục Rules
• Chọn New Rule…
Tran Ngoc BaoTran Ngoc Bao 2323 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM23
RBTV miền giá trị (3/3)
• Cài đặt trong SQL Server
• Name: Nhập tên ràng buộc
• Text: nhập nội dung ràng buộcText: nhập nội dung ràng buộc
Tran Ngoc BaoTran Ngoc Bao 2424 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM24
RBTV miền giá trị (3/3)
• Cài đặt trong SQL Server
RB: Giới tính của nhân viên chỉ thuộc 1 trong 2 giá
trị «Nam» hoặc «Nữ»
• Name: nhập
RPhai
• Text: nhập
@Phai In (N’Nam’,N’Nữ’)
• Click chuột button “Bind Columns..”
Tran Ngoc BaoTran Ngoc Bao 2525 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM25
RBTV miền giá trị (3/3)
• Cài đặt trong SQL Server
• Table: chọn Table cần
cài đặt ràng buộc trên
thuộc tính phái, ví dụ
NhanVienNhanVien
• Unbound Columns: chọn
thuộc tính cần cài đặt ràng
b ộ í d h h ibuộc, ví dụ chọn Phai
• Nhấn button Add
Tran Ngoc BaoTran Ngoc Bao 2626 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM26
RBTV miền giá trị (3/3)
• Cài đặt trong SQL Server
• Click button OK
Tran Ngoc BaoTran Ngoc Bao 2727 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM27
RBTV miền giá trị (3/3)
• Cài đặt trong SQL Server
Cli k b OK• Click button OK
Tran Ngoc BaoTran Ngoc Bao 2828 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM28
RBTV liên bộ (1/2)
• 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ệg ộ g ộ q ệ
• Ví dụ: Xét lược đồ quan hệ:
– PHONGBAN(MAPHG, TENPHG, TRPHG,NGNC)
• Xét RBTV R:• Xét RBTV R:
– Nội dung:
• Hai bộ khác nhau sẽ khác nhau tại giá trị khóa
∀ 1 2 PHONGBAN 1 2• ∀ p1, p2 ∈ PHONGBAN: p1 ≠ p2
• ⇒ p1[MAPHG] ≠ p2[MAPHG]
– Bối cảnh: quan hệ PHONGBAN
Tran Ngoc BaoTran Ngoc Bao 2929 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM29
RBTV liên bộ (2/2)
–Bảng tầm ảnh hưởng:g g
R Thêm Xóa Sửa
PHONGBAN + - -(*)
Tran Ngoc BaoTran Ngoc Bao 3030 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM30
RBTV liên thuộc tính (1/2)
• 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ệộ g g ộ q ệ
• Ví dụ: Xét lược đồ quan hệ
– DEAN (MADA, TENDA, DDIEM_DA, PHONG,
NGBD_DK, NGKT_DK)
– Xét RBTV R:
Nội d :– Nội dung:
• Với mọi đề án, ngày bắt đầu dự kiến (NGBD_DK) phải
nhỏ hơn ngày kết thúc dự kiến (NGKT_DK)
∀d DEAN d[NGBD DK] d[NGKT DK]• ∀d ∈ DEAN, d[NGBD_DK] <= d[NGKT_DK]
Tran Ngoc BaoTran Ngoc Bao 3131 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM31
RBTV liên thuộc tính (2/2)
– Bối cảnh: quan hệ DEAN
– Bảng tầm ảnh hưởng:
R Thêm Xóa Sửa
DEAN + - +(NGBD_DK,
NGKT_DK)
Tran Ngoc BaoTran Ngoc Bao 3232 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM32
RBTV liên thuộc tính (2/2)
Cài đặt ràng buộc toàn vẹn liên thuộc tính: có 2 cách
• Cài đặt trên giao diện
• Cài đặt trong SQL Server
Sử dụng đối tượng Triggers trong
Tables SQL Server để cài đặt RBTVTables SQL Server để cài đặt RBTV
miền giá trị
Tran Ngoc BaoTran Ngoc Bao 3333 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM33
RBTV giá trị thuộc tính theo thời gian (1/3)
• RBTV giá trị thuộc tính theo thời gian doRBTV giá trị thuộc tính theo thời gian do
thao tác cập nhật gây ra.
• RBTV giá trị thuộc tính theo thời gian cho• RBTV giá trị thuộc tính theo thời gian cho
biết mối quan hệ giữa giá trị cũ và
giá trị mới của một thuộc tínhgiá trị mới của một thuộc tính.
Tran Ngoc BaoTran Ngoc Bao 3434 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM34
RBTV giá trị thuộc tính theo thời gian (2/3)
• Ví dụ: Xét lược đồ quan hệ
– NHANVIEN (MANV TENNV LUONG PHONG)– NHANVIEN (MANV, TENNV, LUONG, PHONG)
– Xét RBTV R:
– Nội dung:Nội dung:
• Lương của nhân viên chỉ tăng chứ không được
giảm
∀ NHANVIEN LUONG(Cũ) LUONG(Mới)• ∀nv ∈ NHANVIEN, nv.LUONG(Cũ) <= nv.LUONG(Mới)
Tran Ngoc BaoTran Ngoc Bao 3535 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM35
RBTV giá trị thuộc tính theo thời gian (3/3)
– Bối cảnh: quan hệ NHANVIEN
– Bảng tầm ảnh hưởng:
R Thêm Xóa Sửa
NHANVIEN - - +(LUONG)
Tran Ngoc BaoTran Ngoc Bao 3636 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM36
RBTV có bối cảnh trên nhiều quan hệ
• RBTV liên bộ, liên quan hệ
liê h ộ í h liê 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ệq ệ
Tran Ngoc BaoTran Ngoc Bao 3737 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM37
RBTV tham chiếu (1/5)
• RBTV tham chiếu là ràng buộc quy
định giá trị của thuộc tính trong mộtđị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áS khác.
RBTV th hiế ò i là à• 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ạikhóa ngoại
Tran Ngoc BaoTran Ngoc Bao 3838 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM38
RBTV tham chiếu (2/5)
• Ví dụ : Xét lược đồ quan hệ lấy lại nhân viên,
phòng ban
– THANNHAN(MANV,MATN,TENTN,PHAI,NGSINH,QUANTHANNHAN(MANV,MATN,TENTN,PHAI,NGSINH,QUAN
HE)
– NHANVIEN (MANV, HONV, TENLOT, TENNV, NGSINH,
PHAI, DCHI, MA_NQL, PHONG, MLUONG)
Xét RBTV R:
– Nội dung:
• Mọi thân nhân phải có mối quan hệ gia đình
với một nhân viên trong công ty.
• ∀t ∈ THANNHAN, ∃n ∈ NHANVIEN:
[MANV] t[MANV]n[MANV] = t[MANV]
• (Viết tắt:THANNHAN[MANV] ⊆
NHANVIEN[MANV])
Tran Ngoc BaoTran Ngoc Bao 3939 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM39
RBTV tham chiếu (3/5)
–Bối cảnh: NHANVIEN, THANNHAN
–Bảng tầm ảnh hưởng:Bảng tầm ảnh hưởng:
R8 Thêm Xóa Sửa
THANNHAN + - +(MANV)
NHANVIEN - + - (*)
Lưu ý: RBTV tham chiếu thường có bối cảnh là hai quan hệ. Tuy nhiên,
cũng có trường hợp suy biến thành 1 quan hệ
NHANVIEN + ( )
cũng có trường hợp suy biến thành 1 quan hệ.
Tran Ngoc BaoTran Ngoc Bao 4040 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM40
RBTV tham chiếu (4/5)
• Ví dụ: Xét các lược đồ quan hệ
• PHONGBAN (MAPHG, TENPHG, TRPHG, NGNC)
• NHANVIEN (MANV HONV TENLOT TENNV NGSINH• NHANVIEN (MANV, HONV, TENLOT, TENNV, NGSINH,
PHAI, DCHI, MA_NQL, PHONG, MLUONG)
– Xét RBTV R:
Nội d– Nội dung:
• Mỗi trưởng phòng phải là một nhân viên
trong công ty.g g y
– ∀p ∈ PHONGBAN, ∃n ∈ NHANVIEN:
n[MANV] = P[TRPHG]
H PHONGBAN[TRPHG]Hay: PHONGBAN[TRPHG] ⊆
NHANVIEN[MANV])
Tran Ngoc BaoTran Ngoc Bao 4141 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM41
RBTV tham chiếu (5/5)
–Bối cảnh: NHANVIEN, PHONGBAN
–Bảng tầm ảnh hưởng:Bảng tầm ảnh hưởng:
R Thêm Xóa Sửa
PHONGBAN + - +(TRPHG)
NHANVIEN - + - (*)
Tran Ngoc BaoTran Ngoc Bao 4242 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM42
RBTV liên bộ, liên quan hệ (1/2)
• 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 Xét á lượ đồ hệ• Ví dụ: Xét các lược đồ quan hệ
• PHONGBAN (MAPHG, TENPHG, TRPHG, NGNC)
• DIADIEM_PHG (MAPHG, DIADIEM)
é• Xét RBTV R:
• Nội dung:
• Mỗi phòng ban phải có ít nhất một địa điểm phòng
• ∀p ∈ PHONGBAN, ∃d ∈ DIADIEM_PHG:
p.MAPHG = d.MAPHG
Tran Ngoc BaoTran Ngoc Bao 4343 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM43
RBTV liên bộ, liên quan hệ (2/2)
–Bối cảnh: PHONGBAN, DIADIEM_PHG
Bảng tầm ảnh hưởng:–Bảng tầm ảnh hưởng:
R10 Thêm Xóa Sửa
PHONGBAN - - -
DIADIEM_PHG - + + (MAPHG)
Tran Ngoc BaoTran Ngoc Bao 4444 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM44
RBTV liên thuộc tính, liên quan hệ (1/2)
• 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ụ:Xét các lược đồ quan hệ
DATHANG(MADH MAKH NGAYDH)– DATHANG(MADH, MAKH, NGAYDH)
– GIAOHANG(MAGH, MADH, NGAYGH)
– Xét RBTV R:Xét RBTV R:
– 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]
Tran Ngoc BaoTran Ngoc Bao 4545 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM45
RBTV liên thuộc tính, liên quan hệ (2/2)
–Bối cảnh: DATHANG, GIAOHANG
Bảng tầm ảnh hưởng:–Bảng tầm ảnh hưởng:
R Thêm Xóa Sửa
DATHANG - - + (ngaydh)
GIAOHANG + - + (ngaygh)
Tran Ngoc BaoTran Ngoc Bao 4646 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM46
RBTV do thuộc tính tổng hợp (1/3)
• 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.
hi ó h ộ í h ổ h ầ hải• 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ínhgiữa nó và nguồn mà nó được tính
toán từ đó.
Ví dụ:Xét các lược đồ quan hệ• Ví dụ:Xét các lược đồ quan hệ
– PXUAT(SOPHIEU, NGAY, TONGTRIGIA)
– CTIET PX(SOPHIEU, MAHANG, SL, DG)
Tran Ngoc BaoTran Ngoc Bao 4747 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM47
_ ( , , , )
RBTV do thuộc tính tổng hợp (2/3)
– Xét RBTV R:
– Nội dung:ộ g
• 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.TONGTRIGIA = Σ(ct ∈ CTIET_PX ∧ ct.SOPHIEU =
px.SOPHIEU) ct.SL * ct.DG
Bối ả h PXUAT CTIET PX– Bối cảnh: PXUAT,CTIET_PX
Tran Ngoc BaoTran Ngoc Bao 4848 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM48
RBTV do thuộc tính tổng hợp (3/3)
–Bảng tầm ảnh hưởng:
R Thê Xó SửR Thêm Xóa Sửa
PXUAT -(*) + + (tongtrigia)( ) ( g g )
CTIET_PX + + + (sl,dg)
–-(*) Ở thời điểm thêm một bộ vào PXUAT, giá trị bộ đó tại
TONGTRIGIA là trống.TONGTRIGIA là trống.
Tran Ngoc BaoTran Ngoc Bao 4949 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM49
RBTV do có chu trình (1/3)
Tran Ngoc BaoTran Ngoc Bao 5050 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM50
RBTV do có chu trình (2/3)
• Ví dụ :Xét các lược đồ quan hệ
– CA_TH (MA_CATH, LOP)
– DANGKY_LT (SV, LOP)
– DANKY_TH (SV, MA_CATH)
– Xét RBTV R:
– Nội dung:
• Mỗi sinh viên chỉ được phép đăng ký các ca thực hành của
lớp lý thuyết mà mình đã đăng ký
• ∀d ∈ DANGKY_TH: ∃k ∈ (DANGKY_LT∗ CA_TH):
k[SV, MA_CATH] = d[SV,MA_CATH]
Hay: DANGKY_TH[SV,MA_CATH] ⊆ (DANGKY_LT ∗ CA_TH) [SV,MA_CATH]
Tran Ngoc BaoTran Ngoc Bao 5151 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM51
RBTV do có chu trình (3/3)
–Bối cảnh: CA_TH,DANGKY_LT,DANGKY_TH
Bảng tầm ảnh hưởng:–Bảng tầm ảnh hưởng:
R13 Thêm Xóa Sửa
CA_TH - + +
DANGKY_LT - - +
DANGKY_TH + - +
Tran Ngoc BaoTran Ngoc Bao 5252 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM52
Tran Ngoc BaoTran Ngoc Bao 5353 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM53

More Related Content

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Db 08

  • 1. Đại Học Sư Phạm Tp. Hồ Chí Minh Khoa Toán – Tin Học Ở Ữ ỆỞ Ữ ỆCƠ SỞ DỮ LIỆUCƠ SỞ DỮ LIỆU Ràng buộc toàn vẹnRàng buộc toàn vẹn 1 Trần Ngọc Bảo Email: tnbao.dhsp@gmail.com
  • 2. Nội dung • Định nghĩa RBTVị g • Các đặc trưng của RBTV Phâ l i RBTV• Phân loại RBTV • Cài đặt RBTVặ Tran Ngoc BaoTran Ngoc Bao 22 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM2
  • 3. Ràng buộc toàn vẹn ? Xét quan hệ nhân viên với thể hiện như sau Mã NV Tên NV Ngày sinh Giới tính Địa chỉ NV001 Nguyễn Công Phú 11/12/1979 Nam NV002 Phan Thị Anh Khanh 20/06/1979 Nữ NV003 Phạm Thị Khánh Như 11/11/1981 Nữạ ị / / NV004 Đỗ Thành Kính 1/12/1975 Nam NV005 Lê Thanh Phúc 03/08/1976 Nam NV005 Nguyễn Đức Lâm 5/11/1976 ? Nam NữNam Nữ Qui định: Giới tính của nhân viên chỉ thuộc 1 trong 2 giá trị «Nam» hoặc «Nữ» là 1 ràng buộc toàn vẹn Tran Ngoc BaoTran Ngoc Bao 33 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM3
  • 4. Ràng buộc toàn vẹn ? Xét hệ i h iê t hệ thố ả lýXét quan hệ sinh viên trong hệ thống quản lý sinh viên với thể hiện như sau Mã SV Tên SV Ngày sinh Giới tính Ngày nhập họcMã SV Tên SV Ngày sinh Giới tính Ngày nhập học SV001 Nguyễn Công Phú 11/12/1979 Nam 5/9/2001 SV002 Phan Thị Anh Khanh 20/06/1979 Nữ 5/9/2002 SV003 Phạm Thị Khánh Như 11/11/1981 Nữ 5/11/2001ạ ị / / / / SV004 Đỗ Thành Kính 1/12/1975 Nam 5/9/2001 SV005 Lê Thanh Phúc 03/08/1976 Nam 5/9/2002 SV005 Nguyễn Đức Lâm 5/11/1990 Nam 5/9/2006 Qui định: Tuổi của sinh viên phải lớn hơn 18t ? Qui định: Tuổi của sinh viên phải lớn hơn 18t là 1 ràng buộc toàn vẹn liên quan đến ngày sinh và ngày nhập học Tran Ngoc BaoTran Ngoc Bao 44 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM4 và ngày nhập học
  • 5. Định nghĩa RBTV –RBTV là các qui định, điều kiện từ thực tế được cài đặt để đảmự ợ ặ bảo dữ liệu lưu trữ trong CSDL phải thỏa mãn những qui địnhp g q ị này. Cá điề kiệ à hải l ô đú–Các điều kiện này phải luôn đúng sau mỗi thao tác (thêm, xóa, ử ) là th đổi t thái ủsửa) làm thay đổi trạng thái của CSDL Tran Ngoc BaoTran Ngoc Bao 55 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM5
  • 6. Ví dụ về RBTV – Điểm của sinh viên phải từ 0 đến 10 là một qui định đây là 1 ràng buộcmột qui định đây là 1 ràng buộc toàn vẹn – Ngày sinh của sinh viên phải nhỏ hơn– Ngày sinh của sinh viên phải nhỏ hơn ngày nhập học là một RBTV – Sinh viên đăng ký học với những mônSinh viên đăng ký học với những môn học thuộc khoa mà sinh viên đó học là một RBTV Tran Ngoc BaoTran Ngoc Bao 66 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM6
  • 7. Tầm quan trọng của RBTV – Giúp CSDL thể hiện trung thực thế iới thự à CSDL đ ôthế giới thực mà CSDL đang mô tả – Ngăn chặn những thao tác gây sai trên CSDL – Giúp CDSL luôn đúng đắn Tran Ngoc BaoTran Ngoc Bao 77 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM7
  • 8. Các đặc trưng của RBTV Nội dung Bối cảnh Tầm ảnh hưởngTầm ảnh hưởng Tran Ngoc BaoTran Ngoc Bao 88 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM8
  • 9. Nội dung của RBTV(1/2) • Nội dung của RBTV là điều kiện phải thỏthỏa. • Nội dung RBTV được phát biểu bằng ô ữ tự hiê h ặ ột ôngôn ngữ tự nhiên hoặc một ngôn ngữ hình thức (phép tính quan hệ, đại số quan hệ mã giả )đại số quan hệ, mã giả,…) – Ngôn ngữ tự nhiên: Dễ hiểu nhưng không chặt chẽ, logic.không chặt chẽ, logic. – Ngôn ngữ hình thức: chặt chẽ, cô đọng nhưng đôi lúc khó hiểu. Tran Ngoc BaoTran Ngoc Bao 99 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM9
  • 10. Nội dung của RBTV (2/2) • Ví dụ: Một RBTV R được phát biểuụ ộ ợ p bằng ngôn ngữ tự nhiên như sau: – Giới tính của nhân viên phải thuộc 1p ộ trong 2 giá trị “Nam” hoặc “Nữ”. • Điều kiện trên có thể phát biểu lạiệ ó p ạ bằng ngôn ngữ hình thức như sau: – ∀ nv ∈ NHANVIEN, nv.Phai∀ nv ∈ NHANVIEN, nv.Phai ∈[“Nam”,”Nữ”] Tran Ngoc BaoTran Ngoc Bao 1010 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM10
  • 11. Nội dung của RBTV (2/2) Xét quan hệ nhân viên với thể hiện như sau Mã NV Tên NV Ngày sinh Giới tính Địa chỉ NV001 Nguyễn Công Phú 11/12/1979 Nam NV002 Phan Thị Anh Khanh 20/06/1979 Nữ NV003 Phạm Thị Khánh Như 11/11/1981 Nữạ ị / / NV004 Đỗ Thành Kính 1/12/1975 Nam NV005 Lê Thanh Phúc 03/08/1976 Nam NV005 Nguyễn Đức Lâm 5/11/1976 Nu Không hợp lệKhông hợp lệ Qui định: Giới tính của nhân viên chỉ thuộc 1 trong 2 giá trị «Nam» hoặc «Nữ» Tran Ngoc BaoTran Ngoc Bao 1111 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM11 2 giá trị Nam hoặc Nữ
  • 12. 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ácquan 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ạmràng buộc toàn vẹn bị vi phạm. Ví dụ: Bối cảnh của RBTV R trong víVí dụ: Bối cảnh của RBTV R trong ví dụ trên là quan hệ NHANVIEN Tran Ngoc BaoTran Ngoc Bao 1212 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM12
  • 13. Tầm ảnh hưởng (1/2) Tầm ảnh hưởng của RBTV được biểu diễng ợ bằng một bảng hai chiều gọi là bảng tầm ảnh hưởng.g Tran Ngoc BaoTran Ngoc Bao 1313 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM13
  • 14. Tầm ảnh hưởng (1/2) Xét quan hệ nhân viên với thể hiện như sau Mã NV Tên NV Ngày sinh Giới tính Địa chỉ NV001 Nguyễn Công Phú 11/12/1979 NamNV001 Nguyễn Công Phú 11/12/1979 Nam NV002 Phan Thị Anh Khanh 20/06/1979 Nữ NV003 Phạm Thị Khánh Như 11/11/1981 Nữ NV004 Đỗ Thành Kính 1/12/1975 NamNV004 Đỗ Thành Kính 1/12/1975 Nam NV005 Lê Thanh Phúc 03/08/1976 Nam NV005 Nguyễn Đức Lâm 5/11/1976 Nu Qui định: Giới tính của nhân viên chỉ thuộc 1 trong 2 giá trị «Nam» hoặc «Nữ» • Thêm 1 dòng vào quan hệ NhanVien phải thực hiện kiểm tra RB• Thêm 1 dòng vào quan hệ NhanVien phải thực hiện kiểm tra RB • Xóa 1 dòng từ quan hệ NhanVien không cần phải thực hiện kiểm tra RB • Sửa thuộc tính “giới tính” của 1 dòng trong quan hệ NhanVien phải thực hiện kiểm tra RB Tran Ngoc BaoTran Ngoc Bao 1414 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM14 kiểm tra RB
  • 15. Tầm ảnh hưởng (1/2) Bảng tầm ảnh hưởng của RBTV trên được mô tả như sau: R Thêm Xóa Sửa NhanVien + +(giới tính)NhanVien + - +(giới tính) • Thêm 1 dòng vào quan hệ NhanVien phải thực hiện kiểm tra RB + • Xóa 1 dòng từ quan hệ NhanVien không cần phải thực hiện kiểm tra RB - • Sửa thuộc tính “giới tính” của 1 dòng trong quan hệ NhanVien phải thực hiện kiểm tra RB +(Giới tính) Tran Ngoc BaoTran Ngoc Bao 1515 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM15
  • 16. Tầm ảnh hưởng của RBTV (2/2) Ri Thêm Xóa Sửa Bảng tầm ảnh hưởng của RBTV có dạng như sau: ê óa Sửa Quan hệ 1 + + - (*) ……… Quan hệ n - - +(A) Ký hiệu + : Vi phạm RBTV Ký hiệu - : Không vi phạm RBTV Ký hiệu +(A) : Vi phạm RBTV khi thao tác trên thuộc tính AKý hiệu +(A) : Vi phạm RBTV khi thao tác trên thuộc tính A Ký hiệu –(*) : Không vi phạm RBTV do thao tác không thực hiện được Tran Ngoc BaoTran Ngoc Bao 1616 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM16
  • 17. Phân loại RBTV • RBTV có bối cảnh trên 1 quan hệ – RBTV miền giá trị.g ị – RBTV liên bộ – RBTV liên thuộc tính – RBTV giá trị thuộc tính theo thời gian • RBTV có bối cảnh trên nhiều quan hệ – RBTV liên bộ, liên quan hệ – RBTV liên thuộc tính, liên quan hệ d h ộ í h ổ 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ệ Tran Ngoc BaoTran Ngoc Bao 1717 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM17
  • 18. RBTV có bối cảnh trên 1 quan hệ ề á• RBTV miền giá trị. • RBTV liên bộộ • RBTV liên thuộc tính • RBTV giá trị thuộc tính theo thời gian• RBTV giá trị thuộc tính theo thời gian Tran Ngoc BaoTran Ngoc Bao 1818 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM18
  • 19. RBTV miền giá trị (1/3) • RBTV miền giá trị qui định tập giá trịRBTV miền giá trị qui định tập giá trị mà một thuộc tính có thể nhận. • Ví dụ: O ( ) {‘ ’ ‘ ữ’}• DOM(PHAI) = {‘Nam’, ‘Nữ’} • DOM(DIEM) = {0,0.5, 1, 1.5,..10} Tran Ngoc BaoTran Ngoc Bao 1919 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM19
  • 20. RBTV miền giá trị (2/3) • Ví dụ: Xét lược đồ quan hệ NHANVIEN (MANV TENNV NGSINH PHAI– NHANVIEN (MANV, TENNV, NGSINH, PHAI, DCHI) • Xét RBTV R:• Xét RBTV R: – Nội dung: • Phái của nhân viên chỉ có thể là ‘Nam’Phái của nhân viên chỉ có thể là Nam hoặc ‘Nữ’ • ∀n ∈ NHANVIEN: n.PHAI IN {‘Nam’,’Nữ’} – Bối cảnh: quan hệ NHANVIEN Tran Ngoc BaoTran Ngoc Bao 2020 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM20
  • 21. RBTV miền giá trị (3/3) Bảng tầm ảnh hưởng:–Bảng tầm ảnh hưởng: R Thêm Xóa Sửa NHANVIEN + - +(PHAI)NHANVIEN + +(PHAI) Tran Ngoc BaoTran Ngoc Bao 2121 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM21
  • 22. RBTV miền giá trị (3/3) Cài đặt ràng buộc toàn vẹn miền giá trị: có 2 cách • Cài đặt trên giao diện • Cài đặt trong SQL Server Sử dụng đối tượng Rules trong SQL Server để cài đặt RBTV miền giá trị Tran Ngoc BaoTran Ngoc Bao 2222 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM22
  • 23. RBTV miền giá trị (3/3) • Cài đặt trong SQL Server • Click phải chuột mục “Rules”• Click phải chuột mục Rules • Chọn New Rule… Tran Ngoc BaoTran Ngoc Bao 2323 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM23
  • 24. RBTV miền giá trị (3/3) • Cài đặt trong SQL Server • Name: Nhập tên ràng buộc • Text: nhập nội dung ràng buộcText: nhập nội dung ràng buộc Tran Ngoc BaoTran Ngoc Bao 2424 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM24
  • 25. RBTV miền giá trị (3/3) • Cài đặt trong SQL Server RB: Giới tính của nhân viên chỉ thuộc 1 trong 2 giá trị «Nam» hoặc «Nữ» • Name: nhập RPhai • Text: nhập @Phai In (N’Nam’,N’Nữ’) • Click chuột button “Bind Columns..” Tran Ngoc BaoTran Ngoc Bao 2525 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM25
  • 26. RBTV miền giá trị (3/3) • Cài đặt trong SQL Server • Table: chọn Table cần cài đặt ràng buộc trên thuộc tính phái, ví dụ NhanVienNhanVien • Unbound Columns: chọn thuộc tính cần cài đặt ràng b ộ í d h h ibuộc, ví dụ chọn Phai • Nhấn button Add Tran Ngoc BaoTran Ngoc Bao 2626 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM26
  • 27. RBTV miền giá trị (3/3) • Cài đặt trong SQL Server • Click button OK Tran Ngoc BaoTran Ngoc Bao 2727 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM27
  • 28. RBTV miền giá trị (3/3) • Cài đặt trong SQL Server Cli k b OK• Click button OK Tran Ngoc BaoTran Ngoc Bao 2828 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM28
  • 29. RBTV liên bộ (1/2) • 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ệg ộ g ộ q ệ • Ví dụ: Xét lược đồ quan hệ: – PHONGBAN(MAPHG, TENPHG, TRPHG,NGNC) • Xét RBTV R:• Xét RBTV R: – Nội dung: • Hai bộ khác nhau sẽ khác nhau tại giá trị khóa ∀ 1 2 PHONGBAN 1 2• ∀ p1, p2 ∈ PHONGBAN: p1 ≠ p2 • ⇒ p1[MAPHG] ≠ p2[MAPHG] – Bối cảnh: quan hệ PHONGBAN Tran Ngoc BaoTran Ngoc Bao 2929 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM29
  • 30. RBTV liên bộ (2/2) –Bảng tầm ảnh hưởng:g g R Thêm Xóa Sửa PHONGBAN + - -(*) Tran Ngoc BaoTran Ngoc Bao 3030 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM30
  • 31. RBTV liên thuộc tính (1/2) • 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ệộ g g ộ q ệ • Ví dụ: Xét lược đồ quan hệ – DEAN (MADA, TENDA, DDIEM_DA, PHONG, NGBD_DK, NGKT_DK) – Xét RBTV R: Nội d :– Nội dung: • Với mọi đề án, ngày bắt đầu dự kiến (NGBD_DK) phải nhỏ hơn ngày kết thúc dự kiến (NGKT_DK) ∀d DEAN d[NGBD DK] d[NGKT DK]• ∀d ∈ DEAN, d[NGBD_DK] <= d[NGKT_DK] Tran Ngoc BaoTran Ngoc Bao 3131 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM31
  • 32. RBTV liên thuộc tính (2/2) – Bối cảnh: quan hệ DEAN – Bảng tầm ảnh hưởng: R Thêm Xóa Sửa DEAN + - +(NGBD_DK, NGKT_DK) Tran Ngoc BaoTran Ngoc Bao 3232 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM32
  • 33. RBTV liên thuộc tính (2/2) Cài đặt ràng buộc toàn vẹn liên thuộc tính: có 2 cách • Cài đặt trên giao diện • Cài đặt trong SQL Server Sử dụng đối tượng Triggers trong Tables SQL Server để cài đặt RBTVTables SQL Server để cài đặt RBTV miền giá trị Tran Ngoc BaoTran Ngoc Bao 3333 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM33
  • 34. RBTV giá trị thuộc tính theo thời gian (1/3) • RBTV giá trị thuộc tính theo thời gian doRBTV giá trị thuộc tính theo thời gian do thao tác cập nhật gây ra. • RBTV giá trị thuộc tính theo thời gian cho• RBTV giá trị thuộc tính theo thời gian cho biết mối quan hệ giữa giá trị cũ và giá trị mới của một thuộc tínhgiá trị mới của một thuộc tính. Tran Ngoc BaoTran Ngoc Bao 3434 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM34
  • 35. RBTV giá trị thuộc tính theo thời gian (2/3) • Ví dụ: Xét lược đồ quan hệ – NHANVIEN (MANV TENNV LUONG PHONG)– NHANVIEN (MANV, TENNV, LUONG, PHONG) – Xét RBTV R: – Nội dung:Nội dung: • Lương của nhân viên chỉ tăng chứ không được giảm ∀ NHANVIEN LUONG(Cũ) LUONG(Mới)• ∀nv ∈ NHANVIEN, nv.LUONG(Cũ) <= nv.LUONG(Mới) Tran Ngoc BaoTran Ngoc Bao 3535 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM35
  • 36. RBTV giá trị thuộc tính theo thời gian (3/3) – Bối cảnh: quan hệ NHANVIEN – Bảng tầm ảnh hưởng: R Thêm Xóa Sửa NHANVIEN - - +(LUONG) Tran Ngoc BaoTran Ngoc Bao 3636 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM36
  • 37. RBTV có bối cảnh trên nhiều quan hệ • RBTV liên bộ, liên quan hệ liê h ộ í h liê 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ệq ệ Tran Ngoc BaoTran Ngoc Bao 3737 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM37
  • 38. RBTV tham chiếu (1/5) • RBTV tham chiếu là ràng buộc quy định giá trị của thuộc tính trong mộtđị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áS khác. RBTV th hiế ò i là à• 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ạikhóa ngoại Tran Ngoc BaoTran Ngoc Bao 3838 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM38
  • 39. RBTV tham chiếu (2/5) • Ví dụ : Xét lược đồ quan hệ lấy lại nhân viên, phòng ban – THANNHAN(MANV,MATN,TENTN,PHAI,NGSINH,QUANTHANNHAN(MANV,MATN,TENTN,PHAI,NGSINH,QUAN HE) – NHANVIEN (MANV, HONV, TENLOT, TENNV, NGSINH, PHAI, DCHI, MA_NQL, PHONG, MLUONG) Xét RBTV R: – Nội dung: • Mọi thân nhân phải có mối quan hệ gia đình với một nhân viên trong công ty. • ∀t ∈ THANNHAN, ∃n ∈ NHANVIEN: [MANV] t[MANV]n[MANV] = t[MANV] • (Viết tắt:THANNHAN[MANV] ⊆ NHANVIEN[MANV]) Tran Ngoc BaoTran Ngoc Bao 3939 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM39
  • 40. RBTV tham chiếu (3/5) –Bối cảnh: NHANVIEN, THANNHAN –Bảng tầm ảnh hưởng:Bảng tầm ảnh hưởng: R8 Thêm Xóa Sửa THANNHAN + - +(MANV) NHANVIEN - + - (*) Lưu ý: RBTV tham chiếu thường có bối cảnh là hai quan hệ. Tuy nhiên, cũng có trường hợp suy biến thành 1 quan hệ NHANVIEN + ( ) cũng có trường hợp suy biến thành 1 quan hệ. Tran Ngoc BaoTran Ngoc Bao 4040 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM40
  • 41. RBTV tham chiếu (4/5) • Ví dụ: Xét các lược đồ quan hệ • PHONGBAN (MAPHG, TENPHG, TRPHG, NGNC) • NHANVIEN (MANV HONV TENLOT TENNV NGSINH• NHANVIEN (MANV, HONV, TENLOT, TENNV, NGSINH, PHAI, DCHI, MA_NQL, PHONG, MLUONG) – Xét RBTV R: Nội d– Nội dung: • Mỗi trưởng phòng phải là một nhân viên trong công ty.g g y – ∀p ∈ PHONGBAN, ∃n ∈ NHANVIEN: n[MANV] = P[TRPHG] H PHONGBAN[TRPHG]Hay: PHONGBAN[TRPHG] ⊆ NHANVIEN[MANV]) Tran Ngoc BaoTran Ngoc Bao 4141 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM41
  • 42. RBTV tham chiếu (5/5) –Bối cảnh: NHANVIEN, PHONGBAN –Bảng tầm ảnh hưởng:Bảng tầm ảnh hưởng: R Thêm Xóa Sửa PHONGBAN + - +(TRPHG) NHANVIEN - + - (*) Tran Ngoc BaoTran Ngoc Bao 4242 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM42
  • 43. RBTV liên bộ, liên quan hệ (1/2) • 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 Xét á lượ đồ hệ• Ví dụ: Xét các lược đồ quan hệ • PHONGBAN (MAPHG, TENPHG, TRPHG, NGNC) • DIADIEM_PHG (MAPHG, DIADIEM) é• Xét RBTV R: • Nội dung: • Mỗi phòng ban phải có ít nhất một địa điểm phòng • ∀p ∈ PHONGBAN, ∃d ∈ DIADIEM_PHG: p.MAPHG = d.MAPHG Tran Ngoc BaoTran Ngoc Bao 4343 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM43
  • 44. RBTV liên bộ, liên quan hệ (2/2) –Bối cảnh: PHONGBAN, DIADIEM_PHG Bảng tầm ảnh hưởng:–Bảng tầm ảnh hưởng: R10 Thêm Xóa Sửa PHONGBAN - - - DIADIEM_PHG - + + (MAPHG) Tran Ngoc BaoTran Ngoc Bao 4444 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM44
  • 45. RBTV liên thuộc tính, liên quan hệ (1/2) • 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ụ:Xét các lược đồ quan hệ DATHANG(MADH MAKH NGAYDH)– DATHANG(MADH, MAKH, NGAYDH) – GIAOHANG(MAGH, MADH, NGAYGH) – Xét RBTV R:Xét RBTV R: – 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] Tran Ngoc BaoTran Ngoc Bao 4545 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM45
  • 46. RBTV liên thuộc tính, liên quan hệ (2/2) –Bối cảnh: DATHANG, GIAOHANG Bảng tầm ảnh hưởng:–Bảng tầm ảnh hưởng: R Thêm Xóa Sửa DATHANG - - + (ngaydh) GIAOHANG + - + (ngaygh) Tran Ngoc BaoTran Ngoc Bao 4646 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM46
  • 47. RBTV do thuộc tính tổng hợp (1/3) • 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. hi ó h ộ í h ổ h ầ hải• 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ínhgiữa nó và nguồn mà nó được tính toán từ đó. Ví dụ:Xét các lược đồ quan hệ• Ví dụ:Xét các lược đồ quan hệ – PXUAT(SOPHIEU, NGAY, TONGTRIGIA) – CTIET PX(SOPHIEU, MAHANG, SL, DG) Tran Ngoc BaoTran Ngoc Bao 4747 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM47 _ ( , , , )
  • 48. RBTV do thuộc tính tổng hợp (2/3) – Xét RBTV R: – Nội dung:ộ g • 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.TONGTRIGIA = Σ(ct ∈ CTIET_PX ∧ ct.SOPHIEU = px.SOPHIEU) ct.SL * ct.DG Bối ả h PXUAT CTIET PX– Bối cảnh: PXUAT,CTIET_PX Tran Ngoc BaoTran Ngoc Bao 4848 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM48
  • 49. RBTV do thuộc tính tổng hợp (3/3) –Bảng tầm ảnh hưởng: R Thê Xó SửR Thêm Xóa Sửa PXUAT -(*) + + (tongtrigia)( ) ( g g ) CTIET_PX + + + (sl,dg) –-(*) Ở thời điểm thêm một bộ vào PXUAT, giá trị bộ đó tại TONGTRIGIA là trống.TONGTRIGIA là trống. Tran Ngoc BaoTran Ngoc Bao 4949 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM49
  • 50. RBTV do có chu trình (1/3) Tran Ngoc BaoTran Ngoc Bao 5050 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM50
  • 51. RBTV do có chu trình (2/3) • Ví dụ :Xét các lược đồ quan hệ – CA_TH (MA_CATH, LOP) – DANGKY_LT (SV, LOP) – DANKY_TH (SV, MA_CATH) – Xét RBTV R: – Nội dung: • Mỗi sinh viên chỉ được phép đăng ký các ca thực hành của lớp lý thuyết mà mình đã đăng ký • ∀d ∈ DANGKY_TH: ∃k ∈ (DANGKY_LT∗ CA_TH): k[SV, MA_CATH] = d[SV,MA_CATH] Hay: DANGKY_TH[SV,MA_CATH] ⊆ (DANGKY_LT ∗ CA_TH) [SV,MA_CATH] Tran Ngoc BaoTran Ngoc Bao 5151 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM51
  • 52. RBTV do có chu trình (3/3) –Bối cảnh: CA_TH,DANGKY_LT,DANGKY_TH Bảng tầm ảnh hưởng:–Bảng tầm ảnh hưởng: R13 Thêm Xóa Sửa CA_TH - + + DANGKY_LT - - + DANGKY_TH + - + Tran Ngoc BaoTran Ngoc Bao 5252 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM52
  • 53. Tran Ngoc BaoTran Ngoc Bao 5353 Dai hoc Su Pham TP.HCMDai hoc Su Pham TP.HCM53