cƠ sỞ ddỮ liliỆu - khoa...

88
CƠ SDLIU CƠ SDLIU GIÁO VIÊN: GIÁO VIÊN: ĐỖ T ĐỖ T BMÔN: BMÔN: CÁC HT CÁC HT BMÔN: BMÔN: CÁC HT CÁC HT KHOA: KHOA: CÔNG NG CÔNG NG Lý thuyết CSDL U U THMAI HƯỜNG THMAI HƯỜNG THNG THÔNG TIN THNG THÔNG TIN THNG THÔNG TIN THNG THÔNG TIN GHTHÔNG TIN GHTHÔNG TIN 1

Upload: others

Post on 25-Dec-2019

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

CƠ SỞ DỮ LIỆUCƠ SỞ DỮ LIỆU

GIÁO VIÊN:GIÁO VIÊN: ĐỖ TĐỖ TBỘ MÔN:BỘ MÔN: CÁC HỆ TCÁC HỆ TBỘ MÔN:BỘ MÔN: CÁC HỆ TCÁC HỆ T

KHOA:KHOA: CÔNG NGCÔNG NGLý thuyết CSDL

UU

THỊ MAI HƯỜNGTHỊ MAI HƯỜNGTHỐNG THÔNG TINTHỐNG THÔNG TINTHỐNG THÔNG TINTHỐNG THÔNG TINGHỆ THÔNG TINGHỆ THÔNG TIN

1

Page 2: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

CHƯƠNG 3

Lý th ếLý th ếLý thuyếLý thuyếcơ sở dữ liệcơ sở dữ liệcơ sở dữ liệcơ sở dữ liệ

Lý thuyết CSDL

t thiết kết thiết kết thiết kết thiết kếệu quan hệệu quan hệệu quan hệệu quan hệ

2

Page 3: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Nội dung chi tiết

Giới h ủ ER• Giới hạn của ER• Sự dư thừa

Ph h ộ hà• Phụ thuộc hàm• Hệ suy diễn Amstrong

Th ậ á ì b đó• Thuật toán tìm bao đóng • Thuật toán tìm khóa

Cá ẩ• Các dạng chuẩn• Kiểm tra kết nối không mất thô

Lý thuyết CSDL

ông tin

3

Page 4: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Sự dư thừa

• Sự phụ thuộc giữa các thuộc tính gVí dụ: Điểm các môn học Điểm trVí dụ: Điểm các môn học Điểm tr

• Thuộc tính đa trị trong lược đồ ER quan hệquan hệ

• Ví dụ: NHANVIEN(TENNV HONV NSNHANVIEN(TENNV, HONV, NS

TENNV HONV NS D

Tung Nguyen 12/08/1955 638

Nhu Le 06/20/1951 291 H

Nhu Le 06/20/1951 291 H

Nhu Le 06/20/1951 291 H

Hung Nguyen 09/15/1962 Ba

Lý thuyết CSDL

gây ra sự dư thừarung bình xếp loạirung bình xếp loại nhiều bộ số liệu trong lược đồ

S DCHI GT LUONG BANGCAP)S,DCHI,GT,LUONG, BANGCAP)

DCHI GT LUONG BANGCAP

NVC Q5 Nam 40000

HVH QPN Nu 43000 Đại học

HVH QPN Nu 43000 Trung học

Trung học

HVH QPN Nu 43000 Đại học

Ria VT Nam 38000 Thạc sỹ

4

Page 5: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Sự dư thừa (tt)

• Sự dư thừa sự dị thường• Sự dư thừa sự dị thường– Thao tác sửa đổi: cập nhật tất – Thao tác xóa: người cuối cùngThao tác xóa: người cuối cùng

vị– Thao tác chèn

TENPB MAPB MaTP NG_NHAN

Nghien cuu 5 NV01 05/22/1Nghien cuu 5 NV01 05/22/1

Dieu hanh 4 NV02 01/01/1

Quan ly 1 NV03 06/19/1

Lý thuyết CSDL

cả các giá trị liên quang của đơn vị mất thông tin về đơng của đơn vị mất thông tin về đơn

NCHUC

1988

TENNV HONV

Tung NguyenNV01

MANV …

1988

1995

1981

Tung Nguyen

Hung Nguyen

NV01

NV02

NV03 Vinh Pham

5

Page 6: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Sự dư thừa (tt)

Cá iá t ị khô á đị h• Các giá trị không xác định– Đặt thuộc tính Trưởng phòng và

quan hệ PHONGBANquan hệ PHONGBAN• Các bộ giả

– Sử dụng các phép nốiSử dụng các phép nối

Lý thuyết CSDL

ào quan hệ NHANVIEN thay vì vào

6

Page 7: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Sự dư thừa (tt)

• Một số quy tắc1.Rõ ràng về mặt ngữ nghĩa, trán

với nhau2 T á h t ù lặ ề ội d2.Tránh sự trùng lặp về nội dung

khi thao tác cập nhật dữ liệu3. Tránh đặt các thuộc tính có nh3. Tránh đặt các thuộc tính có nh

• Khó thực hiện các phép nối và k

4. Thiết kế các lược đồ quan hệ sề ằđiều kiện bằng trên các thuộc

theo cách đảm bảo không sinh

=> Lý thuyết về chuẩn hóa: (dự=> Lý thuyết về chuẩn hóa: (dựnền tảng cơ sở để thực hiện vđồ quan hệ

Lý thuyết CSDL

đồ quan hệ

nh các phụ thuộc giữa các thuộc tính

đả bả t á h đ á dị th ờg đảm bảo tránh được các dị thường

hiều giá trị Nullhiều giá trị Nullkết hợp

sao cho chúng có thể được nối với tính là khoá chính hoặc khoá ngoài

h ra các bộ “giả”

ựa trên phụ thuộc hàm ) sẽ làựa trên phụ thuộc hàm, …) sẽ là việc phân tích và chuẩn hóa lược

7

Page 8: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Phụ thuộc hàm

Ph th ộ hà t hệPhụ thuộc hàm trong quan hệ r

• Cho lược đồ quan hệ R và X, Y làhệ trên R.

• Ta nói X xác định phụ thuộc hàmmọi t và t’ của r mà t, t’ bằng nhanhau trên tập Y, tức là t, t’ r

• Ví dụ:– X={MaNV}, Y={Hoten,NS} thỏ{ }, { , }

– X={Hoten}, Y={DC, GT} không

• Phụ thuộc hàm trên r là trường hợLý thuyết CSDL

• Phụ thuộc hàm trên r là trường hợ

à các tập con của R. r là một quan

m Y ký hiệu X → Y trong r nếu với au trên tập X thì chúng cũng bằng nếu t.X = t’.X t.Y = t’.Y

ỏa mãn X → Y

g thỏa mãn X → Y

ợp riêng của phụ thuộc hàm trên R8

ợp riêng của phụ thuộc hàm trên R.

Page 9: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

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 gnhau thì từ Hoten có thể suy diễn ra tất ế hê à bộ ó H iố ới bộnếu thêm vào bộ có Hoten giống với bộ

còn đúng nữa.

HoTen NgaySinh MaPB

ễ / /Nguyễn Văn A 1/1/1980 PB01

Nguyễn Văn B 20/2/1981 PB02

ầTrần C 13/6/1981 PB03

ầLý thuyết CSDL

Trần C 10/2/1982

giả thiết Hoten nhập vào là khác cả các thuộc tính khác. Nhưng ộ đã ó hì h h ộ hà khôộ đã có thì phụ thuộc hàm không

TenPB

Hành chính

Tổng hợp

Dự án

9PB01 Hành chính

Page 10: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Phụ thuộc hàm(tt)

Bài tập:Bài tập: Cho bảng quan hệ r như sau:A B C DA B C Dx u x yy x z xy x z xz y y yy z w zy z w zTrong các phụ thuộc hàm sau PTA B A C B A C D D CA →B,A →C,B →A,C →D,D →C

Lý thuyết CSDL

