You are on page 1of 47

C sở

Cơ ở dữ liệu
liệ

Văn‐Giang Nguyễn

Bộ môn Hệ thống
ố thông tin, 
Khoa Công nghệ thông tin,
Học viện Kỹ thuật quân sự
E il i
Email: giangnv@mta.edu.vn
@ t d

Slides courtesy of : Đỗ Thị Mai Hường, HTTT, CNTT, HVKTQS


Nội dung môn học

™ Chương 1: Tổng quan về cơ sở dữ liệu (5)


™ Chương 2: Mô hình liên kết thực thể (5)
™ Chương 3: Mô hình dữ liệu quan hệ (10)

™ Chương 4: Phụ thuộc hàm và các dạng chuẩn CSDL (15


™ Chương
Ch 5 Hệ quản
5: ả trị
t ị SQL Server
S (10)
™ Chương 6: Ngôn ngữ truy vấn CSDL (15)
™ Chương 7: Lập trình T-SQL (15)

-2-
Nội dung

™Giới hạn của ER


™ Sự dư thừa
™Phụ thuộc hàm
™Hệ suy diễn Amstrong
ậ toán tìm bao đóng
™Thuật g
™Thuật toán tìm khóa
™Các dạng chuẩn
™Chuẩn hóa quan hệ
™ Tách kết nối không mất thông tin
-3-
Giới hạn của lược đồ ER
™Cung cấp một tập các hướng dẫn Æ không đưa
tới một lược đồ CSDL duy nhất

™Không đưa ra cách đánh giá giữa các lược đồ


khác nhau

™Lý thuyết về chuẩn hóa CSDL quan hệ cung cấp


kỹ thuật để phân tích và chuyển hóa từ lược đồ
ER sang lược đồ quan hệ

-4-
Sự dư thừa
™Sự phụ thuộc giữa các thuộc tính gây ra sự dư thừa

™Ví dụ: Điểm các môn học Æ Điểm TB Æ Xếp loại

TENPHG MAPHG TRPHG NG_NHAMCHUC MANV TENNV HONV

Nghiên cứu 5 123456789 01/02/2012 123456789 Tùng Nguyễn

Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn

Quản lý 1 999888777 01/06/2012 999888777 Vĩnh Phạm

-5-
Sự dư thừa
™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, NS, DCHI, GT,
LUONG, BANGCAP)
TENNV HONV NS DIACHI GT LUONG BANGCAP
Tùng Nguyễn 12/08/1955 638 HQV CG Nam 6000 Trung cấp
Chuyên Bùi 07/04/1970 255 XT CG Nữ 5500 Đại học
Dũng Hoàng 09/05/1965 51 NTH BĐ Nam 6000 Cao đẳng
Dũng Hoàng 09/05/1965 51 NTH BĐ Nam 6000 Đại học

-6-
Sự dư thừa
™Dư thừa Æ Dị thường
- Thao tác sửa đổi: cập nhật tất cả các giá trị
liên quan
liê
- Thao tác xóa: người cuối cùng của đơn vị Æ
mất thông tin về đơn vị
- Thao tác chèn

TENPHG MAPHG TRPHG NG_NHAMCHUC MANV TENNV HONV

Nghiên cứu 5 123456789 01/02/2012 123456789 Tùng Nguyễn

Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn

Quản lý 1 999888777 01/06/2012 999888777 Vĩnh Phạm

-7-
Sự dư thừa
™Các giá trị không xác định
- Đặt thuộc tính trưởng phòng vào quan hệ
NHANVIEN thayth vìì vào
à quan hệ PHONGBAN
™Các bộ giả
- Sử dụng các phép nối

-8-
Sự dư thừa – Một số nguyên tắc
(Lý do cần có phụ thuộc hàm)

™ NT1: Rõ ràng về mặt ngữ nghĩa, tránh các phụ


