cƠ sỞdỮliỆu - fit.mta.edu.vnfit.mta.edu.vn/files/danhsach/chuong3_lythuyetthietkecsdl.pdflý...

90
Lý thuyết CSDL 1 GI GI Á Á O VIÊN: O VIÊN: Đ Đ TH TH MAI HƯ MAI HƯ NG NG B B MÔN: MÔN: C C Á Á C H C H TH TH NG THÔNG TIN NG THÔNG TIN KHOA: KHOA: CÔNG NGH CÔNG NGH THÔNG TIN THÔNG TIN SDLIU

Upload: others

Post on 08-Feb-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 1

GIGIÁÁO VIÊN:O VIÊN: Đ ĐỖỖ THTHỊỊ MAI HƯ MAI HƯỜỜNGNGBBỘỘ MÔN:MÔN: CCÁÁC HC HỆỆ THTHỐỐNG THÔNG TINNG THÔNG TIN

KHOA:KHOA: CÔNG NGHCÔNG NGHỆỆ THÔNG TINTHÔNG TIN

CƠ SỞ DỮ LIỆU

Page 2: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 2

CHƯƠNG 4

LýLý thuythuyếếtt thithiếếtt kkếếcơcơ ssởở ddữữ liliệệuu quanquan hhệệ

Page 3: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 3

Nội dung chi tiết

• Giới hạn của ER• Sự dư thừa• Phụ thuộc hàm• Hệ suy diễn Amstrong• Thuật toán tìm bao đóng• Thuật toán tìm khóa• Các dạng chuẩn• Kiểm tra kết nối không mất thông tin

Page 4: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 4

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ệ

Page 5: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 5

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 trung bình xếp loại

TENPHG MAPHG TRPHG NG_NHANCHUC

Nghien cuu 5 333445555 05/22/1988

Dieu hanh 4 987987987 01/01/1995

Quan ly 1 888665555 06/19/1981

TENNV HONV

Tung Nguyen

Hung Nguyen

333445555

987987987

888665555

MANV

Vinh Pham

Page 6: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 6

Sự dư thừa (tt)

• Thuộc tính đa trị trong lược đồ ER nhiều bộ số liệu tronglược đồ quan hệ

• Ví dụ: NHANVIEN(TENNV, HONV, NS,DCHI,GT,LUONG, BANGCAP)

TENNV HONV NS DCHI GT LUONG BANGCAP

Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000

Nhu Le 06/20/1951 291 HVH QPN Nu 43000 Đại học

Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 Thạc sỹ

Nhu Le 06/20/1951 291 HVH QPN Nu 43000 Trung học

Trung học

Page 7: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 7

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 của đơn vị mất thông tin về đơn

vị– Thao tác chèn

TENPHG MAPHG TRPHG NG_NHANCHUC

Nghien cuu 5 333445555 05/22/1988

Dieu hanh 4 987987987 01/01/1995

Quan ly 1 888665555 06/19/1981

TENNV HONV

Tung Nguyen

Hung Nguyen

333445555

987987987

888665555

MANV

Vinh Pham

Page 8: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 8

Sự dư thừa (tt)

• Các giá trị không xác định– Đặ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

Page 9: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 9

Sự dư thừa (tt)

• Một số quy tắc– 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 sự trùng lặp về nội dung đảm bảo 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• Khó thực hiện các phép nối và kết hợp

– NT4: Thiết kế các lược đồ quan hệ sao cho chúng có thể đượcnối với điều kiện bằng trên các thuộc tính là khoá chính hoặckhoá ngoài theo cách đảm bảo không sinh ra các bộ “giả”

• Gây lỗi khi thực hiện các phép kết nối

Page 10: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 10

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 được

sửa chữa ở các bước tiếp 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 thích hợp lý thuyết chuẩn hóa (dựa trên phụ thuộc hàm, …) sẽ là nền tảng

cơ sở để thực hiện việc phân tích và chuẩn hóa lược đồ ER

Page 11: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 11

Phụ thuộc hàm

Phụ thuộc hàm trong 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.• Ta nói X xác định phụ 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úngcũ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

• Phụ thuộc hàm trên r là trường hợp riêng của phụ thuộc hàmtrên R.

• Phụ thuộc hàm trên r là một khái niệm hẹp nó chỉ đúng chomột quan hệ, trong một số trường hợp chỉ cần thay đổi mộtvài giá trị của các thuộc tính trong quan hệ phụ thuộc hàmkhông còn đúng.

Page 12: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 12

Phụ thuộc hàm

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