TH nào không thỏa mãn rC D AC,D →A

10

Page 11: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Phụ thuộc hàm(tt)

Phụ thuộc hàm trên lược đồ qPhụ thuộc hàm trên lược đồ q• Cho lược đồ quan hệ R và X,

X xác định phụ thuộc hàm Y kX xác định phụ thuộc hàm Y khệ R. Nếu với mọi r trên R xác

Lý thuyết CSDL

quan hệ Rquan hệ RY là các tập con của R. Ta nói

ký hiệu X → Y trên lược đồ quanký hiệu X → Y trên lược đồ quan c định X → Y .

11

Page 12: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Phụ thuộc hàm(tt)

Cá tí h hất ủ h thCác tính chất của phụ thu• A1. Tính phản xạ

ổX → X, hay tổng quát hơn• A2. Tính mở rộng hai vế

ởX → Y thì XZ → YZ. (Mở • A3. Tính bắc cầu: X → Y và Y

ồ ấ• Hệ A bao gồm các tính chất {Ađược gọi là hệ tiên đề Armstro

Lý thuyết CSDL

ộ hàuộc hàm

ến nếu Y X thì X → Y

ếrộng hai vế Z)Y → Z thì X → Z.A1, A2, A3} của phụ thuộc hàm ong của lớp các phụ thuộc hàm.

12

Page 13: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

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’ đ

chúng phải bằng nhau trong mọi tậpt.X=t’.X t.X=t’.X & t.Y=t’.Y vớt.X t .X t.X t .X & t.Y t .Y vớ

2. Tính mở rộng 2 vế: giả sử t.XZ=t’.Xt.YZ=t’.YZ

Thật vậy từ t.XZ=t’.XZ ta có t.X=t’.X t.X=t’.X thì t.Y=t’.Y. Như vậy ta cót YZ=t’ YZ Suy ra XZ → YZt.YZ=t .YZ . Suy ra XZ → YZ

3. Tính bắc cầu:t X = t’ X t Y = t’ Yt.X t .X t.Y t .Yt.Y = t’.Y t.Z = t’.Z t.X = t’.X thì t.Z = t’.Z X → Z

Lý thuyết CSDL

ằđã bằng nhau trong tập X thì p con của X, nói cách khác i Y X X → Yi Y X X YXZ ta phải chứng minh

và t.Z=t’.Z. Theo giả thiết ó t.Y=t’.Y và t.Z=t’.Z thì

13

Page 14: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Các tính chất bổ sungCác tính chất sau đều được suy ra

Tính tựa bắc cầu:Tính tựa bắc cầu:

X → Y và YZ → W thì XZ → WTí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 → YWX → Y và Z → W thì XZ → YW

Lý thuyết CSDL

g từ Hệ Amstrongtừ hệ tiên đề Armstrong.

W

14

Page 15: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Hệ tiên đề Armstron

• Chứng minh:

• Tính chất tựa bắc cầu: X → Y

X → Y theo tính mở rộng hai vế

XZ YZXZ → YZ

Và YZ → W

Theo tính bắc cầu

XZ → W

Lý thuyết CSDL

g

và YZ → W thì XZ → W

15

Page 16: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Hệ tiên đề Amstrong

Bài ậ Chứ i h á í h hấBài tập: Chứng minh các tính chấ• Tính chất chiếu:

X → YZ thì X → Y và X → Z

• Tính cộng đầy đủ:• Tính cộng đầy đủ:X → Y và Z → W thì XZ → Y

Lý thuyết CSDL

ấ ò l iất còn lại

Z

YW

16

Page 17: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Hệ tiên đề Armstron

Phé dẫ theo hệ tiê• Phép suy dẫn theo hệ tiê

PTH f được suy dẫn theo hệ ậ ừ ộ ốnhận được từ F sau một số h

luật của tiên đề Armstrong.

• Phép suy dẫn theo quan

PTH f suy dẫn được từ tập PTf được suy dẫn theo quan hệnếu với mọi quan hệ r trên lcũng thỏa mãn.

Lý thuyết CSDL

ng

ê đề A t oên đề Armstrong

tiên đề Armstrong là f có thể ớ á áhữu hạn bước áp dụng các

Ký hiệu F |= f.

n hệ

TH F theo quan hệ (hoặc PTH ệ từ tập PTH F) ký hiệu F |- f, ược đồ R mà F thỏa mãn thì f

17

Page 18: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Hệ tiên đề ArmstronBổ đề: Giả sử X R, nếu gọi X+ làF |= X → A thì với mọi tập Y R,

a. Chứng minh chiều thuậnTa có F |= X → Y. Giả sử Y={A, Bhẹp phải:F |= X → A, nên theo định nghĩa X

F |= X → B, nên theo định nghĩaF |= X → C, nên theo định nghĩa| , ị g..., vậy {A, B, C, ...} = Y X+.b. Chứng minh điều ngược lạig g ợ ạY X+. Theo định nghĩa tập X+ ththeo tính chất cộng đầy đủ ta có F|

Lý thuyết CSDL

ngà tập các thuộc tính A của R mà F |= X → Y Y X +.

B, C, ...} theo tính mở rộng trái thu

X+ ta có A X+.

a X+ ta có B X+.

a X+ ta có C X+.

hì mọi A Y ta có F|= X → A, vậy = X → Y.

18

Page 19: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Hệ tiên đề Armstron

Định lý:

Cho tập PTH F và một PTH f trê

F |- f khi và chỉ khi F |= f.

Chứng minh:

• Giả sử có F |=XY cần chứng mGiả sử có F | XY cần chứng m

• Theo bổ đề ta có YX+. Để chứnhệ R t ỳ ý th ả ã tất ả á fdhệ R tuỳ ý thoả mãn tất cả các fdsthoả XY.

ấ ể ấ• Ta lấy 2 thực thể bất kỳ t, t' của Rt[Y]=t'[Y] mà Y X+nên t[Y]=t'[

Lý thuyết CSDL

ng

ên R khi đó ta có

minh F |-XYminh F | XY

ng minh F |-XY, ta lấy một quan ủ F à t hải hứ i h Rs của F và ta phải chứng minh R

R mà t[X]=t'[X], ta phải chứng tỏ [Y] (đpcm)

19

Page 20: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Hệ tiên đề Armstron

Giả sử có F | XY chứng minhGiả sử có F |-XY chứng minhminh Y X+

Nhận xét: Nếu X' X+ thì (X')+ Nhận xét: Nếu X X thì (X ) Xét một quan hệ r trên tập thuộc

Lý thuyết CSDL

ng

h F |=XY hay chỉ cần chứngh F |=XY, hay chỉ cần chứng

X+X .tính R

20

Page 21: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Hệ tiên đề Armstron

• Ta thấy R thoả mãn tất cả các• Ta thấy R thoả mãn tất cả cácmột pth PQ của F thì R thoả– TH1: P không là tập con của XTH1: P không là tập con của X

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

t[Q]=t'[Q]• Vậy trong mọi trường hợp R tho• Do giả thiết F |-XY , mà R tho

XYXY. • Do t1[X]=t2[X] nên t1[Y]=t2[Y]

• KL: Hai phương pháp suy dẫn

Lý thuyết CSDL

ng

c phụ thuộc hàm của F Vì lấyc phụ thuộc hàm của F. Vì lấy ả PQ. Thật vậy:X+ R thoả PQ vì t[P]=t'[P] thì tt'X R thoả PQ vì t[P] t [P] thì tt

và t'=t2. Do PQ thuộc F nên Q P+ hay

oả các phụ thuộc hàm của F.oả tất cả các fds của F, R cũng thoả fd

suy ra Y X+ đpcm.

n là tương đương nhau.

21

Page 22: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Hệ tiên đề Armstron

Bài tập:Bài tập:Cho lược đồ quan hệ <R,F>• R={A B C D E I} và• R={A, B, C, D, E, I} và• F={BCDE, BE C, BIA, a Chứng minh F| BCIa. Chứng minh F|- BCIb. Chứng minh F|= BCI

Lý thuyết CSDL

ng

CE I}