thuộc giữa các thuộc tính với nhau
™NT2 Tránh
™NT2: T á h sự trùng
t ù lặp
lặ vềề nội
ội dung
d Æ đảm
đả bảo
bả
tránh được các dị thường khi thao tác cập nhật
dữ liệu
- Phải có một số thao tác khi thêm mới và cập nhật vào
lược đồ quan hệ, cũng như có thể gây sai hỏng trong
trường hợp xóa bỏ các bộ
™NT3: Tránh đặt các thuộc tính có nhiều giá trị null
™NT4: Thiết kế các lược đồ quan hệ sao 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à khóa chính hoặc khóa ngoài
theo cách đảm bảo không sinh ra các bộ giả.
giả
- Gây lỗi khi thực hiện các phép kết nối
-9-
Phụ thuộc hàm
™Lý thuyết về chuẩn hóa
- Các phân tích để đưa ra lược đồ thực thể liên
kết cần
ầ phải
hải được
đ sửa
ử chữa
hữ ở cácá bước
b ớ tiếp
tiế
theo
- Vấn đề nêu ở slide trên sẽ được giải quyết
nếu có một phương pháp phân tích tích hợp
Î Lý thuyết chuẩn hóa (dựa trên phụ thuộc
hà ) sẽ
hàm) ẽ là nền
ề tảng
tả cơ sở ở để thực
th hiệ việc
hiện iệ
phân tích và chuẩn hóa lược đồ ER.

- 10 -
Phụ thuộc hàm (định nghĩa không chính thức)
Phụ thuộc hàm trong quan hệ r
™Cho lược
l ợc đồ quan
q an hệ R và à X,
X Y là các tập con
của R. r là một quan hệ trên R.
™Ta nói X xác định
ị pphụụ thuộc
ộ hàm Y,, ký ý hiệu
ệ XÆY
trong r nếu với mọi t và t’ của r mà t,t’ bằng nhau
trên tập X thì chúng cũng bằng nhau trên tập Y,
tứ là
tức
∀t , t ' ∈ r t. X = t '. X ⇒ t.Y = y '.Y

- 12 -
Phụ thuộc hàm trong quan hệ r
™Phụ thuộc
™Ph th ộc hàm trên r là trường
tr ờng hợp riêng của
phụ thuộc hàm trên R
™Phụ ụ thuộc
ộ hàm trên r là mộtộ khái niệm
ệ hẹp,
ẹp, nó chỉ
đúng cho một quan hệ hệ,
Trong một số trường hợp chỉ cần thay đổi một vài
giá
iá trị
t ị của
ủ các
á thuộc
th ộ tính
tí h trong
t quan hệ,
hệ phụh
thuộc hàm không còn đúng.
Ví dụ phụ thuộc hàm
Phụ thuộc hàm trong quan hệ r
™Ví dụ:Trong lược đồ quan hệ sau, nếu chúng ta
giả thiết rằng trong lớp các tên nhập vào là không
giống
iố nhau
h thì lúc
lú đó thuộc
th ộ tính
tí h Hoten
H t ké theo
kéo th
tất cả các thuộc tính khác nhưng nếu có sự thay
đổi thì thuộc tính đó có thể không còn đúng.
Hoten Ngaysinh Lop
Hùng 01/05/1993 TH10A
Minh 04/02/1993 TH10A
Trang 20/09/1993 TH10B

Trang 21/01/1993 TH10A

- 15 -
Phụ thuộc hàm trên lược đồ QH 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, ký hiệu
XÆ Y trên
t ê lược
l đồ quan hệ R.
R Nếu
Nế vớiới mọii r trên

R xác định XÆY