Ví dụ: trong lược đồ quan hệ trên nếu chúng ta giả thiếtrằng trong lớp các tên nhập vào là không giống nhau thìlúc đó thuộc tính HoTen kéo theo tất cả thuộc tính khácnhưng nếu có sự thay đổi thì thuộc tính đó có thể khôngcòn đúng.

HoTen NgaySinh Lop

Lan 1/1/1980 Th3A

Hue 20/2/1981 TH4B

Nam 13/6/1981 TH4CLC

Nam 15/1/1982 TH4B

Page 13: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 13

Phụ thuộc hàm

Phụ thuộc hàm trên lược đồ quan 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 ký hiệu X → Y trên lược đồ quanhệ R. Nếu với mọi r trên R xác định X → Y .

Page 14: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 14

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 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.• 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 – W• A6. Tính cộng đầy đủ: X → Y và Z → W thì XZ → YW• A7. Tính tích lũy: X → Y và Y → ZW thì X → YZW

Page 15: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 15

Các tính chất của phụ thuộc hàm

Giả sử t,t’ r1. 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ập con của X, nói cách kháct.X=t’.X t.X=t’.X & t.Y=t’.Y với Y X X → Y

2. Tính mở rộng 2 vế: giả sử t.XZ=t’.XZ ta phải chứng minht.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ếtt.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 . Suy ra XZ → YZ

3. Tính bắc cầu:t.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

Page 16: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 16

Hệ tiên đề ArmstrongHệ 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ớp các phụ thuộchà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 tính chất A4.X → Y theo tính mở rộng hai vế

XZ → YZ

Và YZ → W

Theo tính bắc cầu

XZ → W

Page 17: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 17

Hệ tiên đề Armstrong

• Ngoài ra có tính chất hay dùng:Tính chất chiếu: X → YZ thì X → Y và X → ZChứng minh:1. X→ YZ (cho trước) 2. YZ → Y (sử dụng A1 và YZ כ Y) 3. X→ Y (sử dụng A3 trên 1. và 2.)

Page 18: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 18

Hệ tiên đề Armstrong

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

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ạn bước áp dụng cácluật của tiên đề Armstrong. Ký hiệu F |= f.

• Phép suy dẫn theo quan hệ

PTH 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 đồ R mà F thỏa mãn thì f cũng thỏa mãn.

Page 19: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 19

Hệ tiên đề ArmstrongBổ đề 2.1: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ậnTa 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 X+ ta có A X+.

F |= X → B, nên theo định nghĩa X+ ta có B X+.

F |= X → C, nên theo định nghĩa X+ ta có C X+.

..., vậy {A, B, C, ...} = Y X+.b. Chứng minh điều ngược lạiY 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.

Page 20: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 20

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 khi và chỉ khi F |= f.

Chứng minh:• Giả sử có F |=XY cần chứng minh F |-XY

• Theo bổ đề ta có YX+. Để chứng minh F |-XY, ta lấy mộtquan hệ R tuỳ ý thoả mãn tất cả các fds của F và ta phảichứng minh R 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)

Page 21: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 21

Hệ tiên đề Armstrong

Giả sử có F |-XY chứng minh F |=XY, hay chỉ cần chứngminh Y X+

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

Page 22: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 22

Hệ tiên đề Armstrong

• Ta thấy R thoả mãn tất cả các phụ thuộc hàm của F. Vì lấymột fd 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] thì 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à 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ả các phụ thuộc hàm của F.• Do giả thiết F |-XY , mà R thoả tất cả các fds của F, R cũng thoả fd

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 là tương đương nhau.

Page 23: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 23

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

4. Bao đóng F+ của tập PTH FTập PTH f được suy dẫn từ F được gọi là bao đóng của tậpPTH F, ký hiệu F+.Ví dụ:R={A, B, C, D}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+

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+

Page 24: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 24

Bao đóng X+

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

Cho lược đồ quan hệ R = {A1, ..., An}. Giả sử F là tập PTH trên R. X là tập con của tập thuộc tính R.Bao đóng X đối với F, ký hiệu X+ (X+

F để chỉ bao đóng lấytheo tập F) là tập thuộc tính A của R mà X → A được suydẫn từ tập F.X+ = {A: A R và X → A F+} hoặc X+ = {XA: 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}

Page 25: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 25

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

1.Tính phản xạ: X X+

2. Tính đơn điệu: X Y X+ Y+.3. Tính lũy đẳng: 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+ → X9. X+ = Y+ X → Y và Y → X.

Page 26: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 26

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

• Bài toán thành viênVấn đề được đưa ra ở đây là: Cho trước một tập PTH F cóhay không một khẳng định f F+. Để giải quyết bài toánnà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ánX → Y có thuộc F+.