22

Page 23: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Bao đóng F+ của tập

4. Bao đóng F+ của tập PTH ậ ẫ ừTập PTH F được suy dẫn từ F đư

tập PTH F, ký hiệu F+.Ví dụ:Ví dụ:R={A, B, C, D}F={A → B, B → C, A →D, B → DF {A B, B C, A D, B DF+ = {A → B, B → C, A → D, B BCD, A → BC, A → CD, B → CDCá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+ c. Tính lũy đẳng: F++=F+

Lý thuyết CSDL

PTH F

Fà ó ủược gọi là bao đóng của

D}D}→ D, A → C, A → BD, A →

D}

G+

23

Page 24: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Bao đóng X+

• Định nghĩa bao đóng X+

Cho lược đồ quan hệ R = {A1, ợ q ệ { 1,trên R. X là tập con của tập thBao đóng X đối với F, ký hiệu Xtheo tập F) là tập th ộc tính Atheo tập F) là tập thuộc tính Adẫn từ tập F.X+ = {A: A R và X → A F+}X {A: A R và X → A F }hoặc X+ = {XA: A R, AXVí dụ:Ví dụ:R = {A, B, C, D, E, G}F = {A → C, A → EG, B → D, { , , ,X = {A, B}Y = {C, D, G}

Lý thuyết CSDLX+ = {A, B, C, D, E, G}Y+ = {C, D, E, G}

..., An}. Giả sử F là tập PTH , n} ậphuộc tính R.X+ (X+

F để chỉ bao đóng lấy A của R mà X A được s A của R mà X → A được suy

} } và X → A F+}

G → E}}

24

Page 25: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Tính chất của bao đóng X+g

1.Tính phản xạ: X X+1.Tính phản xạ: X X2. Tính đơn điệu: X Y X+ 3. Tính lũy đẳng: X++ = X+y g4. Bao đóng tổng chứa tổng cá5. (X+Y)+ = (XY+)+ = (X+Y+)+

6. X → Y Y X+

7. X → Y Y+ X+

8. X → X+ và X+ → X9. X+ = Y+ X → Y và Y → X.

Lý thuyết CSDL

+

Y+.

ác bao đóng: X+Y+ (XY)+

= (XY)+

25

Page 26: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Thuật toán tìm bao đóngThuật toán tìm bao đóng

• Bài toán thành viênVấn đề được đưa ra ở đây là: Chay không một khẳng định f y g gnày người ta sử dụng tính chấtbổ đề: X → Y F+ Y X+. Do vậy chỉ cần tìm được X+ ta X → Y có thuộc F+.

Lý thuyết CSDL

X+ X

Cho trước một tập PTH F có F+. Để giải quyết bài toán g q y

t 6 của tập bao đóng hay

sẽ giải quyết được bài toán

26

Page 27: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Thuật toán tìm bao đóng

•Thuật toán tìm bao đóngThuật toán tìm bao đóng X+

Cho R = {A1, ..., An}. F là tậtínhtính.Ta xây dựng tập X0, .., Xk nhX0=XX XX(i+1) = XiZi với Zi={A: A R2, ...Tập X0, X1, ... là tập tăng dầsau hữu hạn bước thuật toánXk+1 = Chính Xk là tập X+Xk+1 = ... Chính Xk là tập X+

Lý thuyết CSDL

X+

g X+

của Beeri và Bernsteinập PTH trên R. X là tập thuộc

hư sau:

R\ Xi và Xi → A F+} i=0, 1,

ần và tập R là hữu hạn nên n phải kết thúc. Tồn tại Xk = .

27

Page 28: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Thuật toán tìm bao đóngThuật toánInput: Lược đồ quan hệ R

ậ ậ h ộTập PTH F, Tập thuộOutput: Tập X+

BeginBeginY:=XRepeatRepeat

Z:=For each A in For each A in

If (A Y anY : = Y Z;

Until Z = ;X+ = Y

Lý thuyết CSDLEnd;

X+

ộ í hộc tính X

R doR dond Y → A F+) then Z= Z A;

28

Page 29: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Thuật toán tìm bao đóng

Ví dụVí dụCho R = {A, B, C, D, E, G}Cho tập PTH F ={AB → C BCho tập PTH F ={AB → C, B→ C, CG → DB, CE → AG}X = {B, D}{ , }X0 = {B, D}, Z0 = {E, G} (DX1 = {B, D, E, G}, Z1 = {C}X {B, D, E, G}, Z {C}X2 = {B, C, D, E, G}, Z2 ={AAG F)X3 ={A, B, C, D, E, G} Z3=

X+ = X3

Lý thuyết CSDL

g X+

C → D ACD → B D → EG BE C → D, ACD → B, D → EG, BE

D → EG F) (BE → C F) (BE C F)A} (CE → A F+ Hoặc CE →

29

Page 30: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Thuật toán tìm bao đóng

Chứng minh tính đúng đắn ứ k à kChứng minh: X+ Xk và Xk X

a. X+ Xk

Thật vậy lấy A X+. Như trên A X và X → A F+}Nếu A X thì A Xk vì X Xk

Nếu A Z thì theo định nghĩa số i để A Zi vậy A Xk X+

b. Xk X+

X0 → X1 → … → Xk => X → Xk

Lý thuyết CSDL

X+

của thuật toánX+.

