Tải bản đầy đủ (.pdf) (20 trang)

tài liệu RẰNG BUỘC TOÀN VẸN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (532.09 KB, 20 trang )

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


?

RBTV



?
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

1


số
duy
nhất
để

R1

:

Mỗi
lớp
học

1


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

1

số
riêng
biệt

R3


:

Mỗi
học
viên

1


số
riêng
biệt
,
không trùng với các học viên khác.

R4
Mỗi
h

hải
đă

à
ột
lớ

R4
:
Mỗi
h

ọcv

np
hải
đă
ng

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ư

không
vi
phạm
bất
cứ
một
nếu
như

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ẽ

những


thích
hợp
hệ
thống
sẽ

những
x



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:


sự

tả

biểu
diễn
hình

thức
nội
dung


sự

tả

biểu
diễn
hình
thức
nội
dung

của nó.

thể
được
biểu
diễn
bằng
:


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

hóa
đơn
bán
hàng
Cho

1

CSDL

quản

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
(

-
hàng
,

Tên
-
hàng
,
Đơn
-
vị
-
DM
_
HÀNG

(

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

1
Số
hóa
đơn
riêng
biệt
,

R1

:

Mỗi
hóa
đơn

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
_


có cùng Số-hóa-đơn”:



HÓAĐƠN
thì
:



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
á
thđ
CHITIẾTHĐ
(
c
thđ
.

T
r

-g

)

đối
v
ới
c
á
cc
thđ

CHITIẾT
_


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



R4

:

Mỗi
bộ
của
CHITIẾT
_


phải


hàng thuộcvề danh mục hàng”:
CHITIẾTHĐ
[

hàng
]

DM HÀNG[

hàng

]
CHITIẾT
_


[

-
hàng
]


DM
_
HÀNG[

-
hàng
]

∀ cthđ ∈ CHITIẾT_HĐ, ∃ hh ∈ DM_HÀNG, sao cho:
cthđ Mã
-
hàng
=
hh Mã
-
hàng
cthđ
.


-
hàng
=
hh
.

-
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

t
h

đị
nh n
g

a
t

r
ê
nm
ột
qua
nh


sở

cả

t ể
đị
g a

ột
qua


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


dụ
trên
bối
cảnh
của
các
ràng
Trong

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

thể
liên
quan
đến
một
số
quan

Một
RBTV


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

nguy

dẫn
đến
vi
phạm
Sửa
,

Xóa
)

mới

nguy

dẫn
đến
vi

phạm
RBTV


Î
cần
xác
định

thao
tác
nào
dẫn
đến
việc

Î
cần
xác
định

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ÓAĐƠN

+

(

Số
-

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ÓAĐƠN

CHITIẾT_HĐ
+
+
+

(
Số
-m
ặt
-

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

)
-
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

cần
sửa
lại
dữ
liệu
vi

phạm
RBTV

nào

cần
sửa
lại
như thế nào

Xử

:
Đưa
ra
phương
án
xử


khi
RBTV
bị

Xử

:

Đưa
ra
phương
án
xử

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

phù
hợp
cho
việc
xử

Î
Giải
pháp
này


phù
hợp
cho
việc
xử

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

Đó

loại
RBTV

liên
quan
tới
nhiều
thuộc

Đó

loại
RBTV


liên
quan

tới
nhiều
thuộc
tính củamột quan hệ.

Thông
thường
đó

các
phụ
thuộc
tính

Thông
thường
đó

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


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


dụ
:


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

mối

Một
thuộc
tính
trong
1
quan
hệ
này

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

mối
liên
Một
thuộc
tính
của
quan
hệ
này

mối
liên
hệ với các bộ của 1 quan hệ khác.

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óađơn
.
Sốmặthàng
số
bộ
của
Chitiết

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

dụ
:

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 (

hiệu

Q1 I><I Q2)
?con

hơn
Q1

kết
nối
với
Q2

(

hiệu

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
tá h
Ch
tì h


ý
p

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
[

-
nhân
-
viên


-
đề
-
án
]
3939
[

-
nhân
-
viên
,

-
đề
-
á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

×