Page 27: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 27

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

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

Thuật toán tìm bao đóng X+ của Beeri và BernsteinCho R = {A1, ..., An}. F là tập PTH trên R. X là tập thuộctính.Ta xây dựng tập X0, .., Xk như sau:X0=XX(i+1) = XiZi với Zi={A: A Xi và Xi → A F+} i=0, 1, 2, ...Tập X0, X1, ... là tập tăng dần và tập R là hữu hạn nênsau hữu hạn bước thuật toán phải kết thúc. Tồn tại Xk = Xk+1 = ... Chính Xk là tập X+.

Page 28: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 28

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

Thuật toánInput: Lược đồ quan hệ R

Tập PTH F, Tập thuộc tính XOutput: Tập X+

BeginY:=XRepeat

Z:=For each A in R do

If (A Y and Y → A F+) then Z= Z A;Y : = Y Z;

Until Z = ;X+ = Y

End;

Page 29: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 29

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

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

X+ = X3

Page 30: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 30

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

Chứng minh tính đúng đắn của thuật toán

Chứng minh: X+ Xk và Xk X+.

a. X+ Xk

Thật vậy lấy A X+. Như trên ta thấy X+=XZ với Z = {A: 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 các tập Zi, tồn tại một chỉsố i để A Zi vậy A Xk X+ Xk.

b. Xk X+

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

Page 31: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 31

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={BCDE, BE C, BIA, CE I}a. Chứng minh F|- BCIb. Chứng minh F|= BCIc. Tìm bao đóng của BC, BE,BI,CEd. 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 +

Page 32: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 32

Bài tập

3. Cho F = {AB →C, B → D, CD → E, CE → GH, G → A }. a. Chứng minh rằng AB → E F +

b. Chứng minh rằng AB → G F + ?

4. Cho F = {XY →W, Y → Z, WZ → P, WP → QR, Q → X }. Chứng minh rằng XY → P F +

Page 33: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 33

Bài tập

5. Cho bảng quan hệ r như sau:A B C Dx u x yy x z xz y y yy z w zTrong các phụ thuộc hàm sau PTH nào không thỏa mãn rA →B,A →C,B →A,C →D,D →C,D →A

Page 34: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 34

Khóa của sơ đồ quan hệ

Trong lược đồ quan hệ một số thuộc tính đóng vai tròquan trọng, và từ các thuộc tính này có thể xác định cácthuộc tính khác.Khái niệm sơ đồ quan hệ:Cho lược đồ quan hệ: R ={A1, A2, ..., An}, F là tập cácphụ thuộc hàm trên R. Sơ đồ quan hệ là cặp R, F nhưtrên, ký hiệu SĐQH là W=<R,F>Sơ đồ quan hệ là một lược đồ quan hệ và tập phụ thuộchàm trên nó

Page 35: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 35

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

k R được gọi là khóa tối thiểu của sơ đồ quan hệ trên W nếu k là tập tốithiểu kéo theo R, tức là k là khóa tối thiểu nếu: k+ = R (k→R) và nếubớt khỏi k dù một phần tử thì bao đóng của tập còn lại khác R.

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

1. k+ = R

2. (k-A)+ ≠ R, với mọi A k.

Những thuộc tính thuộc khóa gọi là thuộc tính khóa, những thuộc tínhkhông thuộc khóa gọi là thuộc tính không khóa (thuộc tính thứ cấp).

Siêu khóa:

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

Page 36: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 36

Khóa của sơ đồ quan hệ

• Định lý 2.4

a. Nếu k là khóa của sơ đồ quan hệ W = <R, F>, r là quan hệ trên R thì mọi cặp phần tử khác nhau t1, t2 của r ta luôn có t1.k ≠ t2.k.

b. Ngược lại nếu k là tập tối thiểu và với mọi quan hệ r trên R màmọi cặp t1, t2 của r mà t1.k ≠ t2.k thì k là khóa của sơ đồ quan hệ W = <R, F>

Page 37: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 37

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

Do bao đóng của k là R nên ban đầu ta coi k = R.Ta loại trừ dần các phần tử và kiểm tra xem k+ = R.Input: W = <R, F>Ouput: 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 k phần tử A mà (k-A)+ = R

Page 38: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 38

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

Mô tả thuật toán bằng ngôn ngữ tựa PascalBegin

k = RFor each A in k do

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

End.Thuật toán sẽ tìm được một khóa k cho RNếu muốn tìm được khóa khác ta có thể thay đổi thứ tự loạitrừ các phần tử A ra khỏi k.

Page 39: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 39

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

1. Các thuộc tính không xuất hiện trong cả hai vế trái hoặc phải củatậ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 trái của các PTH trong F cũngphải thuộc mọi khóa k.3. Những thuộc tính xuất hiện, và chỉ xuất hiện bên vế phải của tậpPTH sẽ không thuộc bất kỳ khóa nào.4. Thuật toán khẳng định mọi SĐQH W đều có khóa, tuy nhiênthuật toán không khẳng định có bao nhiêu khóa và số lượng cácphần tử trong khóa có như nhau hay không.5. Họ tất cả các khóa của một SĐQH W là hệ Sperner (tức là khôngcó hai khóa bao nhau).

Page 40: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 40

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

• Ý tưởng

Cho W=<R,F>,

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

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

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

Page 41: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 41

Thuật toán tìm mọi khóa…

• Thuật toán

Cho W=<R,F>, R={A, B, C}, F={A → B, A → C, B→A, B →C, AC→B }

Bao đóng Tập con có baođóng bằng R

Khóa

A ABC A A

B ABC B B

C C

AB ABC AB

AC ABC AC

BC ABC BC

ABC ABC ABC

Page 42: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 42

Thuật toán tìm mọi khóa…

• Một số cải tiến

- Theo tính chất của khóa chúng ta sẽ có một số thuộctính luôn thuộc khóa. Trong thuật toán tìm khóa sẽ khôngxét nó và thêm vào khóa

- Một số thuộc tính không thuộc khóa nào cả. Ta loại bỏnó trong quá trình tìm kiếm khóa

Page 43: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 43

Thuật toán tìm mọi khóa…

• Thuật toán

Cho W=<R,F>, R={A, B, C, D, E, H}

F={A → B, A → C, B→A, B →C, AC→B, E → C, C→H, B→H }

- Chắc chắn D, E tham gia mọi khóa

- H sẽ không tham gia vào khóa nào cả

• Thuật toán tìm khóa: sẽ không cố gắng loại trừ D, E rakhỏi tập. Tập khởi tạo ban đầu có thể là K=R\{K}.

• Thuật toán tìm mọi khóa: Thêm một cột mới luôn chứa D, E. Trong các tập con của thuộc tính còn lại không xem xétđến H.

Page 44: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 44

Thuật toán tìm mọi khóa…• Thuật toán

Bao đóng Siêu khóa Khóa

DE DEHC

DE A DEHABC DEA DEA

DE B DEHABC DEB DEB

DE C DEHC

DE AB DEHABC DEAB

DE AC DEHABC DEAC

DE BC DEHABC DEBC

DE ABC DEHABC DEABC

Page 45: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 45

Bài tập

• Các bài tập trong chương 2

Page 46: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 46

Các dạng chuẩn

• Mỗi một dạng chuẩn là một tập các điều kiện trên lược đồnhằm đảm bảo các tính chất của nó (liên quan tới dư thừa vàbất thường trong cập nhật)

• Chuẩn hóa dữ liệu: quá trình phân tích lược đồ quan hệ dựatrên các FD và các khóa chính để đạt được– Cực tiểu sự dư thừa– Cực tiểu các phép cập nhật bất thường

Page 47: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 47

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ân tích các lược đồ quan hệ

dựa trên các khoá của nó và các phụ thuộc hàm giữa cácthuộc tính của nó.

– Một loạt các kiểm tra dạng chuẩn có thể thực hiện trên cáclược đồ quan hệ riêng rẽ sao cho cơ sở dữ liệu quan hệcó thể được chuẩn hoá đến một mức cần thiết.

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

• nó đảm bảo rằng từng phụ thuộc hàm sẽ được biểuhiện trong các quan hệ riêng rẽ nhận được sau khitách.

Page 48: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 48

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

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

• 1NF (first normal form): tương đương với định nghĩacủa lược đồ quan hệ (quan hệ và bộ)

• 2NF: ko có giá trị trong thực tiễn• 3NF BCNF: thường sử dụng nhiều nhất

– 4NF, 5NF do tính đa trị và phụ thuộc hàm nối

Page 49: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 49

Dạng chuẩn 1

• Đn: gọi là 1NF nếu miền giá trị của một thuộc tính chỉ chứa giá trị nguyên tử (đơn, kophân chia được) và giá trị của mỗi thuộc tính cũng là một giá trị đơn lấy từ miền giá trịcủa nó.

• Trong 1 NF:• Không có nhóm thuộc tính lặp lại

• Không có thuộc tính đa trị

• Ví dụPHONGBAN( MaPHG, TenPHG, DDIEM)

PHONGBAN(MaPHG, TenPHG)

DDIEM_PHG(MaPHG, DDIEM)

Thuộctính đa trị

Page 50: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 50

Dạng chuẩn 1 (tt)

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

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

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

DIADIEMMAPHG

1

4

5

5

TP HCM

VUNGTAU

NHATRANG

HA NOI

5 TP HCM

Page 51: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 51

Dạng chuẩn 2

• Phụ thuộc hàm đầy đủ: Một phụ thuộc hàm X Y là một phụthuộc hàm đầy đủ nếu loại bỏ bất kỳ thuộc tính A nào ra khỏiX thì phụ thuộc hàm không còn đúng nữa.

A, A X, (X – {A}) Y : là sai. • Phụ thuộc hàm bộ phận: Một phụ thuộc hàm X Y là phụ

thuộc bộ phận nếu có thể bỏ một thuộc tính A X, ra khỏi X phụ thuộc hàm vẫn đúng, điều đó có nghĩa là với

A X, (X – {A}) Y

Page 52: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 52

Dạng chuẩn 2 (tt)

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

• Với các quan hệ có thuộc tính khóa đơn thì ko phải xét• Chỉ kiểm tra các lược đồ có chứa phụ thuộc hàm bộ phận

Page 53: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 53

Dạng chuẩn 2 (tt)

• Ví dụ

NV_DA(MaNV, MaDA, Sogio, TenDA, DDiemDA)

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

Chỉ phụ thuộc vào MaDA

Page 54: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 54

Dạng chuẩn 2 (tt)

• Ví dụ

NV_DA(MaNV, MaDA, Sogio, TenDA, DDiemDA)

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

Chỉ phụ thuộc vào MaDA

NV_DA(MaNV, MaDA, Sogio)

DUAN(MaDA, TenDA, DDiemDA)

Page 55: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 55

Dạng chuẩn 3

• 3NF dựa trên khái niệm phụ thuộc bắc cầu.

• ĐN: Một lược đồ quan hệ R là ở 3NF nếu nó thoả mãn ( theoCodd)– Thỏa mãn 2NF – Không có thuộc tính không khoá nào của R là phụ thuộc bắc cầu

vào khoá chính.

Page 56: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 56

Dạng chuẩn 3 (tt)

NV_DV(MaNV, TenNV, NS, DCHI, MaDV, TenDV, TruongPHG)

Phụ thuộc vào MaNV

Phụ thuộc vào MaDV

• Tất cả các thuộc tính phải phụ thuộc vào thuộc tính khóa– Một vài thuộc tính phụ thuộc vào thuộc tính ko phải là khóa– Chuẩn hóa Tách nhóm các thuộc tính đó thành quan hệ

mới

Page 57: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 57

Dạng chuẩn 3 (tt)

DONVI(MaDV, TenDV, TruongPHG)

Phụ thuộc vào MaNV

Phụ thuộc vào MaDV

NHANVIEN(MaNV, TenNV, NS, DCHI, MaDV)

NV_DV(MaNV, TenNV, NS, DCHI, MaDV, TenDV, TruongPHG)

Page 58: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 58

Tóm tắt 3 dạng chuẩn 1-3NF Nhận biết Cách chuẩn hóa

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

Loạ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áchí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 đầu.

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

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ủ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 ban đầu.

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

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ệ 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 59: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 59

Các bước chuẩn hoá

1. Đưa về dạng chuẩn 1: Tách các thuộc tính lặp• Nhóm các thuộc tính đơn còn lại tạo thành một quan hệ.

Chọn khoá cho nó.• Nhóm các thuộc tính lặp tách ra, tăng thêm khoá của quan

hệ trên tạo thành một quan hệ (hay một số quan hệ theochủ đề). Chọn khoá cho các quan hệ này, thường là khoábội, trong đó khoá của quan hệ trên là một thành phần.

• => Các quan hệ lập được đều là 1NF

59

Page 60: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 60

• Đưa về dạng chuẩn 2: Tách các nhóm thuộc tính phụthuộc hàm một phần của khoá.

• Nhóm còn lại tạo thành một quan hệ với khoá là khoá củaquan hệ ban đầu.

• Mỗi nhóm tách ra (gồm các thuộc tính cùng phụ thuộchàm vào bộ phận của khoá) tăng thêm các thuộc tính màchúng phụ thuộc tạo thành một quan hệ. Khoá là cácthuộc tính tăng thêm này.

=> Các quan hệ lập được đều là 2NF

60

Các bước chuẩn hoá…

Page 61: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 61

• Đưa về dạng chuẩn 3: Tách các nhóm thuộc tính phụthuộc vào một hay một số thuộc tính ngoài khoá.

• Nhóm còn lại tạo thành một quan hệ. Khoá là khoá củaquan hệ ban đầu.

• Mỗi nhóm tách ra (gồm các thuộc tính cùng phụ thuộcvào một hay một số thuộc tính ngoài khoá) tăng thêm cácthuộc tính mà chúng phụ thuộc, tạo thành 1 quan hệ. Khoá là các thuộc tính tăng thêm này.

• Các quan hệ lập được đều là 3NF

61

Các bước chuẩn hoá…

Page 62: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 62

Ví dụ kiểm tra dạng chuẩn

• Ví dụ 1: Cho sơ đồ quan hệ W như sau: • W=<U=CTRHSG; F={C T, HR C, HT R, CS G, HS

R}> • C - giáo trình (Curriculum)• T - Giáo viên (Teacher)• R - Phòng học (Room)• H - Giờ (Hour)• S - Sinh viên (Student)• G - Lớp (grade)

Page 63: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 63

Ví dụ kiểm tra dạng chuẩn (tt)

• C T: Mỗi giáo trình có một thầy dạy,• HR C: Chỉ một môn học ở một phòng học tại một thời

điểm,• HT R: Tại mỗi thời điểm mỗi giáo viên chỉ có thể dạy ở một

phòng học,• CS G: Mỗi sinh viên chỉ ở một lớp học theo mỗi giáo trình.• HS R: Mỗi sinh viên chỉ có thể ở một phòng học tại một

thời điểm.• Yêu cầu: Kiểm tra W có ở dạng chuẩn 3NF hay không? Nếu

không W ở dạng chuẩn nào?

Page 64: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 64

Ví dụ kiểm tra dạng chuẩn (tt)

• Xác định tập K các khoá của W và tập N các thuộc tính không khoá.• Nhận xét: Thuộc tính HS tham gia khoá vì chúng không xuất hiện ở vế

phải. Kiểm tra HS có phải là khoá không.• HS+=HSRCTG=U.• Ta có khoá K={HS} là khoá duy nhất, N={RCTG} là các thuộc tính

không khoá.– R là thuộc tính không khoá: HS HT R (HT không HS).– Như vậy R phụ thuộc bắc cầu vào khoá HS thông qua cầu HT.

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

Page 65: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 65

Ví dụ kiểm tra dạng chuẩn (tt)

• Kiểm tra N=RCTG có phụ thuộc đầy đủ vào HS hay không?» C

Vậy C phụ thuộc đầy đủ vào HS» Tương tự RTG

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

SCSS:CSHCHH:CH

Page 66: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 66

Ví dụ kiểm tra dạng chuẩn (tt)

• Ví dụ 2: Cho lược đồ W=<R={MaSV, TenSV, MaMT, ĐiemThi}; F={ MaSVTenSV ; MaSV, MaMTĐiemThi}> Kiểm tra W có ở dạng chuẩn 3NF không?

• Ví dụ 3: Cho lược đồ quan hệW=<R= ABC; F={AB C; BC A}>

• Hỏi W có ở dạng chuẩn 3NF hay không?

Page 67: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 67

Dạng chuẩn Boyce-Codd

• Một lược đồ quan hệ R được gọi là ở dạng chuẩn Boyce-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 phụ thuộc hàm vào thuộc tính không

khóa.

• Ví dụ

Page 68: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 68

Dạng chuẩn Boyce-Codd(tt)

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

Page 69: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 69

Dạng chuẩn Boyce-Codd(tt)

• Nếu một lược đồ quan hệ không thoả mãn điều kiện BCNF, thủ tục chuẩn hóa bao gồm: – Loại bỏ các thuộc tính khóa phụ thuộc hàm vào thuộc tính không khóa ra

khỏi quan hệ– tách chúng thành một quan hệ riêng có khoá chính là thuộc tính không

khóa gây ra phụ thuộc.

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

– A1,A2 A3,A4,A5– A4 A2

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

Page 70: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 70

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

Ví dụ: Cho lược đồ quan hệ ở dạng chuẩn 1, R = {A,B,C,D,E,F,G,H,I,J} có khóa chính là A,B 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 • F → I, J • D →B

Do có có phụ thuộc hàm A→ E,F,G,H,I,J mà A là một bộphận của khóa chính nên quan hệ R là vi phạm 2NF.

Page 71: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 71

Ví dụ về chuẩn hóa quan hệ (tt)

• Ta tách R thành R1(A,E,F,G,H,I,J) và R2(A,B,C,D). Trong R1, do có phụ thuộc hàm F→ I, J, nên ta có I,J phụthuộc bắc cầu vào khóa chính, R1 là quan hệ vi phạm 3NF. Trong R2 ta có phụ thuộc hàm D → B trong đó B là một thuộctí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), R21(D,B), R22( A,D,C)