ta thấy X+=XZ với Z = {A:

. các tập Zi, tồn tại một chỉ Xk.

=> Xk X+

30

Page 31: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Bài tập về phụ thuộc hà

1 Cho lược đồ quan hệ <R F>1. Cho lược đồ quan hệ <R,F>• R={A, B, C, D, E, I} và• F={BCDE BE C BIA• F={BCDE, BE C, BIA, a. Chứng minh F|- BCIb Chứng minh F|= BCIb. Chứng minh F|= BCIc. Tìm bao đóng của BC, BE,BId Chứng minh BC A F+d. Chứng minh BC → A F+

2. Cho F = {AB → E, AG → I, E →Chứng minh rằng AB GH• Chứng minh rằng AB → GH

Lý thuyết CSDL

àm và bao đóng

CE I}CE I}

,CE

→ G, GI → H}. F + F +

31

Page 32: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Bài tập

3 Cho F = {AB C B D CD3. Cho F = {AB →C, B → D, CD a. Chứng minh rằng AB → E Fb Chứng minh rằng AB Gb. Chứng minh rằng AB → G

4 Cho F = {XY W Y Z WZ4. Cho F = {XY →W, Y → Z, WZChứng minh rằng XY → P F +

Lý thuyết CSDL

E CE GH G A }→ E, CE → GH, G → A }. F +

F + ?F + ?

P WP QR Q X } → P, WP → QR, Q → X }.

32

Page 33: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Bài tập

5 Cho bảng quan hệ r như sau:5. Cho bảng quan hệ r như sau:A B C Dx u x yx u x yy x z xz y y yz y y yy z w zTrong các phụ thuộc hàm sau PTTrong các phụ thuộc hàm sau PTA →B,A →C,B →A,C →D,D →C

Lý thuyết CSDL

TH nào không thỏa mãn rTH nào không thỏa mãn rC,D →A

33

Page 34: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Khóa của sơ đồ quan

Trong lược đồ quan hệ một số Trong lược đồ quan hệ một số quan trọng, và từ các thuộc tínthuộc tính khác.Khái niệm sơ đồ quan hệ:Cho lược đồ quan hệ: R ={A1, 1phụ thuộc hàm trên R. Sơ đồ qtrên, ký hiệu SĐQH là W=<R,FSơ đồ quan hệ là một lược đồ hàm trên nó

Lý thuyết CSDL

hệ

thuộc tính đóng vai trò thuộc tính đóng vai trò nh này có thể xác định các

A2, ..., An}, F là tập các 2 nquan hệ là cặp R, F như F>quan hệ và tập phụ thuộc

34

Page 35: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Khóa của sơ đồ quan • Định nghĩa khóa sơ đồ quan hệ

k R được gọi là khóa tối thiểu của sơ thiểu kéo theo R, tức là k là khóa tốbớt khỏi k dù một phần tử thì bao đó

k R gọi là khóa tối thiểu nếu thỏa mã

1. k+ = R

2. (k-A)+ ≠ R, với mọi A Những thuộc tính thuộc khóa gọi là thuNhững thuộc tính thuộc khóa gọi là thu

không thuộc khóa gọi là thuộc tính k

Siêu khóa:Siêu khóa:

X là siêu khóa nếu X thỏa mãn điều

Lý thuyết CSDL

hệ

đồ quan hệ trên W nếu k là tập tối ối thiểu nếu: k+ = R (k→R) và nếu óng của tập còn lại khác R.

ãn:

k.

uộc tính khóa những thuộc tínhuộc tính khóa, những thuộc tính không khóa (thuộc tính thứ cấp).

u kiện 1.

35

Page 36: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Khóa của sơ đồ quan

• Định lýị ý

a. Nếu k là khóa của sơ đồ quan hệ Wthì mọi cặp phần tử khác nhau t tthì mọi cặp phần tử khác nhau t1, t2

b. Ngược lại nếu k là tập tối thiểu vàmọi cặp t t của r mà t k ≠ t k thìmọi cặp t1, t2 của r mà t1.k ≠ t2.k thì = <R, F>

Lý thuyết CSDL

hệ

W = <R, F>, r là quan hệ trên R của r ta luôn có t k ≠ t kcủa r ta luôn có t1.k ≠ t2.k.

à với mọi quan hệ r trên R mà k là khóa của sơ đồ q an hệ Wk là khóa của sơ đồ quan hệ W

36

Page 37: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Thuật toán tìm khóa

Do bao đóng của k là R nên baDo bao đóng của k là R nên baTa loại trừ dần các phần tử và Input: W = <R, F>Input: W R, FOuput: k – khóa của WThuật toán:Bước 1: Đặt k = RBước 2: Lặp quá trình loại khỏi

Lý thuyết CSDL

an đầu ta coi k = Ran đầu ta coi k = R.kiểm tra xem k+ = R.

i k phần tử A mà (k-A)+ = R

37

Page 38: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Thuật toán tìm khóa

Mô tả thuật toán bằng giả mãBegin Begin

k = RFor each A in k doFor each A in k do

if (k-A)+ = R then k = k –Ak = k A

End.Thuật toán sẽ tìm được một khThuật toán sẽ tìm được một khNếu muốn tìm được khóa khác loại trừ các phần tử A ra khỏi kạ p

Lý thuyết CSDL

hóa k cho Rhóa k cho R ta có thể thay đổi thứ tự

k.

38

Page 39: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Thuật toán tìm khóa

Ví dụ 1: Tìm khóa• Ví dụ 1: Tìm khóaCho W=<R,F>, R={A, B, C

B A B C AC B }B→A, B →C, AC→B }

• Ví dụ 2: • Cho W=<R,F>, R={A, B, C, • F={A → B, A → C, B→A, B →F {A → B, A → C, B→A, B →

}Tìm một khóaTìm một khóa

C}, F={A → B, A → C,

D, E, H}→C, AC→B, E → C, C→H, B→H →C, AC→B, E → C, C→H, B→H

Page 40: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Các tính chất của khó

1. Các thuộc tính không xuất hiện trotập F phải có trong mọi khóa k.2. Các thuộc tính chỉ xuất hiện bên trphải thuộc mọi khóa k.3. Những thuộc tính xuất hiện, và chgPTH sẽ không thuộc bất kỳ khóa nào4. Thuật toán khẳng định mọi SĐQHậ g ị ọ Qthuật toán không khẳng định có bao phần tử trong khóa có như nhau hay p g y5. Họ tất cả các khóa của một SĐQHcó hai khóa bao nhau).

Lý thuyết CSDL

)

óa

ong cả hai vế trái hoặc phải của

rái của các PTH trong F cũng

hỉ xuất hiện bên vế phải của tập p po.H W đều có khóa, tuy nhiên , y

nhiêu khóa và số lượng các không.g

H W là hệ Sperner (tức là không

40

Page 41: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Thuật toán tìm một kh

Ví dVí dụ:

Cho W=<R,F> với R={A,B,C,D,E

F={AC->B,BI->ACD,ABC->D,H->

Bước 1: Đặt K=R\{D}={A B C E GBước 1: Đặt K=R\{D}={A,B,C,E,G

Bước 2: Lần lượt loại các thuộc t

-Loại A:

-....

K={C,G,H}

Lý thuyết CSDL

hóa

E,G,H,I},

>I,ACE->BCG,CG->AE}. Tìm K?

G H I}G,H,I}

tính có trong K:

41

Page 42: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Thuật toán tìm mọi khậ ọ

• Ý tưởngg

Cho W=<R,F>,

1 Tìm tất cả tập con khác rỗng củ1. Tìm tất cả tập con khác rỗng củ

2. Loại tập con có bao đóng khác

3. Loại tập con bao tập con khác

4. Những tập còn lại là khóa của W

Lý thuyết CSDL

hóa

ủa Rủa R

R

W

42

Page 43: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Thuật toán tìm mọi kh

• Thuật toánCho W=<R,F>, R={A, B, C}, F=Cho W R,F , R {A, B, C}, F→C, AC→B }

B đó TậBao đóng Tậpđón

A ABC A

B ABC B

C CC C

AB ABC AB

AC ABC ACAC ABC AC

BC ABC BC

Lý thuyết CSDLABC ABC ABC

hóa…

={A → B, A → C, B→A, B {A B, A C, B A, B

ó b Khóp con có bao ng bằng R

Khóa

A

B

43C

Page 44: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Thuật toán tìm mọi khậ ọ

• Một số cải tiếnộ- Theo tính chất của khóa chúntính luôn thuộc khóa. Trong thugxét nó và thêm vào khóa- Một số thuộc tính không thuộộ ộ g ộnó trong quá trình tìm kiếm khó

Lý thuyết CSDL

hóa…

g ta sẽ có một số thuộc uật toán tìm khóa sẽ không g

c khóa nào cả. Ta loại bỏ ạóa

44

Page 45: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Thuật toán tìm mọi kh

• Thuật toánThuật toánCho W=<R,F>, R={A, B, C, D,F={A → B A → C B→A B →CF={A → B, A → C, B→A, B →C- Chắc chắn D, E tham gia mọi

H ẽ khô th i à khó- H sẽ không tham gia vào khó• Thuật toán tìm khóa: sẽ khônkhỏi tậ Tậ khởi t b đầkhỏi tập. Tập khởi tạo ban đầu• Thuật toán tìm mọi khóa: ThE T á tậ ủ th ộE. Trong các tập con của thuộcđến H và xét cả tập con bằng r

Lý thuyết CSDL

hóa…

, E, H} AC→B E → C C→H B→H }, AC→B, E → C, C→H, B→H } khóa

ó à ảóa nào cảng cố gắng loại trừ D, E ra ó thể là K R\{H} có thể là K=R\{H}.êm một cột mới luôn chứa D, tí h ò l i khô ét c tính còn lại không xem xét rỗng .

45

Page 46: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Thuật toán tìm mọi khThuật toán tìm mọi kh• Thuật toán

Bao đóng Siêu

DE DEHC

DE A DEHABC DEA

DE B DEHABC DEB

DE C DEHC

DE AB DEHABC DEA

DE AC DEHABC DEA

DE BC DEHABC DEBDE BC DEHABC DEB

DE ABC DEHABC DEA

Lý thuyết CSDL

hóa…hóa…

u khóa Khóa

A DEA

B DEB

AB

AC

BCBC

ABC

46

Page 47: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Bài tập1. R(A,B,C,D) với F=[ AB → C;2 R(ABCDEG); với F=[A → B2. R(ABCDEG); với F=[A → B3.R(ABCDEGH); với F=[C →4 R(ABCDEGH) ới F [A4.R(ABCDEGH); với F=[A → 5.R(ABCDEG); với F=[AB →6.R(ABCDEGHI); F=[AC → B; BI → ACD; ABC →→ AE]

Bài tập về nhà: Các bài tập cuối ễNguyễn Bá Tường

Lý thuyết CSDL

; D → B; C → ABD] BC C → DE E → G]BC, C → DE, E → G] AB, D → E, B → G] BC D E H G]BC. D → E, H → G] C; C → B; ABD → E;G → A]

→ D; H → I; ACE → BCG, CG

chương 2, Lý thuyết CSDL,

47

Page 48: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Các dạng chuẩn

Mỗi một dạng ch ẩn là một tậ• Mỗi một dạng chuẩn là một tậnhằm đảm bảo các tính chất cbất thường trong cập nhật)bất thường trong cập nhật)

