CCƠƠ SỞ DỮ LI
Ệ
USỞ DỮ LI
Ệ
U
ỆỆ
GV: ThS. Lê Thị NgọcThảo
Chương 4: Ràng buộctoànvẹn
RBTV
là
gì
?
RBTV
là
gì
?
Các yếutố của RBTV
Phân
loại
ràng
buộc
toàn
vẹn
Phân
loại
ràng
buộc
toàn
vẹn
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
22
Ràng buộctoànvẹnlàgì?
Ràng buộctoànvẹn (RBTV) là một quy tắc
ề
định nghĩa trên một (hay nhi
ề
u) quan hệ
do môi trường ứng dụng quy định.
ÎĐó chính là quy tắc để đảmbảotính
nhất quán củadữ liệu trong CSDL.
Mỗi RBTV được định nghĩabằng một
thuật toán trong CSDL.
33
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
1. Định nghĩa
Ví dụ
R1 :
Mỗi
lớp
học
có
1
mã
số
duy
nhất
để
R1
:
Mỗi
lớp
học
có
1
mã
số
duy
nhất
để
phân biệtvớimọilớphọc khác.
R2 :
Mỗi
lớp
học
phải
thuộc
một
KHOA
của
R2
:
Mỗi
lớp
học
phải
thuộc
một
KHOA
của
trường.
R3 :
Mỗi
học
viên
có
1
mã
số
riêng
biệt
R3
:
Mỗi
học
viên
có
1
mã
số
riêng
biệt
,
không trùng với các học viên khác.
R4
Mỗi
h
iê
hải
đă
ký
à
ột
lớ
R4
:
Mỗi
h
ọcv
iê
np
hải
đă
ng
ký
v
à
om
ột
lớ
p
củatrường.
44
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
1. Định nghĩa
Khóa nội, Khóa ngoại, NOT NULL là
nhữn
g
RBTV về miền
g
iá trị của các thuộc
g
g
tính.
Trong thựctế, tấtcả các RBTV củamột
ầ
CSDL phải được phát hiện đ
ầ
y đủ
Trong một CSDL, RBTV được xem như một
ể
ễ
công cụđ
ể
di
ễ
n đạtng
ữ
nghĩacủaCSDL
đó.
T
ốt
á
tì h
kh i
thá
CSDL
á
T
rong su
ốt
qu
á
t
r
ì
n
h
kh
a
i
thá
c
CSDL
, c
á
c
RBTV đềuphải đượcthỏamãnở bấtkỳ thời
điểm
nào
55
điểm
nào
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
Phương pháp kiểm tra RBTV
Hệ quảntrị CSDL có các cơ chế tựđộng
kiểm
tra
các
RBTV
về
miền
giá
trị
của
Khóa
kiểm
tra
các
RBTV
về
miền
giá
trị
của
Khóa
nội, Khóa ngoại, NOT NULL qua khai báo
cấu
trúc
các
bảng
cấu
trúc
các
bảng
Thông qua những thủ tụckiểm tra và xử lý
vi
phạm
RBTV do
những
người
phân
tích
-
vi
phạm
RBTV
do
những
người
phân
tích
thiếtkế cài đặt
66
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
Thời điểm kiểm tra RBTV
Kiểm tra ngay khi thựchiện 1 thao tác cập
nhật
CSDL (
thêm
sửa
xóa
)
nhật
CSDL
(
thêm
,
sửa
,
xóa
)
.
Thao tác cậpnhậtchỉđược xem là hợplệ
nếu
như
nó
không
vi
phạm
bất
cứ
một
nếu
như
nó
không
vi
phạm
bất
cứ
một
RBTV nào.
Kiểm
tra
định
kỳ
hay
đột
xuất
Kiểm
tra
định
kỳ
hay
đột
xuất
.
Đốivớinhững trường hợpvi phạm RBTV,
hệ
thống
sẽ
có
những
ử
lý
thích
hợp
hệ
thống
sẽ
có
những
x
ử
lý
thích
hợp
.
77
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
2. Các yếu tố của RBTV
Điềukiện: tứclànội dung của RBTV, từđó
xác
định
cách
biểu
diễn
xác
định
cách
biểu
diễn
.
Bốicảnh xảy ra RBTV: trên một hay nhiều
quan
hệ
,
cụ
thể
trên
các
quan
hệ
nào
.
quan
hệ
,
cụ
thể
trên
các
quan
hệ
nào
.
Tầm ảnh hưởng của RBTV: Khả năng tính
toà
nv
ẹ
n
dữ
li
ệu
bị
vi
p
h
ạ
m
toà
ẹ
dữ
ệu
bị
p ạ
Hành động cầnphải có khi phát hiệncó
RBTV b
ị
vi
p
h
ạ
m.
ị
p ạ
88
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
2. Các yếu tố của RBTV
Điềukiệncủa RBTV:
Là
sự
mô
tả
và
biểu
diễn
hình
thức
nội
dung
Là
sự
mô
tả
và
biểu
diễn
hình
thức
nội
dung
của nó.
Có
thể
được
biểu
diễn
bằng
:
Có
thể
được
biểu
diễn
bằng
:
• ngôn ngữ tự nhiên
th ật
iải
(
bằ
ã
iả
PdCd
ô
•
th
u
ật
g
iải
(
bằ
ng m
ã
g
iả
-
P
seu
d
o
C
o
d
e, ng
ô
n
ngữ tựa Pascal)
•
ngôn
ngữ
đại
số
tập
hợp
đại
số
quan
hệ
•
ngôn
ngữ
đại
số
tập
hợp
,
đại
số
quan
hệ
…
• các phụ thuộc hàm
99
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
2. Các yếu tố của RBTV
Điềukiệncủa RBTV – Ví dụ:
Cho
1CSDL
quản
lý
hóa
đơn
bán
hàng
Cho
1
CSDL
quản
lý
hóa
đơn
bán
hàng
gồm các bảng sau:
HÓAĐƠN
(
Số
-
hóa
-
đơn
,
Số
-
mặt
-
hàng
,
HÓAĐƠN
(
Số
hóa
đơn
,
Số
mặt
hàng
,
Tổng-trị-giá).
DM HÀNG
(
Mã
-
hàng
,
Tên
-
hàng
,
Đơn
-
vị
-
DM
_
HÀNG
(
Mã
hàng
,
Tên
hàng
,
Đơn
vị
tính).
CHITIẾT-HĐ
(
Số-hóa-đơn
,
Mã-hàn
g
,
Số-
(
,
g
,
lượng-đặt, Đơn-giá, Trị-giá).
1010
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
2. Các yếu tố của RBTV
Điềukiệncủa RBTV – Ví dụ:
R1 :
“
Mỗi
hóa
đơn
có
1
Số
hóa
đơn
riêng
biệt
,
R1
:
Mỗi
hóa
đơn
có
1
Số
hóa
đơn
riêng
biệt
,
không trùng với hóa đơn khác”:
∀
hđ1, hđ2 ∈ HÓAĐƠN, hđ1 ≠ hđ2
⇒ hđ1.Số-hóa-đơn ≠ hđ2. Số-hóa-đơn.
R2 :
“
Số
-
mặt
-
hàng
=
số
bộ
của
CHITIẾTHĐ
R2
:
Số
-
mặt
-
hàng
=
số
bộ
của
CHITIẾT
_
HĐ
có cùng Số-hóa-đơn”:
∀
hđ
∈
HÓAĐƠN
thì
:
∀
hđ
∈
HÓAĐƠN
thì
:
hđ.Số-mặt-hàng = COUNT (cthđ ∈ CHITIẾT_HĐ,
cthđ.Số
-
hóa
-
đơn
=
hđ.Số
-
hóa
-
đơn
)
1111
cthđ.Số
hóa
đơn
hđ.Số
hóa
đơn
)
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
2. Các yếu tố của RBTV
Điềukiệncủa RBTV – Ví dụ:
R3
:
“
Tổng
các
trị
giá
của
các
mặt
hàng
trong
R3
:
Tổng
các
trị
giá
của
các
mặt
hàng
trong
CHITIẾT_HĐ có cùng Số-hóa-đơnphảibằng
Tổng
-
trị
-
giá
ghi
trong
HÓAĐƠN
”
:
Tổng
-
trị
-
giá
ghi
trong
HÓAĐƠN:
∀ hđ ∈ HÓAĐƠN thì: hđ.Tổng-trị-giá = SUM
(
thđ T ị
iá
)
đối
ới
á
thđ
CHITIẾTHĐ
(
c
thđ
.
T
r
ị
-g
iá
)
đối
v
ới
c
á
cc
thđ
∈
CHITIẾT
_
HĐ
sao cho : cthđ. Số-hóa-đơn= hđ. Số-hóa-đơn.
1212
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
2. Các yếu tố của RBTV
Điềukiệncủa RBTV – Ví dụ:
R4 :
“
Mỗi
bộ
của
CHITIẾTHĐ
phải
có
mã
R4
:
Mỗi
bộ
của
CHITIẾT
_
HĐ
phải
có
mã
hàng thuộcvề danh mục hàng”:
CHITIẾTHĐ
[
Mã
hàng
]
⊆
DM HÀNG[
Mã
hàng
]
CHITIẾT
_
HĐ
[
Mã
-
hàng
]
⊆
DM
_
HÀNG[
Mã
-
hàng
]
∀ cthđ ∈ CHITIẾT_HĐ, ∃ hh ∈ DM_HÀNG, sao cho:
cthđ Mã
-
hàng
=
hh Mã
-
hàng
cthđ
.
Mã
-
hàng
=
hh
.
Mã
-
hàng
.
1313
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
2. Các yếu tố của RBTV
Bốicảnh của RBTV:
B
ố
i
cả
nh
có
t
h
ể
đị
nh n
g
hĩ
a
t
r
ê
nm
ột
qua
nh
ệ
cơ
sở
ố
cả
có
t ể
đị
g a
tê
ột
qua
ệ
cơ
sở
hay nhiều quan hệ cơ sở.
Đólànhững quan hệ mà RBTV đượcápdụng trên
đó
1414
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
2. Các yếu tố của RBTV
Bốicảnh củaRBTV –vídụ:
Trong
ví
dụ
trên
bối
cảnh
của
các
ràng
Trong
ví
dụ
trên
,
bối
cảnh
của
các
ràng
buộctoànvẹnnhư sau
R1 :chỉ là m
ộ
t
q
uan h
ệ
HÓAĐƠN
ộ
q
ệ
R2 : 2 quan hệ HÓAĐƠN và CHITIẾT_HĐ;
R3 : 2 quan hệ HÓAĐƠN và CHITIẾT_HĐ;
R4 : 2 quan hệ CHITIẾT_HĐ và DM_HÀNG.
1515
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
2. Các yếu tố của RBTV
Tầm ảnh hưởng của RBTV:
Một
RBTV
có
thể
liên
quan
đến
một
số
quan
Một
RBTV
có
thể
liên
quan
đến
một
số
quan
hệ, và chỉ khicóthaotáccậpnhật (Thêm,
Sửa
,
Xóa
)
mới
có
nguy
cơ
dẫn
đến
vi
phạm
Sửa
,
Xóa
)
mới
có
nguy
cơ
dẫn
đến
vi
phạm
RBTV
Î
cần
xác
định
rõ
thao
tác
nào
dẫn
đến
việc
Î
cần
xác
định
rõ
thao
tác
nào
dẫn
đến
việc
cầnphảikiểm tra RBTV.
1616
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
2. Các yếu tố của RBTV
Tầm ảnh hưởng của RBTV:
Trong
quá
trình
phân
tích
thiết
kế
một
Trong
quá
trình
phân
tích
,
thiết
kế
một
CSDL, người phân tích cầnlập bảng xác
định
tầm
ảnh
hưởng
cho
mỗi
ràng
buộc
toàn
định
tầm
ảnh
hưởng
cho
mỗi
ràng
buộc
toàn
vẹn
Î
nhằm
xác
định
khi
nào
thì
phải
tiến
hành
Î
nhằm
xác
định
khi
nào
thì
phải
tiến
hành
kiểm tra các ràng buộctoànvẹn đó
1717
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
2. Các yếu tố của RBTV
Bảng Tầm ảnh hưởng:
Bảng
tầm
ảnh
hưởng
gồm
4
cột
:
Bảng
tầm
ảnh
hưởng
gồm
4
cột
:
cột1 chứatêncácbảng liên quan tới RBTV;
3 c
ộ
ttiế
p
theo là thao tác Thêm / Sửa
/
Xóa 1 b
ộ
ộ
p
ộ
giá trị
Nếu RBTV có nguy cơ bị vi phạmthìtạiô
ấ
ằ
ấ
đóngườitađánh d
ấ
ub
ằ
ng d
ấ
ucộng (+)
Có thể chỉ rõ thêm các thuộctínhnàonếu
đ
ậ
hật
ới
dẫ
đế
i
h
RBTV
đ
ượcc
ậ
pn
hật
m
ới
dẫ
n
đế
nv
i
p
h
ạm
RBTV
bằng cách liệt kê chúng dướidấu(+).
1818
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
2. Các yếu tố của RBTV
Bảng Tầm ảnh hưởng (tt):
Nế
RBTV
khô
ó
bị
i
h
khi
Nế
u
RBTV
khô
ng c
ó
nguy c
ơ
bị
v
i
p
h
ạm
khi
cậpnhậtCSDL thìđánh dấutrừ (-)
ế
ô
ì
ô
é
N
ế
ukh
ô
ng bị vi phạmv
ì
kh
ô
ng đượcph
é
p
sửa đổi thì ký hiệulàtrừ vớidấu sao ( -(*) ).
1919
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
2. Các yếu tố của RBTV
Tầm ảnh hưởng của RBTV – Ví dụ:
Bản
g
tầm ảnh hưởn
g
củaR1
g
g
Quan hệ Thêm SửaXóa
HÓAĐƠN
+(
Số
hó
đ
)
(*)
HÓAĐƠN
+
(
Số
-
hó
a-
đ
ơn
)
-
(*)
-
Bảng
tầm
ảnh
hưởng
của
R2
Bảng
tầm
ảnh
hưởng
của
R2
Quan hệ Thêm SửaXóa
HÓAĐƠN
+
+(
Số
ặt
hà
)
HÓAĐƠN
CHITIẾT_HĐ
+
+
+
(
Số
-m
ặt
-
hà
ng
)
-
-
+
2020
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
2. Các yếu tố của RBTV
Tầm ảnh hưởng củaRBTV –vídụ:
Bảng tầm ảnh hưởng củaR3
Quan hệ Thêm SửaXóa
HÓAĐƠN + +
(
Tổn
g
-tr
ị
-
g
iá
)
-
CHITIẾT_HĐ +
( g
ị
g)
+ (Trị-giá) +
Bả
tầ
ả h
h ở
ủ
R4
Bả
ng
tầ
m
ả
n
h
h
ư
ở
ng c
ủ
a
R4
Quan hệ Thêm SửaXóa
CHITIẾT_HĐ
DM
_
HÀNG
+(Mã-hàng)
-
-(*)
-
(
*
)
-
+
2121
_
()
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
2. Các yếu tố của RBTV
Tầm ảnh hưởng củaRBTV –vídụ:
Bản
g
tầm ảnh hưởn
g
tổn
g
hợp
g
g
g
QH HÓA-ĐƠN CHITIẾT-HĐ DM_HÀNG
RB
T
S
X
T
S
X
T
X
S
RB
T
S
X
T
S
X
T
X
S
R1 + -(*) -
R2 + + - + - +
R3
R3
++-+++
R4 + -(*) - - -(*) +
2222
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
2. Các yếu tố của RBTV
Hành động khi RBTV bị vi phạm:
Hành
động
(
phản
ứng
)
gồm
2
phần
Hành
động
(
phản
ứng
)
gồm
2
phần
Thông báo: thông báo cho người dùng biết
dữ
liệu
vi
phạm
RBTV
nào
và
cần
sửa
lại
dữ
liệu
vi
phạm
RBTV
nào
và
cần
sửa
lại
như thế nào
Xử
lý
:
Đưa
ra
phương
án
xử
lý
khi
RBTV
bị
Xử
lý
:
Đưa
ra
phương
án
xử
lý
khi
RBTV
bị
vi phạm, có thể từ chối thao tác hoặctiếptục
cho
hiệu
chỉnh
dữ
liệu
cho
hiệu
chỉnh
dữ
liệu
2323
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
2. Các yếu tố của RBTV
Hành động khi RBTV bị vi phạm:
Thôn
g
thườn
g
có 2
g
iải pháp:
g
g
g
Đưa ra thông báo và yêu cầusửachữadữ
liệu cho phù hợpvới RBTV. Thông báo phải
đầ
đủ
à
tạo
đợc
s
thân
thiện
ới
ng ời
đầ
y
đủ
v
à
tạo
đ
ư
ợc
s
ự
thân
thiện
v
ới
ng
ư
ời
sử dụng.
Î
Giải
pháp
này
là
phù
hợp
cho
việc
xử
lý
Î
Giải
pháp
này
là
phù
hợp
cho
việc
xử
lý
thờigianthực.
Từ chối thao tác cậ
p
nhật.
p
ÎGiải pháp này là phù hợp đốivớiviệcxử
lý theo lô (Batch processing).
2424
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
4.2.Phân loại ràng buộctoànvẹn
1. RBTV có bốicảnhlà1bảng
•
RBTV
về
miền
giá
trị
RBTV
về
miền
giá
trị
• RBTV liên thuộc tính
•
RBTV
liên
bộ
•
RBTV
liên
bộ
2. RBTV có bốicảnh là nhiềubảng
RBTV
ề
h
th ộ
tồ
t i
•
RBTV
v
ề
p
h
ụ
th
u
ộ
c
tồ
n
t
ạ
i
• RBTV liên thuộc tính – liên quan hệ
• RBTV liên bộ
–
liên quan hệ
• RBTV do có chu trình
2525
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
4.2.Phân loại ràng buộctoànvẹn
RBTV về miềngiátrị
Trong
hầu
hết
các
CSDL
quan
hệ
loại
Trong
hầu
hết
các
CSDL
quan
hệ
,
loại
RBTV này là rấtphổ biến.
Mỗi
thuộc
tính
được
đặc
trưng
không
chỉ
Mỗi
thuộc
tính
được
đặc
trưng
không
chỉ
bởikiểugiátrị,màcònbị giớihạnbởi
miềngiátrị trong kiểudữ liệu đó.
Do đó, khi thựchiện các thao tác cậpnhật
(thêm, xóa, sửa) cho quan hệđềuphải
ể
ki
ể
m tra RBT
V
này.
2626
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
4.2.Phân loại ràng buộctoànvẹn
RBTV về miềngiátrị –vídụ:
Trong
quan
hệ
KQUẢ
-
THI(MASV MAMH
Trong
quan
hệ
KQUẢ
-
THI(MASV
,
MAMH
,
LANTHI, DIEM), do quy định mỗi sinh viên
chỉđư
ợ
cthi1 môntối đa3 lần
,
và điểmthi
ợ
,
củamônhọc trong mọilần thi không bị âm
và không vượt quá 10.
Có 2 RBTV về miềngiátrị trong quan hệ:
R1: ∀ kq ∈ KQUẢ-THI thì 0 ≤ kq.Lầnthi ≤ 3
R2: ∀ kq ∈ KQUẢ-THI thì 0 ≤ kq.Điểm ≤ 10
2727
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
4.2.Phân loại ràng buộctoànvẹn
RBTV liên thuộctính
Đó
là
loại
RBTV
có
liên
quan
tới
nhiều
thuộc
Đó
là
loại
RBTV
có
liên
quan
tới
nhiều
thuộc
tính củamột quan hệ.
Thông
thường
đó
là
các
phụ
thuộc
tính
Thông
thường
đó
là
các
phụ
thuộc
tính
toán, hoặcmột suy diễntừ giá trị củamột
hay
nhiều
thuộc
tính
trong
cùng
một
bộ
giá
hay
nhiều
thuộc
tính
trong
cùng
một
bộ
giá
trị
2828
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
4.2.Phân loại ràng buộctoànvẹn
RBTV liên thuộctính–Vídụ
Tron
g
Quan h
ệ
CHITIẾT
_
HĐ trên, có RBTV
g
ệ
_
liên thuộctínhlà:
∀ cthđ ∈ CHITIẾT_HĐ / cthđ.Trị-giá =
cthđ.Số-lượng-đặt* cthđ.Đơn-giá
Quan hệ NHANVIEN (Mã-NV
, Họ-tên, phai,
ố
Ngày-sinh, Ngày-TD, Hệ-s
ố
-lương)
V
ới quy
định 18 tuổitrở lên mới đượctuyển. Ta có
RBTV
liên
thuộc
tính
sau
:
RBTV
liên
thuộc
tính
sau
:
∀ nv ∈ NHANVIEN / Year(nv.Ngay-TD) –
Year(
nv Ngay
-
sinh
)
≥
18
2929
Year(
nv
.
Ngay
-
sinh
)
≥
18
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
4.2.Phân loại ràng buộctoànvẹn
RBTV liên bộ
Liên
q
uan tới nhiềubộ
q
Có thể tới nhiềuthuộc tính của (các) bộ giá trị
trong một quan hệ.
Ví dụ:
Mã số sinh viên không được trùng nhau
Điểmthilầnsau> lầntrước: ∀kq
∈
KQUẢ -THI
Nếukq.Lần-thi = 1 thì 0
≤
kq.Điểm
≤
10 hoặc:
Nếukq.Lần thi > 1 thì ∃ kq’ ∈ KQUẢ -THI
Sao cho kq’.Lần-thi=kq.Lần-thi - 1 và kq.Điểm ≥ kq’.Điểm
3030
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
4.2.Phân loại ràng buộctoànvẹn
RBTV về phụ thuộc–tồntại
RBTV về
p
h
ụ
thu
ộ
ctồnt
ạ
icònđư
ợ
c
gọ
ilà
p
h
ụ
p ụ
ộ
ạ
ợ
gọ
p ụ
thuộcvề khóa ngoại. Đây là loại RBTV phổ biến
trong các CSDL.
Bộ giá trị của quan hệ này được thêm vào một
cách hợplệ nếutồntạimộtbản ghi tương ứng
ủ
1
hệ
khá
c
ủ
a
1
quan
hệ
khá
c.
Phụ thuộctồntạixảyranếucómột trong hai
t ờ
h
t
rư
ờ
ng
h
ợp sau:
Có sự hiệndiệncủa khóa ngoại.
C
ồ
3131
C
ósự l
ồ
ng khóa giữa các quan hệ.
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
4.2.Phân loại ràng buộctoànvẹn
RBTV về phụ thuộc–tồntại
Ví
dụ
:
Ví
dụ
:
Mỗi sinh viên phảithuộc1 lớp
Mỗi
lớp
phải
thuộc
1
khoa
Mỗi
lớp
phải
thuộc
1
khoa
Mỗi Điểmphảicủa 1 sinh viên, 1 môn
Mỗi
nhân
viên
phải
thuộc
1
phòng
Mỗi
nhân
viên
phải
thuộc
1
phòng
Mỗi Mã-hàng trong Chitiết-HĐ phảitồntại
trong
quan
hệ
Hàng
-
hóa
trong
quan
hệ
Hàng
hóa
MỗiSố-hóa-đơn trong Chitiết-HĐ phảitồntại
trong
quan
hệ
Hóa
-
Đơn
3232
trong
quan
hệ
Hóa
Đơn
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
4.2.Phân loại ràng buộctoànvẹn
RBTV liên thuộc tính – liên quan hệ:
Một
thuộc
tính
trong
1
quan
hệ
này
có
mối
Một
thuộc
tính
trong
1
quan
hệ
này
có
mối
liên hệ với1thuộc tính trong 1 quan hệ
khác.
Ví dụ:
N
g
à
y
g
iao hàn
g
p
hảisa
u
n
g
à
y
đ
ặ
t
gy
g
g
p
gy
ặ
Hóađơn.Ngày-giao >= Đặthàng. Ngày-đặt
Trưởn
g
p
hòn
g
p
hảitừ 40 tuổitr
ở
lên
g
pg
p
Year(NgayNhChuc) – Year(Ngsinh) >= 40
3333
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
4.2.Phân loại ràng buộctoànvẹn
RBTV liên bộ – liên quan hệ:
Một
thuộc
tính
của
quan
hệ
này
có
mối
liên
Một
thuộc
tính
của
quan
hệ
này
có
mối
liên
hệ với các bộ của 1 quan hệ khác.
Ví
d
ụ
:
ụ
Mỗi giáo viên phảidạyítnhất1lớp
Hóađơn
.
Sốmặthàng
=
số
bộ
của
Chitiết
-
HĐ
Hóađơn
.
Sốmặthàng
số
bộ
của
Chitiết
HĐ
có cùng số hóa đơn
Mỗi
p
hiếumư
ợ
nchỉđư
ợ
cmư
ợ
ntối đa3
p
ợ
ợ
ợ
quyển sách.
3434
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
4.2.Phân loại ràng buộctoànvẹn
RBTVdocóchutrình
Biểu
diễn
cấu
trúc
CSDL
dưới
dạng
đồ
thị
Biểu
diễn
cấu
trúc
CSDL
dưới
dạng
đồ
thị
như sau: Mỗi nút của đồ thị biểudiễn1
q
uan h
ệ
ho
ặ
c1 thu
ộ
c tính.
q
ệ
ặ
ộ
Quan hệđượcbiểudiễnbằng nút tròn trắng
Thu
ộ
c tính đư
ợ
cbiểudiễnbởim
ộ
t nút tròn đen
ộ
ợ
ộ
nhỏ hơn.
Các nút đượcchỉ rõ bằn
g
tên của quan hệ
g
hoặcthuộc tính. Thuộctínhthuộcmột
quan hệđượcbiểudiễnbởimột cung nối
3535
giữa nút tròn trắng và nút tròn đen đó.
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
4.2.Phân loại ràng buộctoànvẹn
RBTVdocóchutrình
Nếu
trên
đồ
thị
ta
thấy
xuất
hiện
1
đường
Nếu
trên
đồ
thị
,
ta
thấy
xuất
hiện
1
đường
khép kín thì ta nói rằng trong lược đồ
CSDL có s
ự
hi
ệ
ndi
ệ
ncủachutrình.
ự
ệ
ệ
Sự hiệndiệnnàylàmnảysinhmộtvấn đề
mới: Xác định khả năng đảmbảotínhnhất
quán củadữ liệu, đólàmột RBTV, do sự
hiệndiệncủa chu trình.
3636
www.tdt.edu.vn www.tdt.edu.vn
Cơ Sở Dữ LiệuCơ Sở Dữ Liệu
4.2.Phân loại ràng buộc toàn vẹn
RBTVdocóchutrình
Ví
dụ
:
Ví
dụ
:
Q1 (Mã-nhân-viên, Mã-phòng)
Q2 (Mã-phòng, Mã-đề-án)
Q3
(
Mã-đề-án
,
Tên-đề-án
)
(
,
)
Q4 (Mã-đề-án, Mã-nhân-viên)
3737
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
4.2.Phân loại ràng buộctoànvẹn
Giả thiết1:Vớitântừ sau:
Mỗi nhân viên đư
ợ
c
p
hân côn
g
vào tấtcả các đề án
ợ
p
g
do phòng đóphụ trách.
2 con đường mang ý nghĩagiống nhau. Đường dài
hơn
Q1
kết
nối
với
Q2 (
ký
hiệu
là
Q1 I><I Q2)
?con
hơn
Q1
kết
nối
với
Q2
(
ký
hiệu
là
Q1
I><I
Q2)
?
con
đường ngắnhơn Q4 khi cùng xác định 1 đề án mà 1
nhân viên tham gia vào. Đây là mộtchutrìnhgiả.
Nếuvẫnmuốngiữ lại quan hệ Q4, tức là không hủy
bỏ chu trình, thì phảicómột RBTV vớithuậttoán
sau
:
sau
:
Q1 I><I Q2 [Mã-nhân-viên, Mã-đề-án] = Q4 [Mã-
nhân-viên, Mã-đề-án]
3838
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
4.2.Phân loại ràng buộctoànvẹn
Giả thiết2:Vớitântừ sau:
Mỗi nhân viên đư
ợ
c
p
hân côn
g
vào m
ộ
tsố
ợ
p
g
ộ
đề án do phòng đóphụ trách.
Con đường ngắnQ4 phụ thuộc vào con
đường dài Q1 I><I Q2, vì 1 nhân viên có thể
không tham gia vào tấtcả các đề án do
hò
ìh
h
tá h
Ch
tì h
tê
ý
p
hò
ng m
ì
n
h
p
h
ụ
t
r
á
c
h
.
Ch
u
t
r
ì
n
h
t
r
ê
nmang
ý
nghĩathựcsự.
RBTV
được
thể
hiện
bởi
thuật
toán
sau
:
RBTV
được
thể
hiện
bởi
thuật
toán
sau
:
Q4 [Mã-nhân-viên, Mã-đề-án] ? Q1 I><I Q2
[
Mã
-
nhân
-
viên
Mã
-
đề
-
án
]
3939
[
Mã
-
nhân
-
viên
,
Mã
-
đề
-
án
]
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu
4.2.Phân loại ràng buộctoànvẹn
Giả thiết3:Vớitântừ sau:
Mỗi nhân viên đư
ợ
c
p
hân côn
g
vào nhữn
g
ợ
p
g
g
đề án bấtkỳ.
2 con đường hoàn toàn độclập nhau,
không liên quan gì tới nhau, mang ý nghĩa
hoàn toàn khác nhau.
Do đó không có RBTV.
4040
www.tdt.edu.vn www.tdt.edu.vn
CCơơ Sở Dữ LiệuSở Dữ Liệu