Page 72: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 72

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

• Định nghĩa: Cho lược đồ quan hệ R={A1,A2,…,An}, R1, R2,.., Rk là các tập con của R và chúng là một phép tách của R tứclà: R= R1υ R2 υ … υRk ,F là phụ thuộc hàm trên R.Ta nói phép tách R thành các lược đồ con ρ= (R1, R2,.., Rk )không mất thông tin đối với F nếu với mọi quan hệ r trên R mà F thỏa mãn thì:

kRrRrRrr .||....||. 21

Page 73: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 73

Tách kết nối không mất thông tin(tt)

• Ví dụ: Cho lược đồ=<U={MaSV, TenSV, MaMT, TenMon, ĐiemThi}; F={MaSVTenSV; MaMTTenMon; MaSV, MaMTĐiemThi}>

• Tách lược đồ thành các lược đồ sau:• 1=<U1={MaSV, TenSV}; F1={MaSVTenSV}> • 2=<U2={MaMT, TenMon}; F2={MaMTTenMon}> • 3=<U3={MaSV, MaMT, DiemThi}; F3={MaSV,

MaMTĐiemThi}>

Page 74: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 74

Tách kết nối không mất thông tin(tt)

• Lấy quan hệ R là quan hệ KETQUA(MaSV, TenSV, MaMT, TenMon, ĐiemThi) khi đó ta có:

• R1= KETQUA[MaSV, TenSV] =SINHVIEN1

• R2= KETQUA[MaMT, TenMon] =MONTHI2

• R3= KETQUA[MaSV, MaMT, DiemThi] =KQUA3

• Khi cần ta có thể khôi phục lại thông tin:KETQUA=SINHVIEN MONTHI KQUA

Page 75: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 75

Tách kết nối không mất thông tin(tt)

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

R R1 R2

X Y Z X Y Y Zx1 y1 z1 x1 y1 y1 z1

x2 y2 z2 x2 y2 y2 z2

x3 y2 z3 x3 y2 y2 z3

x4 y3 z4 x4 y3 y3 Z4

Ta thấy R R1 |><| R2

Page 76: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 76

Tách kết nối không mất thông tin(tt)

• Ta thấy R = R1 R2

• Nếu một phép tách không có tính chất nối không mất mát thông tin thì chúng ta có thể nhận được các bộ phụ thêm (các bộ giả) sau khi ápdụng các phép chiếu và nối tự nhiên. Nghĩa của từ mất mát ở đây làmất mát thông tin chưa không phải mất các bộ giá trị. Vì vậy, với tínhchất này ta nên gọi chính xác hơn là tính chất nối không phụ thêm.

R R1 R2

X Y Z X Y X Zx1 y1 z1 x1 y1 x1 z1