• Chuẩn hóa dữ liệu: quá trình ptrên các FD và các khóa chínhtrên các FD và các khóa chính– Cực tiểu sự dư thừa

Cực tiểu các phép cập nhậ– Cực tiểu các phép cập nhậ

Lý thuyết CSDL

p các điề kiện trên l ợc đồp các điều kiện trên lược đồ của nó (liên quan tới dư thừa và

phân tích lược đồ quan hệ dựa h để đạt đượch để đạt được

ật bất thườngật bất thường

48

Page 49: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Các dạng chuẩn (tt)

• Thủ tục chuẩn hoá cung cấp – Một cơ cấu hình thức để ph

dựa trên các khoá của nó vthuộc tính của nóthuộc tính của nó.

– Một loạt các kiểm tra dạng lược đồ quan hệ riêng rẽ salược đồ quan hệ riêng rẽ sacó thể được chuẩn hoá đến

• Tính chấtc ấ– Nối không mất mát (hoặc n– Bảo toàn sự phụ thuộc ảo toà sự p ụ t uộc

• nó đảm bảo rằng từng phiện trong các quan hệ

Lý thuyết CSDLtách.

hân tích các lược đồ quan hệ và các phụ thuộc hàm giữa các

chuẩn có thể thực hiện trên các ao cho cơ sở dữ liệu quan hệao cho cơ sở dữ liệu quan hệ n một mức cần thiết.

nối không phụ thêm)

phụ thuộc hàm sẽ được biểu riêng rẽ nhận được sau khi

49

Page 50: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Các dạng chuẩn (tt)

• Phân loại• Phân loại– Boyce Codd đề nghị 3 dạng

• 1NF (first normal form):• 1NF (first normal form): của lược đồ quan hệ (qu

• 2NF: ko có giá trị trong t• 2NF: ko có giá trị trong t• 3NF BCNF: thường s

– 4NF 5NF do tính đa trị và p– 4NF, 5NF do tính đa trị và p

Lý thuyết CSDL

g tương đương với định nghĩatương đương với định nghĩa uan hệ và bộ)thực tiễnthực tiễnsử dụng nhiều nhấtphụ thuộc hàm nốiphụ thuộc hàm nối

50

Page 51: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Dạng chuẩn 1

• Đn: gọi là 1NF nếu miền giá trị của một thuĐn: gọi là 1NF nếu miền giá trị của một thuphân chia được) và giá trị của mỗi thuộc tíncủa nó hoặc không chứa nhóm thuộc tính lặ

• Trong 1 NF:• Không có thuộc tính đa trị