- 16 -
Các tính chất của phụ thuộc hàm
™A1-Tính phản xạ
X ÆX, hay tổng quát hơn nếu Y ⊂ X thì XÆY
™A2 Tính
™A2- Tí h mởở rông
ô haih i vế
ế
XÆY thì XZÆYZ (mở rộng hai vế Z)
Tính bắc cầu
™A3-Tính
™A3
XÆY và YÆ Z thì XÆZ
™A4-Tính tựa bắc cầu
XÆY vàà YZÆW thì XZÆW
™A5- Tính mở rộng trái, thu hẹp phải
XÆY thì XZÆY
XZÆY-W W
™A6 – Tính cộng đầy đủ
XÆY và ZÆW thì XZÆYW
™A7 – Tính tính lũy
XÆY và YÆZW thì XÆYZW - 17 -
Các tính chất của phụ thuộc hàm (CM)
™A1-Tính phản xạ
X ÆX, hay tổng quát hơn nếu Y ⊂ X thì XÆY

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
hú phải
hải bằng
bằ nhau
h t
trong tậ con của
tập ủ X,X
nói cách khác t.X=t’.X Æ t.X=t’.X & t.Y=t’.Y
với Y ⊂ X . Vì vậy XÆY

- 18 -
Các tính chất của phụ thuộc hàm (CM)
™A2- Tính
™A2 Tí h mở
ở rông
ô hai
h i vế
ế
XÆY thì XZÆYZ (mở rộng hai vế Z)

Giả sử t , t ' ∈ r

2. Tính mở rộng 2 vế
Giả sử t.XZ=t’.XZ,, ta phải
p chứng
g minh
t.YZ=t’.YZ

Từ t.XZ=t’.XZ,
t XZ t’ XZ ta
t có ó t.X=t’.X
t X t’ X vàà t.Z=t’.Z.
t Z t’ Z Theo
Th giả iả
thiết ta có t.X=t’.X thì t.Y=t’.Y.
Như vậy ta có, t.Y
t.Y=t’.Y
t .Y và t.Z
t.Z=t’.Z
t .Z thì t.YZ
t.YZ=t’.YZ.
t .YZ.
Suy ra XZÆYZ
- 19 -
Các tính chất của phụ thuộc hàm (CM)
™A3-Tính bắc cầu
XÆY và YÆ Z thì XÆZ

Giả sử t , t ' ∈ r

3. Tính bắc cầu


t.X=t’.X Æ t.Y = t’.Y
t Y t’ Y Æ t.Z
t.Y=t’.Y t Z = t’.Z
t’ Z
Î t.X=t’.X thì t.Z=t’.Z <=> XÆZ

- 20 -
Hệ tiên đề Armstrong
• Hệ A bao gồm các tính chất {A1,A2,A3} của phụ
thuộc hàm được gọi là hệ tiên đề Armstrong của
lớ các
lớp á phụh thuộc
th ộ hàm.

• Các tính chất còn lại ({A4,A5,A6,A7}) đều được
suy ra từ hệ tiên đề Armstrong
™Chứng minh: A4-Tính tựa bắc cầu
XÆY và YZÆW thì XZÆW

Bởi XÆY, theo tính mở rộng 2 về ta có XZÆYZ


Và YZÆW.
Theo tính chất bắc cầu: XZ ÆW

- 21 -
Hệ tiên đề Armstrong
™Ngoài ra có tính chất sau hay được dùng

Tí h chất
Tính hất chiếu:
hiế XÆYZ thì XÆY và
à XÆZ