x2 y2 z2 x2 y2 x2 z2

x3 y2 z3 x3 y2 x3 z3

x4 y3 z4 x4 y3 x4 z4

Page 77: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 77

Kiểm tra tính tách kết nối không mấtthông tinThuật toán Chase• Input Sơ đồ quan hệ R={A1,A2,…,Ak} là lược đồ quan hệ. F là

tập các PTH; phép tách ρ= (R1, R2,.., Rk )• Output: Khẳng định phép tách kết nối không mất hay không?Thuật toán:- Xây dựng bảng• Xây dựng một bảng gồm n cột và m hàng, cột j tương ứng với

thuộc tính Aj , hàng i tương ứng với Ri.• Ở vị trí hàng i cột j, ta ký hiệu là aj nếu Aj thuộc Ri , Ngược lại

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

Page 78: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 78

Kiểm tra tính tách kết nối không mấtthông tin…

Bước lặp: Áp dụng các PTH trong F cho bảng vừa xây dựng:

• Xét nhiều lần mỗi phụ thuộc hàm X Y thuộc F cho đến khikhông xét được nữa. Với mỗi FTH XY mà trong bảng có giátrị giống nhau trên tập X thì ta cho chúng bằng nhau trên tập Y với lưu ý là nếu một trong 2 ký hiệu là aj thì chọn aj, ngược lạilàm bằng chúng bằng một trong các kí hiệu bij.