• Ví dụPHONGBAN( MaPHG

PHONGBAN(MaPHG, TenPHG)

DDIEM_PH

Lý thuyết CSDL

uộc tính chỉ chứa giá trị nguyên tử (đơn, kouộc tính chỉ chứa giá trị nguyên tử (đơn, ko nh cũng là một giá trị đơn lấy từ miền giá trị ặp.

G, TenPHG, DDIEM)

Thuộc tính đa trị

HG(MaPHG, MADDIEM,TENDD)

51

Page 52: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Dạng chuẩn 1 (tt)

• Vấn đề còn tồn tại trong 1NF• Xét lược đồ

DDIEM_PHG(MaPHG, DDIEVẫ bị lặ l i– Vẫn bị lặp lại

– Ẩn chứa các phụ thuộc hàm– Ẩn chứa các phụ thuộc hàmbộ phận

Lý thuyết CSDL

F

EM)

DIADIEMMAPHG

1 TP HCM 4

5

5

VUNGTAU

NHATRANG

HA NOI

5 TP HCM

52

Page 53: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Dạng chuẩn 2

• Phụ thuộc hàm đầy đủ: Một ph• Phụ thuộc hàm đầy đủ: Một phthuộc hàm đầy đủ nếu loại bỏ X thì phụ thuộc hàm không còp ụ ộ g

A, A X, (X – {A• Phụ thuộc hàm bộ phận: Một pụ uộc à bộ p ậ ộ p

thuộc bộ phận nếu có thể bỏ mphụ thuộc hàm vẫn đúng, điều

∃A X, (X – {A})

Lý thuyết CSDL

hụ thuộc hàm X Y là một phụhụ thuộc hàm X Y là một phụ bất kỳ thuộc tính A nào ra khỏi

òn đúng nữa. gA}) Y : là sai. phụ thuộc hàm X Y là phụ p ụ uộc à à p ụmột thuộc tính A X, ra khỏi X u đó có nghĩa là với Y

53

Page 54: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Dạng chuẩn 2 (tt)

• 2NF:• 2NF: – Thỏa mãn 1NF– Phụ thuộc hàm đầy đủ vào khóPhụ thuộc hàm đầy đủ vào khó

hàm vào một phần của khóa)

• Với các quan hệ có thuộc tính• Chỉ kiểm tra các lược đồ có ch

Lý thuyết CSDL

óa chính ( không tồn tại phụ thuộcóa chính ( không tồn tại phụ thuộc

h khóa đơn thì ko phải xéthứa phụ thuộc hàm bộ phận

54

Page 55: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Dạng chuẩn 2 (tt)

• Ví dụ• Ví dụ

Phụ thuộc vào cả 2 MaNV, MaD

NV_DA(MaNV, MaDA, Sogio, TenDA,

Chỉ phụ thuộc

Lý thuyết CSDL

DA

DDiemDA)

vào MaDA

55

Page 56: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Dạng chuẩn 2 (tt)

• Ví dụ• Ví dụ

Phụ thuộc vào cả 2 MaNV, MaD

NV_DA(MaNV, MaDA, Sogio, Te

Chỉ phụ thuộc

NV_DA(MaNV, MaDA, Sogio)

DUAN(MaDA TenDDUAN(MaDA, TenD

Lý thuyết CSDL

DA

nDA, DDiemDA)

c vào MaDA

DA DDiemDA)DA, DDiemDA)

56

Page 57: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Dạng chuẩn 3

• 3NF dựa trên khái niệm phụ th• 3NF dựa trên khái niệm phụ th

• ĐN: Một lược đồ quan hệ R là• ĐN: Một lược đồ quan hệ R làCodd)– Thỏa mãn 2NFThỏa mãn 2NF – Không có thuộc tính không kho

vào khoá chính( không có phụ ó h th ộ hà ó ồcó phụ thuộc hàm có nguồn

thuộc tính không khóa)

Lý thuyết CSDL

huộc bắc cầuhuộc bắc cầu.

à ở 3NF nếu nó thoả mãn ( theoà ở 3NF nếu nó thoả mãn ( theo

oá nào của R là phụ thuộc bắc cầu thuộc hàm ngoài khóa tức là không là th ộ tí h khô khó đí h làlà thuộc tính không khóa, đích là

57

Page 58: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Dạng chuẩn 3 (tt)

Phụ thuộc vào MaN

NV DV(MaNV, TenNV, NS, DCNV_DV(MaNV, TenNV, NS, DC

• Tất cả các thuộc tính phải p– Một vài thuộc tính phụ thuộcMột vài thuộc tính phụ thuộc– Chuẩn hóa Tách nhóm cá

mới

Lý thuyết CSDL

NV

CHI, MaDV, TenDV, TruongPHG)CHI, MaDV, TenDV, TruongPHG)

Phụ thuộc vào MaDV

hụ thuộc vào thuộc tính khóac vào thuộc tính ko phải là khóac vào thuộc tính ko phải là khóaác thuộc tính đó thành quan hệ

58

Page 59: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Dạng chuẩn 3 (tt)

Phụ thuộc vào MaNV

NV DV(MaNV, TenNV, NS, DCNV_DV(MaNV, TenNV, NS, DC

NHANVIEN(MaNV TenNV NS DCHNHANVIEN(MaNV, TenNV, NS, DCH

Lý thuyết CSDL

V

CHI, MaDV, TenDV, TruongPHG)

Phụ thuộc vào MaDV

CHI, MaDV, TenDV, TruongPHG)

HI MaDV)HI, MaDV)

DONVI(MaDV, TenDV, TruongPHG)

59

Page 60: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Tóm tắt 3 dạng chuẩnNF Nhận biết

1 Quan hệ có thuộc tính đa trị1 Quan hệ có thuộc tính đa trị hoặc quan hệ lặp

2 Phụ thuộc 1 phần vào thuộc tính khóa

3 Phụ thuộc ẩn, tồn tại phụ thuộc hàm giữa các thuộc tính ko phải

Lý thuyết CSDL

g ộ plà khóa

n 1-3Cách chuẩn hóaLoại bỏ các thuộc tính vi phạm dạng chuẩnLoại bỏ các thuộc tính vi phạm dạng chuẩn 1 và đặt chúng vào một bảng riêng cùng với khoá chính của quan hệ ban đầu. Khoá chính của bảng này là một tổ hợp của khoá hí h ủ hệ b đầ à h ộ í hchính của quan hệ ban đầu và thuộc tính đa trị hoặc khoá bộ phận của nhóm lặp. Các thuộc tính còn lại lập thành một quan hệ với khóa chính là khóa chính ban đầuhệ với khóa chính là khóa chính ban đầu. Loại bỏ các thuộc tính không khoá phụ thuộc vào một bộ phận khoá chính và tách thành ra một bảng riêng, khoá chính củathành ra một bảng riêng, khoá chính của bảng là bộ phận khoá mà chúng phụ thuộc vào. Các thuộc tính còn lại lập thành một quan hệ, khóa chính của nó là khóa chính b đầban đầu.

i Loại bỏ các thuộc tính phụ thuộc bắc cầu ra khỏi quan hệ và tách chúng thành một quan hệ iê ó kh á hí h là th ộ tí h bắ

60

hệ riêng có khoá chính là thuộc tính bắc cầu. Các thuộc tính còn lại lập thành một quan hệ có khóa chính là quan hệ ban đầu

Page 61: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Ví dụ kiểm tra dạng c

• Ví dụ 1: Cho lược đồ W=<R={• Ví dụ 1: Cho lược đồ W=<R={ĐiemThi}; F={ MaSVTenSV Kiểm tra W có ở dạng chuẩn 3Kiểm tra W có ở dạng chuẩn 3

• Ví dụ 2: Cho lược đồ quan hệ W=<R= ABC; F={AB CW=<R= ABC; F={AB C

• Hỏi W có ở dạng chuẩn 3NF h

Lý thuyết CSDL

chuẩn (tt)

{MaSV TenSV MaMT{MaSV, TenSV, MaMT, ; MaSV, MaMTĐiemThi}>

3NF không?3NF không?

C; BC A}>C; BC A}>hay không?

61

Page 62: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Ví dụ kiểm tra dạng c

• Ví dụ 3: Cho sơ đồ quan hệ W n• W=<U=CTRHSG;F={C T HR• W=<U=CTRHSG;F={C T,HR

Yêu cầu: Kiểm tra W có ở dạng• Yêu cầu: Kiểm tra W có ở dạngkhông W ở dạng chuẩn nào?

Lý thuyết CSDL

chuẩn

như sau: R C HT R CSG HS R}>R C,HT R,CSG,HS R}>

chuẩn 3NF hay không? Nếu chuẩn 3NF hay không? Nếu

62

Page 63: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Ví dụ kiểm tra dạng c

• Xác định tập K các khoá của W và• Xác định tập K các khoá của W và• Nhận xét: Thuộc tính HS tham gia

trái. Kiểm tra HS có phải là khoá k• HS+=HSRCTG=U.• Ta có khoá K={HS} là khoá duy nh

khô kh ákhông khoá.• Ta có: C T là phụ thuộc hàm n

dạng chuẩn 3NFdạng chuẩn 3NF.• Hoặc:

– R là thuộc tính không khoá: HSg– Như vậy R phụ thuộc bắc cầu

Suy ra W không ở dạng chuẩn

Lý thuyết CSDL

chuẩn (tt)

à tập N các thuộc tính không khoáà tập N các thuộc tính không khoá.a khoá vì chúng chỉ xuất hiện ở vế không.

hất, N={RCTG} là các thuộc tính

ngoài khóa. Suy ra W không ở

S HT R (HT không HS).( g ) vào khoá HS thông qua cầu HT.

n 3NF.

63

Page 64: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Ví dụ kiểm tra dạng c

• Kiểm tra N=RCTG có phụ thuộc• Kiểm tra N=RCTG có phụ thuộc

SCSH:CH

Vậy C phụ thuộc đầy

S:CS

ậy p ụ ộ y» Tương tự RTG

• KL: W ở dạng chuẩn 2NF.

Lý thuyết CSDL

chuẩn (tt)

đầy đủ vào HS hay không?đầy đủ vào HS hay không?

SCSHCH

y đủ vào HS

SCS

y

64

Page 65: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Dạng chuẩn Boyce-C

• Một lược đồ quan hệ R được• Một lược đồ quan hệ R được Codd (BCNF) nếu nó – Thỏa mãn dạng chuẩn 3NF – Không có các thuộc tính khóa

khóa.

• Ví dụ

Lý thuyết CSDL

Codd

gọi là ở dạng chuẩn Boycegọi là ở dạng chuẩn Boyce-

phụ thuộc hàm vào thuộc tính không

65

Page 66: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Dạng chuẩn Boyce-C

• Ví dụ:• Ví dụ: R (A1,A2,A3,A4,A5)Với các phụ thuộc hàm:Với các phụ thuộc hàm: – A1,A2 A3,A4,A5– Giả sử A4 A2Giả sử A4 A2

Lý thuyết CSDL

Codd(tt)

66

Page 67: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Dạng chuẩn Boyce-C

• Nếu một lược đồ quan hệ không tho• Nếu một lược đồ quan hệ không thochuẩn hóa bao gồm: – tách các thuộc tính khóa phụ thuộ

thành một quan hệ bổ sung thêmthành một quan hệ, bổ sung thêmlàm khóa của quan hệ này.

– Các thuộc tính còn lại tạo thành mban đầu và thuộc tính gây ra sự pban đầu và thuộc tính gây ra sự p

• Ví dụ trên: R (A1,A2,A3,A4,A5)Với á h th ộ hàVới các phụ thuộc hàm:

– A1,A2 A3,A4,A5– G/s A4 A2

• lược đồ được tách ra như sau:– R1( A4, A2)– R2(A1 A4 A3 A5)

Lý thuyết CSDL

– R2(A1, A4, A3, A5)

Codd(tt)

oả mãn điều kiện BCNF thủ tụcoả mãn điều kiện BCNF, thủ tục

ộc hàm vào thuộc tính không khóa ra m thuộc tính gây ra sự phụ thuộc vàom thuộc tính gây ra sự phụ thuộc vào

một LĐQH, khóa là một phần của khóa phụ thuộcphụ thuộc.

67

Page 68: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Ví dụ về chuẩn hóa q

Ví dụ: Cho lược đồ quan hệ ở dạVí dụ: Cho lược đồ quan hệ ở dạ{A,B,C,D,E,F,G,H,I,J} có khóaVới tập các phụ thuộc hàm :Với tập các phụ thuộc hàm :

• A,B → C,D,E,F,G,H,I,J • A→ E F G H I J• A→ E,F,G,H,I,J • F → I, J • D →B• D →B • Kiểm tra dạng chuẩn của R, n

thì tách R đưa về 3NF hoặc Bthì tách R đưa về 3NF hoặc B

Lý thuyết CSDL

quan hệ

ạng chuẩn 1 R =ạng chuẩn 1, R = a chính là A,B

ếu chưa thuộc 3NF hoặc CBNF CNF?CNF?

68

Page 69: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Ví dụ về chuẩn hóa q

Do có phụ thuộc hàm A E F• Do có phụ thuộc hàm A→ E,Fcủa khóa chính nên quan hệ RTa tách R thành R1(A E F G H• Ta tách R thành R1(A,E,F,G,HTrong R1, do có phụ thuộc hàthuộc bắc cầu vào khóa chínhthuộc bắc cầu vào khóa chínhTrong R2 ta có phụ thuộc hàmtính khóa R2 vi phạm BCNFtính khóa, R2 vi phạm BCNF. Tách R1 và R2 ta có: R11( F I J) R12( A E F G H)• R11( F,I,J) , R12( A,E,F,G,H),

Lý thuyết CSDL

quan hệ (tt)

F G H I J mà A là một bộ phậnF,G,H,I,J mà A là một bộ phận R là vi phạm 2NF.H I J) và R2(A B C D)H,I,J) và R2(A,B,C,D). m F→ I, J, nên ta có I,J phụ

h R1 là quan hệ vi phạm 3NFh, R1 là quan hệ vi phạm 3NF. m D → B trong đó B là một thuộc

R21(D B) R22( A D C)R21(D,B), R22( A,D,C)

69

Page 70: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Tách kết nối không m

• Định nghĩa: Cho lược đồ quaRk là các tập con của R và chlà: R= R1υ R2 υ … υRk ,F là phTa nói phép tách R thành các không mất thông tin đối với F mà F thỏa mãn thì:

RrRrr ....||. 21

Lý thuyết CSDL

mất thông tin

an hệ R={A1,A2,…,An}, R1, R2,.., úng là một phép tách của R tức hụ thuộc hàm trên R.lược đồ con ρ= (R1, R2,.., Rk )nếu với mọi quan hệ r trên R

kRr .||

70

Page 71: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Tách kết nối không m

• Ví dụ: Cho lược đồ• Ví dụ: Cho lược đồ =<U={MaSV, TenSV, MaMTF={MaSVTenSV; MaMTTF={MaSVTenSV; MaMTTMaMTĐiemThi}>

• Tách lược đồ thành các lượác ược đồ à các ượ• 1=<U1={MaSV, TenSV}; F1={• 2=<U2={MaMT, TenMon}; F2=2 U2 { a , e o }; 2

• 3=<U3={MaSV, MaMT, DiemTMaMTĐiemThi}>

Lý thuyết CSDL

mất thông tin(tt)

, TenMon, ĐiemThi}; TenMon; MaSVTenMon; MaSV,

ợc đồ sau:ợc đồ sau{MaSVTenSV}> ={MaMTTenMon}> { a e o }Thi}; F3={MaSV,

71

Page 72: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Tách kết nối không m

• Lấy quan hệ R là quan hệ KET• Lấy quan hệ R là quan hệ KETTenMon, ĐiemThi) khi đó ta có

• R1= KETQUA[MaSV TenSV]R1= KETQUA[MaSV, TenSV] • R2= KETQUA[MaMT, TenMon• R = KETQUA[MaSV MaMT D• R3= KETQUA[MaSV, MaMT, D• Khi cần ta có thể khôi phục lại

KETQUA=SINHVIEN KQUKETQUA=SINHVIEN KQU

Lý thuyết CSDL

mất thông tin(tt)

TQUA(MaSV TenSV MaMTTQUA(MaSV, TenSV, MaMT, ó:=SINHVIEN1=SINHVIEN1

n] =MONTHI2

DiemThi] =KQUADiemThi] =KQUA3

i thông tin:UA MONTHIUA MONTHI

72

Page 73: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Tách kết nối không m

Ví dụ mô tả phép tách tổn thất thông tiVí dụ mô tả phép tách tổn thất thông ti• Cho R = { X, Y , Z} tập các thuộc tín• Giả sử quan hệ gốc: R và các quanq ệ g q

R R1

X Y Z XX Y Z Xx1 y1 z1 x1

x y z xx2 y2 z2 x2

x3 y2 z3 x3

x4 y3 z4 x4

Ta thấy R R1 |><| R2

Lý thuyết CSDL

mất thông tin(tt)

n và không tổn thất thông tin:n và không tổn thất thông tin: nh và n hệ tách: R1 và R2ệ

R2

Y Y ZY Y Zy1 y1 z1

y y zy2 y2 z2

y2 y2 z3

Zy3 y3 Z4

73

Page 74: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Tách kết nối không m

R R11

X Y Z X Yx1 y1 z1 x1 y1

x2 y2 z2 x2 y2

x3 y2 z3 x3 y2

• Ta thấy R = R1 R2

ế

x4 y3 z4 x4 y3

• Nếu một phép tách không có tính cthì chúng ta có thể nhận được các bdụng các phép chiếu và nối tự nhiêdụng các phép chiếu và nối tự nhiêmất mát thông tin chưa không phảchất này ta nên gọi chính xác hơn l

Lý thuyết CSDL

mất thông tin(tt)

R22

X Zx1 z1

2 x2 z2

2 x3 z3

ấ ố ấ

3 x4 z4

chất nối không mất mát thông tin bộ phụ thêm (các bộ giả) sau khi áp ên Nghĩa của từ mất mát ở đây làên. Nghĩa của từ mất mát ở đây là i mất các bộ giá trị. Vì vậy, với tính là tính chất nối không phụ thêm.

74

Page 75: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Kiểm tra tính tách kếtmất thông tinmất thông tin…

Đị h lý Nế R {R1 R2} là• Định lý: Nếu R={R1, R2} là mthì R là phép tách không mất th

R1 R2 > R1 R2 h ặR1 R2 -> R1-R2 hoặR1 R2 -> R2-R1

• Ví dụ: R(MaSV, MaMT, Die• R1 (MaSV, TenSV)1 ( , )• R2 (MaSV, MaMT, D• R1 R2 ={MaSV}• R1 R2 ={MaSV}• R1-R2={Hoten}

T ó R1 R2 R1 R2Ta có R1 R2 -> R1-R2 nthông tinLý thuyết CSDL

t nối không

ột hé tá h ủ R F là tậ PTHmột phép tách của R, F là tập PTH hông tin đối với F khi và chỉ khi:ặặc

emThi)

iemThi)

ê hé tá h khô ấtnên phép tách không mất 75

Page 76: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Kiểm tra tính tách kết nốthông tinthông tinThuật toán Chase

I t S đồ hệ R {A A• Input Sơ đồ quan hệ: R={A1,Atập các PTH; phép tách ρ= (R

• Output: Khẳng định phép tách• Output: Khẳng định phép táchThuật toán:

Xây dựng bảng- Xây dựng bảng• Xây dựng một bảng gồm n cột

với thuộc tính A hàng i tươnvới thuộc tính Aj , hàng i tươn• Ở vị trí hàng i cột j, ta ký hiệu

ta ký hiệu là bijta ký hiệu là bij• Ta có bảng T như sau:

Lý thuyết CSDL

ối không mất

A A } là l đồ hệ F làA2,…,An} là lược đồ quan hệ. F là 1, R2,.., Rk )

h kết nối không mất hay không?h kết nối không mất hay không?

t và m hàng, cột j tương ứng g ứng với Rg ứng với Ri.là aj nếu Aj thuộc Ri , Ngược lại

76

Page 77: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Kiểm tra tính tách kết nốthông tin…thông tin…Bước lặp: Áp dụng các PTH trong

• Xét nhiều lần mỗi phụ thuộc hàkhông xét được nữa. Với mỗi Fg ợtrị giống nhau trên tập X thì ta với lưu ý là nếu một trong 2 kývới lưu ý là nếu một trong 2 kýlàm bằng chúng bằng một trong

Th ậ á dừ khi bả• Thuật toán dừng khi trong bảnghoặc cho đến khi không xét dư

- Kết luận: Nếu có một dòng toànmất thông tin. Ngược lại phép t

Lý thuyết CSDL

g g p p

ối không mất

g F cho bảng vừa xây dựng:

àm X Y thuộc F cho đến khi FTH XY mà trong bảng có giá g g gcho chúng bằng nhau trên tập Y

ý hiệu là aj thì chọn aj ngược lạiý hiệu là aj thì chọn aj, ngược lại g các kí hiệu bij.

ó ộ dò à là kýg có một dòng toàn là ký tự a ược nữa.

n a thì phép tách kết nối đó không tách có mất thông tin.

77

g

Page 78: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Kiểm tra tính tách kết nốthông tin…thông tin…Ví dụ: Cho R= {A , B, C, D, E, F}; R1 :• R2 := {A C D F }R2 : {A , C, D, F } • R3 := {B, C, E, F } và F := {A → B,

Lý thuyết CSDL

ối không mất

= {A , B, D, E}

F → E}.

78

Page 79: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Kiểm tra tính tách kết nốthông tin…thông tin…

• Suy ra phép tách không làm m

Lý thuyết CSDL

ối không mất

mất thông tin

79

Page 80: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Kiểm tra tính tách kết nốthông tin…thông tin…

• Ví dụ: F={A→B C →D D →EG}• Ví dụ: F={A→B,C →D,D →EG}• R1={A,B,C,D}, R2={D,E,G}

A B C D ER a a a a bR1 a1 a2 a3 a4 b1

R2 b21 b22 b23 a4 a5

• Ta thấy trong bảng trên 2 bộ bằngPTH D →EG ta có b15=a5 và b16=ahứ t à i ê hé tá h khôchứa toàn ai, nên phép tách không

Lý thuyết CSDL

ối không mất

Gb15 b16

5 a6

g nhau ở thuộc tính D. Sử dụng a6. Như vậy dòng đầu của bảng

ất thô tig mất thông tin.

80

Page 81: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Kiểm tra tính tách kết nốthông tin…thông tin…

Ví dụ:Ví dụ:• Cho lược đồ quan hệ R=ABCD• Tách R thành các lược đồ sauTách R thành các lược đồ sau• R1 = AD, R2=AB, R3= BE, R4• Tập phụ thuộc hàm F=(AC,Bp p (• Xác định phép tách trên có mấ

Lý thuyết CSDL

ối không mất

DE::= CDE, R5= AE

BC,CD,DEC,CEA))ất thông tin hay không?

81

Page 82: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Kiểm tra tính tách kết nốthông tin…thông tin…

F=(AC,BC,CD,DE

Lý thuyết CSDL

ối không mất

C,CEA

82

Page 83: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Tách quan hệ thành các quan chất nối không mất thông tin.chất nối không mất thông tin.

Input: Lược đồ quan hệ R và tập cáInput: Lược đồ quan hệ R và tập cátính của R.

1 Đặt D := {R} ;1. Đặt D : {R} ; 2. Khi có một lược đồ quan hệ Q tro

hiện vòng lặp: ệ g ặp• Với mỗi một lược đồ quan hệ Q trong D

hàm X→ Y trong Q vi phạm BCNF và thhệ (Q Y) và (XUY) Quá trình lặp dừnghệ (Q-Y) và (XUY). Quá trình lặp dừng phạm BCNF.

• Mỗi lần đi vào vòng lặp trong thuật toánkhông phải BCNF thành hai lược đồ ququan hệ trong D sẽ ở BCNF.

Lý thuyết CSDL

hệ BCNF với tính

ác phụ thuộc hàm F trên các thuộcác phụ thuộc hàm F trên các thuộc

ong D không phải ở BCNF, thực

D không ở BCNF hãy tìm một phụ thuộc hay thế Q trong D bằng hai lược đồ quan khi không còn quan hệ nào trong D vikhi không còn quan hệ nào trong D vi

n trên, chúng ta tách một quan hệ Q uan hệ. Kết thúc thuật toán, tất cả các

83

Page 84: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Tách quan hệ thành các quan chất nối không mất thông tin. g g

• Trong bước 2 của thuật toán trênquan hệ Q có ở BCNF hay khôngđó là kiểm tra Với mỗi phụ thuộcđó là kiểm tra. Với mỗi phụ thuộcNếu X+ không chứa tất cả các thphạm BCNF bởi vì X không phảip ạ g p

Lý thuyết CSDL

hệ BCNF với tính

ầ ồn, cần xác định xem một lược đồ g. Một phương pháp để làm điều c hàm X → Y trong Q ta tính X+c hàm X → Y trong Q, ta tính X .

huộc tính trong Q thì X → Y vi là một siêu khóa. ộ

84

Page 85: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Ví dụ

• Xét lược đồ quan hệ R = { A, B, C, D, EVới á h th ộ hà A BCDEF BCVới các phụ thuộc hàm: A → BCDEF, BC

Lược đồ quan hệ này có hai khóa là A vT ó B F i h BCNF ì B+≠• Ta có B → F vi phạm BCNF vì B+ ≠R được tách thành: R1(B,F) với phụ các phụ thuộc hàm A→BCDE BC→các phụ thuộc hàm A→BCDE, BC→

• Xét R2 : Do D→ E vi phạm BCNF (được tách thành: R21(D,E) với phụ tđược tác t à : 21( , ) vớ p ụ tphụ thuộc hàm A → BCD, BC→ AD

• Xét R22 : Do D → B vi phạm BCNF22 được tách thành: R221(D,B) , R222(A(phụ thuộc hàm BC → AD bị mất)

Lý thuyết CSDL• Tóm lại, ta có phép tách D = {R1, R

E, F) C ADEF B F D E D BC → ADEF, B→ F, D→ E, D→ B

và BC.≠ R ê B khô hải là iê khó≠ R nên B không phải là siêu khóa, thuộc hàm B→ F, R2(A,B,C,D,E) với →ADE D→E D→B→ADE, D→E, D→B ( D là một thuộc tính không khóa ), R2thuộc hàm D → E, R22(ABCD) với các t uộc à , 22( C ) vớ cácD, D→ B

F (Dkhông phải là thuộc tính khóa), R2222A,C,D) với phụ thuộc hàm A → CD

85R21, R221, R222}.

Page 86: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

THẢO LUẬN

Nội dung 1: Trả lời câu hỏiNội dung 1: Trả lời câu hỏi• Trình khái niệm về phụ thuộc• Các khái niệm về phụ thuộc h• Các khái niệm về phụ thuộc h• Phân biệt các dạng chuẩn?• Các cách kiểm tra tách kết nố• Các cách kiểm tra tách kết nố• Trình bày các phương pháp c

Lý thuyết CSDL

c hàm, Hệ suy diễn Amstrong?hàm bao đóng và khóa?hàm, bao đóng và khóa?

ối có làm mất thông tin?ối có làm mất thông tin?chuẩn hóa dữ liệu?

86

Page 87: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

THẢO LUẬN

Nội dung 2: Thảo luận theo nhNội dung 2: Thảo luận theo nh

Th hiệ h ẩ hó dữ liệThực hiện chuẩn hóa dữ liệtrong chương 2 theo lý thuy

Lý thuyết CSDL

hómhóm

ệ ới đề ài hó đã hệu với đề tài nhóm đã chọn yết các dạng chuẩn 1, 2, 3.

87

Page 88: CƠ SỞ DDỮ LILIỆU - Khoa CNTT-HVKTQSfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL(2017918158).pdf · khi thao tác cập nhật dữ liệu 3. Tránh3. Tránh đặt

Lý thuyết CSDL 88