Chứng minh:
™ XÆYZ (cho trước)
™ YZÆY (Sử dụng A1 và tính chất YZ ⊃ Y
™ XÆY (sử
( ử dụng
d A3)

- 22 -
Hệ tiên đề Armstrong
™Phép suy dẫn theo hệ tiên đề Armstrong
Phụ thuộc hàm f được suy dẫn theo hệ tiên
đề Armstrong
A t là f có
ó thể nhận
hậ được
đ từ F sau
một số hữu hạn bước áp dụng các luật của
tiên đề Armstrong. Ký hiệu F|
F|=ff
™Phép suy dẫn theo quan hệ
Phụ thuộc hàm f suy dẫn được từ tập PTH 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
l đồ R mà à F thỏa
hỏ mãn thì hì f
cũng thỏa mãn.

- 23 -
Hệ tiên đề Armstrong
™Bổ đề 2.1
Giả sử X ⊆ R , nếu gọi X+ là tập các thuộc
tí h A của
tính à F |= X → A , thì với
ủ R mà ới mọii tập
tậ
Y ⊆ R, F |= X → Y ⇔ Y ⊆ X +
™Chứng minh chiều ề thuận
Ta có F |= X → Y . Giả sử Y = { A, B, C ,...}
theo tính mở rộng trái thu hẹp phải:
+
F |= X → A nên theo định nghĩa ta có
X+ A ∈ X
+
F |= X → B nên ê th theo định
đị h nghĩa ó B∈ X
hĩ X tta có
+
+
F |= X → C nên theo định nghĩa X ta có C ∈ X
+

Vậ
Vậy { A, B, C ,...}} = Y ⊂ X +
- 24 -
Hệ tiên đề Armstrong
™Bổ đề 2.1
Giả sử X ⊆ R , nếu gọi X+ là tập các thuộc
tí h A của
tính à F |= X → A , thì với
ủ R mà ới mọii tập
tậ
Y ⊆ R, F |= X → Y ⇔ Y ⊆ X +
™Chứng minh chiều ề ngịch
Y ⊂ X + . Theo định nghĩa tập X+ thì mọi A ∈ Y
ta có F |= X → A
Vậy theo tính chất cộng đầy đủ ta có
F |= X → Y

- 25 -
Hệ tiên đề Armstrong
™Định lý 2.1: Cho tập PTH F và một PTH f trên R,
khi đó ta có
F | − f if and only if F |= f

™Chứng minh
Giả sử có F |= X → Y, ta cần chứng minh F | − X → Y
+
Theo bổ đề ta có Y ⊆ X . Để chứng minh F | − X → Y
ta lấy một quan hệ R tùy ý thỏa mãn tất cả các PTH
của
ủ F và à ta phải
hải chứng
hứ minh hỏ mãn X → Y
i h R thỏa
Ta lấy 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], do Y ⊆ X nên t[Y]
t[Y]=t’[Y] t[Y]=t’[Y]
t [Y] (đpcm)
- 26 -
Hệ tiên đề Armstrong
™Giả sử có F | − X → Y , chứng minh F |= X → Y
+
, hay chỉ cần chứng minh Y ⊆ X
+
™Nhận xét: Nếu X ' ⊆ X thì ( X ') + ⊆ X +

- 27 -
Hệ tiên đề Armstrong
™Ta thấy R thỏa mãn tất cả các phụ thuộc hàm của
F. Vì lấy một fd PÆQ của F thì R phải thỏa PÆQ.
- Trường
T ờ hợp h 1: 1 P không
khô là tậptậ con của ủ X+ ⇒ R
thỏa PÆQ vì t[P] = t’[P] thì t ' ≡ t & t[Q] = t '[Q]
- Trường hợp 2: P ⊆ X + ⇒ P + ⊆ X +
• Nếu t ≡ t ' → t[Q] = t '[Q]
• Nếu t ≠ t ' , ta có giả thiết t=t1 và t’=t2. Do PÆQ
+
thuộc F nên Q ⊆ P hay t[Q]=t’[Q]
t[Q] t [Q]
• Vậy, trong mọi trường hợp R thỏa các phụ thuộc
hàm của F.
• Do giả thiết F | − X → Y , mà R thỏa tất cả các fds
của F, R cũng thỏa fd XÆY\
• Do t1[X]=t2[X] nên t1[Y]=t2[Y] suy ra Y ⊆ X ',

™Kết luận: Hai phương pháp suy dẫn là tương