• Thuật toán dừng khi trong bảng có một dòng toàn là ký tự a hoặc cho đến khi không xét dược nữa.

- Kết luận: Nếu có một dòng toàn a thì phép tách kết nối đó khôngmất thông tin. Ngược lại phép tách có mất thông tin.

Page 79: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 79

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

Page 80: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 80

Kiểm tra tính tách kết nối không mấtthông tin…

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

Page 81: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 81

Kiểm tra tính tách kết nối không mấtthông tin…

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

A B C D E GR1 a1 a2 a3 a4 b15 b16

R2 b21 b22 b23 a4 a5 a6

• Ta thấy trong bảng trên 2 bộ bằng nhau ở thuộc tính D. Sử dụngPTH D →EG ta có b15=a5 và b16=a6. Như vậy dòng đầu của bảngchứa toàn ai, nên phép tách không mất thông tin.

Page 82: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 82

Kiểm tra tính tách kết nối không mấtthông tin…

Ví dụ:• Cho lược đồ quan hệ R=ABCDE• Tách R thành các lược đồ sau:• R1 = AD, R2=AB, R3= BE, R4= CDE, R5= AE• Tập phụ thuộc hàm F=(AC,BC,CD,DEC,CEA)• Xác định phép tách trên có mất thông tin hay không?

