CƠ SỞ DỮ LIỆU
U
GIÁO VIÊN: ĐỖ THỊ
T MAI HƯỜNG
BỘ MÔN: CÁC HỆ T
THỐNG THÔNG TIN
KHOA: CÔNG NG
GHỆ THÔNG TIN
Lý thuyết CSDL
1
CHƯƠNG 3
Lý th
thuyế
ết thiết kế
cơ sở dữ liệ
ệu quan hệ
Lý thuyết CSDL
2
Nội dung chi tiết
•
•
•
•
•
•
•
•
Giới h
hạn của
ủ ER
Sự dư thừa
Ph thuộc
Phụ
h ộ hàm
hà
Hệ suy diễn Amstrong
Th ậ toán
Thuật
á tìm
ì bao
b đóng
đó
Thuật toán tìm khóa
Cá dạng chuẩn
Các
ẩ
Kiểm tra kết nối không mất thô
ông tin
Lý thuyết CSDL
3
Sự dư thừa
• Sự phụ thuộc giữa các thuộc tính gây
g ra sự dư thừa
Ví dụ: Điểm các môn học Điểm trrung bình xếp loại
• Thuộc tính đa trị trong lược đồ ER nhiều bộ số liệu trong lược đồ
quan hệ
• Ví dụ:
NHANVIEN(TENNV HONV,
NHANVIEN(TENNV,
HONV NS
S DCHI GT LUONG BANGCAP)
S,DCHI,GT,LUONG,
TENNV
HONV
NS
D
DCHI
GT
LUONG
BANGCAP
Tung
Nguyen
12/08/1955
638 NVC Q5
Nam
40000
Trung học
Nhu
Le
06/20/1951
291 HVH
H
QPN
Nu
43000
Trung học
Nhu
Le
06/20/1951
291 HVH
H
QPN
Nu
43000
Đại học
Hung
Nguyen
09/15/1962
Ba Ria VT
Nam
38000
Thạc sỹ
Lý thuyết CSDL
4
Sự dư thừa (tt)
• Sự dư thừa sự dị thường
– Thao tác sửa đổi: cập nhật tất cả các giá trị liên quan
– Thao tác xóa: người cuối cùng
g của đơn vị mất thông tin về đơn
vị
– Thao tác chèn
TENPB
MAPB
MaTP
NG_NHAN
NCHUC
MANV
TENNV
HONV
…
Nghien cuu
5
NV01
05/22/1
1988
NV01
Tung
Nguyen
…
Dieu hanh
4
NV02
01/01/1
1995
NV02
Hung
Nguyen
…
Quan ly
1
NV03
06/19/1
1981
NV03
Vinh
Pham
…
Lý thuyết CSDL
5
Sự dư thừa (tt)
• Các
Cá giá
iá trị
t ị khô
không xác
á định
đị h
– Đặt thuộc tính Trưởng phòng vàào quan hệ NHANVIEN thay vì vào
quan hệ PHONGBAN
• Các bộ giả
– Sử dụng các phép nối
Lý thuyết CSDL
6
Sự dư thừa (tt)
• Một số quy tắc
1.Rõ ràng về mặt ngữ nghĩa, tránnh các phụ thuộc giữa các thuộc tính
với nhau
2 T á h sự ttrùng
2.Tránh
ù lặp
lặ vềề nội
ội dung
d g đảm
đả bảo
bả tránh
t á h được
đ
các
á dị thường
th ờ
khi thao tác cập nhật dữ liệu
3. Tránh đặt các thuộc tính có nhhiều giá trị Null
• Khó thực hiện các phép nối và kết
k hợp
4. Thiết kế các lược đồ quan hệ sao
s cho chúng có thể được nối với
điều
ề kiện bằng
ằ trên các thuộc tính là khoá chính hoặc khoá ngoài
theo cách đảm bảo không sinhh ra các bộ “giả”
=> Lý thuyết về chuẩn hóa: (dự
ựa trên phụ thuộc hàm,
hàm …)) sẽ là
nền tảng cơ sở để thực hiện việc
v phân tích và chuẩn hóa lược
đồ quan hệ
Lý thuyết CSDL
7
Phụ thuộc hàm
Ph thuộc
Phụ
th ộ hà
hàm ttrong quan hệ r
• Cho lược đồ quan hệ R và X, Y làà các tập con của R. r là một quan
hệ trên R.
m Y ký hiệu X → Y trong r nếu với
• Ta nói X xác định phụ thuộc hàm
mọi t và t’ của r mà t, t’ bằng nhaau trên tập X thì chúng cũng bằng
nhau trên tập Y, tức là t, t’ r nếu t.X = t’.X t.Y = t’.Y
• Ví dụ:
– X={MaNV},
{
}, Y={Hoten,NS}
{
, } thỏ
ỏa mãn X → Y
– X={Hoten}, Y={DC, GT} không
g thỏa mãn X → Y
• Phụ thuộc hàm trên r là trường hợ
ợp riêng của phụ thuộc hàm trên R.
R
Lý thuyết CSDL
8
Phụ thuộc hàm(tt)
• Phụ thuộc hàm trong quan hệ r
Ví dụ: trong lược đồ quan hệ sau nếu giả
g thiết Hoten nhập vào là khác
nhau thì từ Hoten có thể suy diễn ra tất cả các thuộc tính khác. Nhưng
nếu
ế thêm
hê vào
à bộ cóó H
Hoten giống
iố với
ới bộộ đã cóó thì
hì phụ
h thuộc
h ộ hàm
hà không
khô
còn đúng nữa.
HoTen
NgaySinh
MaPB
TenPB
Nguyễn
ễ Văn A
1/1/1980
/ /
PB01
Hành chính
Nguyễn Văn B
20/2/1981
PB02
Tổng hợp
Trần
ầ C
13/6/1981
PB03
Dự án
Trần
ầ C
Lý thuyết CSDL
10/2/1982
PB01
Hành chính
9
Phụ thuộc hàm(tt)
Bài tập:
Cho bảng quan hệ r như sau:
A
B
C
D
x
u
x
y
y
x
z
x
z
y
y
y
y
z
w
z
Trong các phụ thuộc hàm sau PT
TH nào không thỏa mãn r
A →B,A
B A →C,B
C B →A,C
A C →D,D
D D →C
C D →A
C,D
A
Lý thuyết CSDL
10
Phụ thuộc hàm(tt)
Phụ thuộc hàm trên lược đồ quan
q
hệ R
• Cho lược đồ quan hệ R và X, Y là các tập con của R. Ta nói
X xác định phụ thuộc hàm Y kký hiệu X → Y trên lược đồ quan
hệ R. Nếu với mọi r trên R xác
c định X → Y .
Lý thuyết CSDL
11
Phụ thuộc hàm(tt)
Cá tí
Các
tính
h chất
hất của
ủ phụ
h th
thu
uộc
ộ hà
hàm
• A1. Tính phản xạ
X → X, hay tổng
ổ quát hơn
n nếu
ế Y X thì X → Y
• A2. Tính mở rộng hai vế
X → Y thì XZ → YZ. (Mở
ở rộng hai vế
ế Z)
• A3. Tính bắc cầu: X → Y và Y → Z thì X → Z.
• Hệ A bao gồm
ồ các tính chất
ấ {A
A1, A2, A3} của phụ thuộc hàm
được gọi là hệ tiên đề Armstro
ong của lớp các phụ thuộc hàm.
Lý thuyết CSDL
12
Phụ thuộc hàm(tt)
Giả sử t,t’ r
1. Tính phản xạ: hiển
ể nhiên vì t và t’ đã
đ bằng
ằ nhau trong tập X thì
chúng phải bằng nhau trong mọi tậpp con của X, nói cách khác
t.X=t’.X
t.X
t .X t.X
t.X=t’.X
t .X & t.Y
t.Y=t’.Y
t .Y với Y X X → Y
2. Tính mở rộng 2 vế: giả sử t.XZ=t’.X
XZ ta phải chứng minh
t.YZ=t’.YZ
Thật vậy từ t.XZ=t’.XZ ta có t.X=t’.X và t.Z=t’.Z. Theo giả thiết
t.X=t’.X thì t.Y=t’.Y. Như vậy ta cóó t.Y=t’.Y và t.Z=t’.Z thì
t YZ=t’.YZ
t.YZ=t
YZ . Suy ra XZ → YZ
3. Tính bắc cầu:
t X = t’.X
t.X
X t.Y
t Y = t’.Y
Y
t.Y = t’.Y t.Z = t’.Z
t.X = t’.X thì t.Z = t’.Z X → Z
Lý thuyết CSDL
13
Các tính chất bổ sung
g từ Hệ Amstrong
Các tính chất sau đều được suy ra từ hệ tiên đề Armstrong.
Tính tựa bắc cầu:
X → Y và YZ → W thì XZ → W
Tính chất chiếu:
X → YZ thì X → Y và X → Z
Tính cộng đầy đủ:
X → Y và Z → W thì XZ → YW
Lý thuyết CSDL
14
Hệ tiên đề Armstrong
• Chứng minh:
• Tính chất tựa bắc cầu: X → Y và YZ → W thì XZ → W
X → Y theo tính mở rộng hai vế
XZ → YZ
Và YZ → W
Theo tính bắc cầu
XZ → W
Lý thuyết CSDL
15
Hệ tiên đề Amstrong
Bài tập:
ậ Chứng
Chứ minh
i h các
á tính
í h chấ
hấất
ấ còn
ò lại
l i
• Tính chất chiếu:
X → YZ thì X → Y và X → Z
• Tính cộng đầy đủ:
X → Y và Z → W thì XZ → YW
Y
Lý thuyết CSDL
16
Hệ tiên đề Armstron
ng
• Phép
Phé suy dẫ
dẫn theo hệ tiê
ê đề Armstrong
ên
A
t o
PTH f được suy dẫn theo hệ tiên đề Armstrong là f có thể
nhận
ậ được từ
ừ F sau một
ộ số
ố hữu
h
hạn bước
ớ áp
á dụng các
á
luật của tiên đề Armstrong. Ký hiệu F |= f.
• Phép suy dẫn theo quan
n hệ
PTH f suy dẫn được từ tập PT
TH F theo quan hệ (hoặc PTH
f được suy dẫn theo quan hệ
ệ từ tập PTH F) ký hiệu F |- f,
nếu với mọi quan hệ r trên lược đồ R mà F thỏa mãn thì f
cũng thỏa mãn.
Lý thuyết CSDL
17
Hệ tiên đề Armstron
ng
Bổ đề: Giả sử X R, nếu gọi X+ làà tập các thuộc tính A của R mà
F |= X → A thì với mọi tập Y R, F |= X → Y Y X +.
a. Chứng minh chiều thuận
Ta có F |= X → Y. Giả sử Y={A, B,
B C, ...} theo tính mở rộng trái thu
hẹp phải:
F |= X → A, nên theo định nghĩa X+ ta có A X+.
F |= X → B, nên theo định nghĩa
a X+ ta có B X+.
F ||= X → C,, nên theo định
ị nghĩa
g a X+ ta có C X+.
..., vậy {A, B, C, ...} = Y X+.
b. Chứngg minh điều ngược
g ợ lại
ạ
Y X+. Theo định nghĩa tập X+ thhì mọi A Y ta có F|= X → A, vậy
theo tính chất cộng đầy đủ ta có F|= X → Y.
Lý thuyết CSDL
18
Hệ tiên đề Armstron
ng
Định lý:
Cho tập PTH F và một PTH f trêên R khi đó ta có
F |- f khi và chỉ khi F |= f.
Chứng minh:
XY cần chứng m
minh F ||-XY
XY
• Giả sử có F ||=XY
• Theo bổ đề ta có YX+. Để chứn
ng minh F |-XY, ta lấy một quan
hệ R tuỳ
t ỳ ý thoả
th ả mãn
ã tất cảả các
á fds
fds của
ủ F vàà ta
t phải
hải chứng
hứ minh
i hR
thoả XY.
• Ta lấy
ấ 2 thực thểể bất
ấ kỳ t, t' của R mà t[X]=t'[X], ta phải chứng tỏ
t[Y]=t'[Y] mà Y X+nên t[Y]=t'[[Y] (đpcm)
Lý thuyết CSDL
19
Hệ tiên đề Armstron
ng
Giả sử có F |-XY
| XY chứng minh
h F |=XY,
|=XY hay chỉ cần chứng
minh Y X+
Nhận xét: Nếu X'
X X+ thì (X
(X'))+ X+ .
Xét một quan hệ r trên tập thuộc tính R
Lý thuyết CSDL
20
Hệ tiên đề Armstron
ng
• Ta thấy R thoả mãn tất cả cácc phụ thuộc hàm của F
F. Vì lấy
một pth PQ của F thì R thoả
ả PQ. Thật vậy:
– TH1: P không là tập con của X+ R thoả PQ vì t[P]
t[P]=t'[P]
t [P] thì tt
tt'
và t[Q]=t'[Q]
– TH2: P X+ P+ X+
• Nếu
ế tt' thì t[Q]=t'[Q]
• Nếu t≠t' ta có thể giả thiết t=t1 và
v t'=t2. Do PQ thuộc F nên Q P+ hay
t[Q]=t'[Q]
• Vậy trong mọi trường hợp R tho
oả các phụ thuộc hàm của F.
• Do giả thiết F |-XY , mà R tho
oả tất cả các fds của F, R cũng thoả fd
XY.
XY
• Do t1[X]=t2[X] nên t1[Y]=t2[Y] suy ra Y X+ đpcm.
• KL: Hai phương pháp suy dẫn
n là tương đương nhau.
Lý thuyết CSDL
21
Hệ tiên đề Armstron
ng
Bài tập:
Cho lược đồ quan hệ <R,F>
• R={A,
R={A B
B, C
C, D
D, E,
E I} và
• F={BCDE, BE C, BIA, CE I}
a Chứng minh F|
a.
F|- BCI
b. Chứng minh F|= BCI
Lý thuyết CSDL
22
Bao đóng F+ của tập PTH F
4. Bao đóng F+ của tập PTH F
Tập
ậ PTH F được suy dẫn
ẫ từ
ừ F đư
ược gọi là
à bao đóng
ó
của
ủ
tập PTH F, ký hiệu F+.
Ví dụ:
R={A, B, C, D}
F={A
F
{A → B, B → C, A →D,
D, B → D}
D
F+ = {A → B, B → C, A → D, B → D, A → C, A → BD, A →
D}
BCD, A → BC, A → CD, B → CD
Các tính chất của F+
a. Tính phản xạ: F F+
b. Tính
í
đơn điệu:
ệ F G F+ G+
c. Tính lũy đẳng: F++=F+
Lý thuyết CSDL
23
Bao đóng X+
• Định nghĩa bao đóng X+
Cho lược
ợ đồ q
quan hệ
ệR={
{A1, ...,, An}
}. Giả sử F là tập
ập PTH
trên R. X là tập con của tập th
huộc tính R.
Bao đóng X đối với F, ký hiệu X+ (X+ F để chỉ bao đóng lấy
theo tập F) là tập thuộc
th ộc tính A của R mà X → A được suy
s
dẫn từ tập F.
X+ = {A: A R và X → A F+}
hoặc X+ = {XA: A R, AX và X → A F+}
Ví dụ:
R = {A, B, C, D, E, G}
F= {
{A → C,, A → EG,, B → D,, G → E}
}
X = {A, B}
Y = {C, D, G}
X+ = {A, B, C, D, E, G}
Lý thuyết CSDL
+
Y = {C, D, E, G}
24
Tính chất của bao đóng
g X+
+
1. Tính phản xạ: X X+
2. Tính đơn điệu: X Y X+ Y+.
3. Tính lũy
y đẳng:
g X++ = X+
4. Bao đóng tổng chứa tổng cá
ác bao đóng: X+Y+ (XY)+
5. (X+Y)+ = (XY+)+ = (X+Y+)+ = (XY)+
6. X → Y Y X+
7. X → Y Y+ X+
8. X → X+ và X+ → X
9. X+ = Y+ X → Y và Y → X.
Lý thuyết CSDL
25