đương nhau. - 28 -
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ụ
d
R={A,B,C,D}
F={AÆB,
F {AÆB, BÆC, AÆD, BÆD}
F+={AÆB, BÆC, AÆC, AÆD, BÆD. AÆBD,
AÆBCD, AÆBC, AÆCD, BÆCD}

™Các tính chất của F+


- Tính phản xạ F ⊆ F +
- Tính đơn điệu F ⊆ G ⇒ F + ⊆ G +
- Tính lũy đẳng F + + = F +

- 29 -
Thuật toán tím bao đóng của tập PTH

™“Áp dụng hệ tiên đề Armstrong cho đến khi không


tìm ra thêm p
phụ thuộc hàm mới”

- 30 -
™A1-Tính phản xạ
X ÆX, hay tổng quát hơn nếu Y ⊂ X thì XÆY
™A2 Tính
™A2- Tí h mởở rông
ô haih i vế
ế
XÆY thì XZÆYZ (mở rộng hai vế Z)
Tính bắc cầu
™A3-Tính
™A3
XÆY và YÆ Z thì XÆZ
™A4-Tính tựa bắc cầu
XÆY vàà YZÆW thì XZÆW
™A5- Tính mở rộng trái, thu hẹp phải
XÆY thì XZÆY
XZÆY-W W
™A6 – Tính cộng đầy đủ
XÆY và ZÆW thì XZÆYW
™A7 – Tính tính lũy
XÆY và YÆZW thì XÆYZW
Ví dụ

- 32 -
Bao đóng X+ của tập thuộc tính
™Định nghĩa:
Cho lược đồ quan hệ R={A1,…,An}. Giả sử F là
tậ PTH trên
tập t ê R.
R X là tập
tậ con củaủ tập
tậ thuộc
th ộ tính
tí h R.
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 tính A của R mà
XÆA được suy dẫn từ tập F.
X + = {{A:A ∈ R và X → A ∈ F + }
X + = {X ∪ A:A ∈ R 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} Y + = {C , D, E , G} - 33 -
Bao đóng X+ của tập thuộc tính
™Định nghĩa khác:
Cho lược đồ quan hệ R={A1,…,An}. Giả sử F là
tậ PTH trên
tập t ê R. R X là tập
tậ con của
ủ tập
tậ thuộc
th ộ tính
tí h R.
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 tính {B1, B2, …, Bm} mà ở đó với
1<=i<=m phụ thuộc hàm A1….AnÆBi được suy
dẫ từ F.
dẫn F
- Tập phụ thuộc hàm đôi khi còn được định nghĩa
là {A1,…,A
An } +
Ví dụ bao đóng của tập thuộc tính

R = {A, B, C , D, E , F }
FDs = {AB → C , BC → AD, D → E , CF → B}
X = {A, B}

X + = {A, B, C , D, E}
Tính chất của bao đóng X+

1. Tính phản xạ X ⊆ X+
2 Tính đơn điệu
2. X ⊆Y ⇒ X+ ⊆Y+
3. Tính lũy đẳng X ++ = X +
+ + +
4. Bao đóng tổng chứa tổng các bao đón X Y ∈ ( XY )
5. ( X +Y ) + = ( XY + ) + = ( X +Y + ) + = ( XY ) +
6. X → Y ⇒ Y ⊆ X +
7 X →Y ⇒Y+ ⊆ X +
7.
8. X → X + & X + → X
+ +
9. X = X ⇔ X → Y & Y → X
- 36 -
Thuật toán tìm bao đóng X+
™Bài toán thành viên:
Vấn đề được đưa ra ở đây là: Cho trước một tập
PTH F cóó hay
h không
khô một ột khẳng đị h f ∈ F +
khẳ định
Để giải quyết bài toán này người ta sử dụng tính
chất 6 của tập bao đóng hay bổ đề 2.1:
X →Y ∈F+ ⇔ Y ⊂ X +
Do vậy, chỉ cần tìm được X+ ta sẽ giải quyết được
bài toán
t á XÆY có ó thuộc
th ộ F+

- 37 -
Thuật toán tìm bao đóng X+
™Thuật toán tìm bao đóng X+
Thuật toán của Beeri và Bernstein
Ch R={A1,…,An}.
Cho R {A1 A } F là tập
tậ PTH trên
t ê R.
R X là tập
tậ
thuộc tính.
Ta xây dựng tập X0,…,Xk như sau:
X0 = X
X ( i +1)) = X i Z i : Z i = {A:A ∉ X i và X i → A ∈ F+ }
Tập X0,…,Xk là tập tăng dần và tập R là hữu hạn
nên sau một số hữu hạn bước thuật toán phải kết
thúc và tồn tại k mà ở đó X k = X k +1 = ...
Kết quả: X + = X k

- 38 -
Thuật toán tìm bao đóng X+
Input: Lược đồ quan hệ R
Tập PTH F, tập thuộc tính X
O t t
Output: Tậ X+
Tập

Begin
Y:=X;
Repeat
Z=Ο
For each A in R do
+
If ( A ∉ Y & Y → A ∈ F ) then Z = Z ∪ A
Y := Y ∪ Z
Until Z = Ο
X+ =Y
End - 39 -
Ví dụ
R={A,B,C,D,E,G}
Cho tập PTH
F {ABÆC CÆA,
F={ABÆC, CÆA BCÆD,
BCÆD ACDÆB,
ACDÆB DÆEG,
DÆEG
BEÆC, CGÆDB, CEÆAG}

X = {B, D}
X 0 = {B, D}, Z 0 = {E , G}( D → EG )
X 1 = {B, D, E , G}, Z 1 = {C}( BE → C )
X 2 = {B, C , D, E , G},
} Z 2 = { A}(C → A)
X 3 = { A, B, C , D, E , G}, Z 3 = Ο
X+ = X3
- 40 -
Chứng minh tính đúng đắn của t. toán
Chứng minh X + ⊂ X k & X k ⊂ X +
a. X + ⊂ X k
Thật vậy, lấy A ∈ X + . Như trên ta thấy X + = XZ
với Z = {A : A ∉ X and X → A ∈ F + }

Nếu A ∈ X thì A ∈ X vì X ⊂ Xk
k

Nếu
ế A ∈ Z thì theo định nghĩa các tập Z , tồn
i
ồ tại
một chỉ số i để A ∈ Z i , vậy A ∈ X k ⇒ X + ⊂ X k
b. X k ⊂ X +
X 0 → X 1 → ... → X k ⇒ X → X k ⇒ X k ⊂ X +

- 41 -
Tại sao tìm bao đóng
™Chứng minh sự đúng đắn của các quy tắc sử
dụng trong suy diễn phụ thuộc hàm
™Kiể tra
™Kiểm t xem một ột PTH hàm
hà mới ới được
đ suy diễn
diễ
từ một tập của PTH S.
™Tìm khóa.
Bao đóng PTH VS. bao đóng thuộc tính
Bài tập về phụ thuộc hàm và bao đóng
1. Cho lược đồ quan hệ <R,F>
R= {A, B, C, D, E, I} và
F = {BCÆDE,
{BCÆDE BEÆC,
BEÆC BIÆA,BIÆA CEÆI}
a. Chứng minh F|-BCÆI
b. Chứng minh F| F|=BCÆI
BCÆI
c. Tìm bao đóng của BC, BE, BI, CE
+
d. Chứng minh BC → A ∈ F

2. Cho F={ABÆE, AGÆI, EÆG, GIÆH}


Chứng minh rằng AB → GH ∈ F +

- 44 -
Bài tập về phụ thuộc hàm và bao đóng
3. Cho F={ABÆC, BÆD, CDÆE, CEÆGH, GÆA}
a. Chứng minh AB → E ∈ F +
b Chứng
b. Chứ minh A → G∈F+
i h AB

4. Cho F={XYÆW, YÆZ, WZÆP, WPÆQR, QÆX}


Chứng minh rằng XY → P ∈ F +

- 45 -
Bài tập
5. 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
T
Trong các
á PTH sau, PTH nào
à không
khô thỏa
thỏ mãn
ã r
AÆB, AÆC, BÆA, CÆD, DÆC, DÆA

- 46 -

You might also like