Page 83: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 83

Kiểm tra tính tách kết nối không mấtthông tin…

F=(AC,BC,CD,DEC,CEA

Page 84: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 84

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

Input: Lược đồ quan hệ R và tập các phụ thuộc hàm F trên các thuộctính của R.

1. Đặt D := {R} ; 2. Khi có một lược đồ quan hệ Q trong D không phải ở BCNF, thực

hiện vòng lặp: • Với mỗi một lược đồ quan hệ Q trong D không ở BCNF hãy tìm một phụ thuộc

hàm X→ Y trong Q vi phạm BCNF và thay thế Q trong D bằng hai lược đồ quanhệ (Q-Y) và (XUY). Quá trình lặp dừng khi không còn quan hệ nào trong D vi phạm BCNF.

• Mỗi lần đi vào vòng lặp trong thuật toán trên, chúng ta tách một quan hệ Q không phải BCNF thành hai lược đồ quan hệ. Kết thúc thuật toán, tất cả cácquan hệ trong D sẽ ở BCNF.

Page 85: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 85

• Trong bước 2 của thuật toán trên, cần xác định xem một lược đồquan hệ Q có ở BCNF hay không. Một phương pháp để làm điềuđó là kiểm tra. Với mỗi phụ thuộc hàm X → Y trong Q, ta tính X+. Nếu X+ không chứa tất cả các thuộc tính trong Q thì X → Y vi phạm BCNF bởi vì X không phải là một siêu khóa.

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

Page 86: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 86

Ví dụ

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

Page 87: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Ví dụ (tt)

Lược đồ quan hệ này có hai khóa là A và BC. • Ta có B → F vi phạm BCNF vì B+ ≠ R nên B không phải là siêu khóa,

R được tách thành: R1(B,F) với phụ thuộc hàm B→ F, R2(A,B,C,D,E) vớicác phụ thuộc hàm A→BCDE, BC→ADE, D→E, D→B

• Xét R2 : Do D→ E vi phạm BCNF ( D là một thuộc tính không khóa ), R2được tách thành: R21(D,E) với phụ thuộc hàm D → E, R22(ABCD) với cácphụ thuộc hàm A → BCD, BC→ AD, D→ B

• Xét R22 : Do D → B vi phạm BCNF (Dkhông phải là thuộc tính khóa), R22được tách thành: R221(D,B) , R222(A,C,D) với phụ thuộc hàm A → CD (phụ thuộc hàm BC → AD bị mất)

• Tóm lại, ta có phép tách D = {R1, R21, R221, R222}.

Lý thuyết CSDL 87

Page 88: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 88

THẢO LUẬN

Nội dung 1: Trả lời câu hỏi• Trình khái niệm về phụ thuộc hàm, Hệ suy diễn Amstrong?• Các khái niệm về phụ thuộc hàm, bao đóng và khóa?• Phân biệt các dạng chuẩn?• Các cách kiểm tra tách kết nối có làm mất thông tin?• Trình bày các phương pháp chuẩn hóa dữ liệu?

Page 89: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 89

THẢO LUẬN

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

Thực hiện chuẩn hóa dữ liệu với đề tài nhóm đã chọn trong chương 2 theo lý thuyết các dạng chuẩn 1, 2, 3.

Page 90: CƠ SỞDỮLIỆU - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Chuong3_LythuyetthietkeCSDL.pdfLý thuyết CSDL 1 GIÁO VIÊN: ĐỖTHỊ MAI HƯỜNG B ... KHOA: CÔNG NGHỆTHÔNG

Lý thuyết CSDL 90