cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/danhsach/ch04_phu thuoc ham va cac...

47
C ddliliCơ Cơ ssddliu liu VănGiang Nguyn Bmôn Hthng thông tin, Khoa Công nghthông tin, Hc vinKthut quân sE il i @ t d Email: giangnv@mta.edu.vn Slides courtesy of : Đỗ ThMai Hường, HTTT, CNTT, HVKTQS

Upload: others

Post on 06-Nov-2019

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

CC ởở dữdữ liệliệCơCơ sởsở dữdữ liệuliệu

ễVăn‐Giang Nguyễn

ốBộ môn Hệ thống thông tin, Khoa Công nghệ thông tin,Học viện Kỹ thuật quân sựE il i @ t dEmail: [email protected]

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

Page 2: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Nội dung môn học

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

Chương 2: Mô hình liên kết thực thể (5)

Chương 3: Mô hình dữ liệu quan hệ (10)Chương 3: Mô hình dữ liệu quan hệ (10)

Chương 4: Phụ thuộc hàm và các dạng chuẩn CSDL (15Ch 5 Hệ ả t ị SQL S (10)Chương 5: Hệ quản trị SQL Server (10)

Chương 6: Ngôn ngữ truy vấn CSDL (15)

Chương 7: Lập trình T-SQL (15)

- 2 -

Page 3: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Nội dung

Giới hạn của ER

Sự dư thừaSự dư thừa

Phụ thuộc hàm

Hệ suy diễn Amstrong

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

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

Các dạng chuẩnCác dạng chuẩn

Chuẩn hóa quan hệ

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

Page 4: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Giới hạn của lược đồ ER

Cung cấp một tập các hướng dẫn không đưatớ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ấpkỹ thuật để phân tích và chuyển hóa từ lược đồkỹ thuật để phân tích và chuyển hóa từ lược đồER sang lược đồ quan hệ

- 4 -

Page 5: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Sự dư thừa

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

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

TENPHG MAPHG TRPHG NG_NHAMCHUC MANV TENNV HONV

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

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

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

- 5 -

Page 6: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Sự dư thừa

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

Ví dụNHANVIEN(TENNV, HONV, NS, DCHI, GT,(

LUONG, BANGCAP)TENNV HONV NS DIACHI GT LUONG BANGCAP

Tùng Nguyễn 12/08/1955 638 HQV CG Nam 6000 Trung cấpTùng Nguyễn 12/08/1955 638 HQV CG Nam 6000 Trung cấp

Chuyên Bùi 07/04/1970 255 XT CG Nữ 5500 Đại học

Dũng Hoàng 09/05/1965 51 NTH BĐ Nam 6000 Cao đẳng

Dũng Hoàng 09/05/1965 51 NTH BĐ Nam 6000 Đại học

- 6 -

Page 7: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Sự dư thừa

Dư thừa Dị thường- Thao tác sửa đổi: cập nhật tất cả các giá trị

liê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ịmất thông tin về đơn vị- Thao tác chèn

TENPHG MAPHG TRPHG NG_NHAMCHUC MANV TENNV HONV

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

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

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

- 7 -

Page 8: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Sự dư thừa

Các giá trị không xác định- Đặt thuộc tính trưởng phòng vào quan hệ

NHANVIEN th ì à hệ PHONGBANNHANVIEN thay vì vào quan hệ PHONGBANCác bộ giả

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

- 8 -

Page 9: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

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

NT1: Rõ ràng về mặt ngữ nghĩa, tránh các phụthuộc giữa các thuộc tính với nhauNT2 T á h t ù lặ ề ội d đả bảNT2: Tránh sự trùng lặp về nội dung đảm bảotránh được các dị thường khi thao tác cập nhậtdữ liệudữ liệu

- Phải có một số thao tác khi thêm mới và cập nhật vàolược đồ quan hệ, cũng như có thể gây sai hỏng trongtrường hợp xóa bỏ các bộ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ị nullNT4: Thiết kế các lược đồ quan hệ sao cho

ể ố ề ằchúng có thể được nối với điều kiện bằng trêncác thuộc tính là khóa chính hoặc khóa ngoàitheo cách đảm bảo không sinh ra các bộ giả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- 9 -

Page 10: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

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 ầ hải đ ử hữ ở á b ớ tiếkết cần phải được sửa chữa ở các bước tiếptheo

- Vấn đề nêu ở slide trên sẽ được giải quyếtVấn đề nêu ở slide trên sẽ được giải quyếtnếu có một phương pháp phân tích tích hợpLý thuyết chuẩn hóa (dựa trên phụ thuộc

hà ) ẽ là ề tả ở để th hiệ iệhàm) sẽ là nền tảng cơ sở để thực hiện việcphân tích và chuẩn hóa lược đồ ER.

- 10 -

Page 11: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Phụ thuộc hàm (định nghĩa không chính thức)

Page 12: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Phụ thuộc hàm trong quan hệ rCho l ợc đồ q an hệ R à X Y là các tập conCho lược đồ quan hệ R và X, Y là các tập concủ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ị p ụ ộ , ý ệtrong r nếu với mọi t và t’ của r mà t,t’ bằng nhautrên tập X thì chúng cũng bằng nhau trên tập Y,tứ làtức là

, 't t r∀ ∈ . '. . '.t X t X t Y y Y= ⇒ =

- 12 -

Page 13: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Ph th ộc hàm trên r là tr ờng hợp riêng củaPhụ thuộc hàm trong quan hệ r

Phụ thuộc hàm trên r là trường hợp riêng củaphụ thuộc hàm trên RPhụ thuộc hàm trên r là một khái niệm hẹp, nónó chỉchỉụ ộ ộ ệ ẹp,đúngđúng chocho mộtmột quanquan hệhệ,Trong một số trường hợp chỉ cần thay đổi một vài

iá t ị ủ á th ộ tí h t hệ hgiá trị của các thuộc tính trong quan hệ, phụthuộc hàm không còn đúng.

Page 14: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Ví dụ phụ thuộc hàm

Page 15: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

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

Ví dụ:Trong lược đồ quan hệ sau, nếu chúng tagiả thiết rằng trong lớp các tên nhập vào là không

iố h thì lú đó th ộ tí h H t ké thgiống nhau thì lúc đó thuộc tính Hoten kéo theotất cả các thuộc tính khác nhưng nếu có sự thayđổi thì thuộc tính đó có thể không còn đúng.đổi thì thuộc tính đó có thể không còn đúng.

Hoten Ngaysinh LopHùng 01/05/1993 TH10AHùng 01/05/1993 TH10AMinh 04/02/1993 TH10ATrang 20/09/1993 TH10B

Trang 21/01/1993 TH10A

- 15 -

Page 16: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Phụ thuộc hàm trên lược đồ QH R

Cho lược đồ quan hệ R và X,Y là các tập con củaR. Ta nói X xác định phụ thuộc hàm Y, ký hiệuX Y t ê l đồ hệ R Nế ới i t êX Y trên lược đồ quan hệ R. Nếu với mọi r trênR xác định X Y

- 16 -

Page 17: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

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 thì X YA2 Tí h ở ô h i ế

Y X⊂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ầuA3 Tính bắc cầuX Y và Y Z thì X ZA4-Tính tựa bắc cầuX Y à YZ W thì XZ WX Y và YZ W thì XZ WA5- Tính mở rộng trái, thu hẹp phảiX Y thì XZ Y-WX Y thì XZ Y WA6 – Tính cộng đầy đủX Y và Z W thì XZ YWA7 – Tính tính lũyX Y và Y ZW thì X YZW - 17 -

Page 18: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

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

A1-Tính phản xạX X, hay tổng quát hơn nếu thì X YY X⊂

Giả sử , 't t r∈

1. Tính phản xạHiển nhiên vì t và t’ bằng nhau trong tập X thì

hú hải bằ h t tậ ủ Xchúng phải bằng nhau trong tập con của X,nói cách khác t.X=t’.X t.X=t’.X & t.Y=t’.Yvới Vì vậy X YY X⊂với . Vì vậy X YY X⊂

- 18 -

Page 19: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

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

Giả sử , 't t r∈

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

t.YZ=t’.YZ

Từ t XZ t’ XZ t ó t X t’ X à t Z t’ Z Th iảTừ t.XZ=t’.XZ, ta có t.X=t’.X và t.Z=t’.Z. Theo giảthiết ta có t.X=t’.X thì t.Y=t’.Y.Như vậy ta có, t.Y=t’.Y và t.Z=t’.Z thì t.YZ=t’.YZ.

- 19 -

Như vậy ta có, t.Y t .Y và t.Z t .Z thì t.YZ t .YZ.Suy ra XZ YZ

Page 20: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

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

A3-Tính bắc cầuX Y và Y Z thì X Z

Giả sử , 't t r∈

3. Tính bắc cầut.X=t’.X t.Y = t’.Yt Y t’ Y t Z t’ Zt.Y=t’.Y t.Z = t’.Z

t.X=t’.X thì t.Z=t’.Z <=> X Z

- 20 -

Page 21: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Hệ tiên đề Armstrong

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

• Các tính chất còn lại ({A4,A5,A6,A7}) đều đượcsuy ra từ hệ tiên đề Armstrongsuy ra từ hệ tiên đề Armstrong

Chứng minh: A4-Tính tựa bắc cầuX Y và YZ W thì XZ WX Y và YZ W thì XZ W

Bởi X Y, theo tính mở rộng 2 về ta có XZ YZVà YZ W.Theo tính chất bắc cầu: XZ W

- 21 -

Page 22: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Hệ tiên đề Armstrong

Ngoài ra có tính chất sau hay được dùng

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

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

YZ Y⊃X Y (sử dụng A3)

- 22 -

Page 23: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Hệ tiên đề Armstrong

Phép suy dẫn theo hệ tiên đề ArmstrongPhụ thuộc hàm f được suy dẫn theo hệ tiênđề A t là f ó thể hậ đ từ Fđề Armstrong là f có thể nhận được từ F saumột số hữu hạn bước áp dụng các luật củatiên đề Armstrong. Ký hiệu F|=ftiên đề Armstrong. Ký hiệu F| f

Phép suy dẫn theo quan hệPhụ thuộc hàm f suy dẫn được từ tập PTH FPhụ thuộc hàm f suy dẫn được từ tập PTH Ftheo quan hệ (hoặc PTH f được suy dẫn theoquan hệ từ tập PTH F) ký hiệu F|-f nếu với mọi

hệ ê l đồ R à F hỏ hì fquan hệ r trên lược đồ R mà F thỏa mãn thì fcũng thỏa mãn.

- 23 -

Page 24: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Hệ tiên đề Armstrong

Bổ đề 2.1Giả sử , nếu gọi X+ là tập các thuộctí h A ủ R à thì ới i tậ

X R⊆|F X A→tính A của R mà , thì với mọi tập

|F X A= →, |Y R F X Y Y X +⊆ = → ⇔ ⊆

Chứng minh chiều thuậnTa có . Giả sử theo tính mở rộng trái thu hẹp phải:

|F X Y= → { , , ,...}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 ê th đị h hĩ X+ t ó B 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ậ { }A C +

- 24 -

Vậy { , , ,...}A B C Y X += ⊂

Page 25: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Hệ tiên đề Armstrong

Bổ đề 2.1Giả sử , nếu gọi X+ là tập các thuộctí h A ủ R à thì ới i tậ

X R⊆|F X A→tính A của R mà , thì với mọi tập

|F X A= →, |Y R F X Y Y X +⊆ = → ⇔ ⊆

Chứng minh chiều ngịch. Theo định nghĩa tập X+ thì mọi

ta cóY X +⊂ A Y∈

|F X A= →ta có Vậy theo tính chất cộng đầy đủ ta có

|F X A= →

|F X Y= →|F X Y→

- 25 -

Page 26: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Hệ tiên đề Armstrong

Định lý 2.1: Cho tập PTH F và một PTH f trên R,khi đó ta có

| if and only if |F f F f− =

Chứng minhGiả sử có , ta cần chứng minh|F X Y= → |F X Y− →Giả sử có , ta cần chứng minhTheo bổ đề ta có . Để chứng minh ta lấy một quan hệ R tùy ý thỏa mãn tất cả các PTH ủ F à hải hứ i h R hỏ

|F X Y→ |F X Y→Y X +⊆ |F X Y− →

X Ycủa F và ta phải chứng minh R thỏa mãnTa lấy thực thể bất kỳ t, t’ của R mà t[X]=t’[X], ta phảichứng tỏ t[Y]=t’[Y] do nên t[Y]=t’[Y] (đpcm)

X Y→

Y X +⊆

- 26 -

chứng tỏ t[Y] t [Y], do nên t[Y] t [Y] (đpcm)Y X⊆

Page 27: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Hệ tiên đề Armstrong

Giả sử có , chứng minh , hay chỉ cần chứng minh

|F X Y− → |F X Y= →Y X +⊆

Nhận xét: Nếu thì'X X +⊆ ( ')X X+ +⊆

- 27 -

Page 28: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Hệ tiên đề Armstrong

Ta thấy R thỏa mãn tất cả các phụ thuộc hàm củaF. Vì lấy một fd P Q của F thì R phải thỏa P Q.

T ờ h 1 P khô là tậ ủ X R+- Trường hợp 1: P không là tập con củathỏa P Q vì t[P] = t’[P] thì

- Trường hợp 2:

X R+ ⇒' & [ ] '[ ]t t t Q t Q≡ =

P X P X+ + +⊆ ⇒ ⊆Trường hợp 2: • Nếu• Nếu , ta có giả thiết t=t1 và t’=t2. Do P Q

thuộc F nên hay t[Q]=t’[Q]

P X P X⊆ ⇒ ⊆' [ ] '[ ]t t t Q t Q≡ → ='t t≠

Q P+⊆thuộc F nên hay t[Q] t [Q]• Vậy, trong mọi trường hợp R thỏa các phụ thuộc

hàm của F.• Do giả thiết mà R thỏa tất cả các fds

Q P⊆

|F X Y→• Do giả thiết , mà R thỏa tất cả các fdscủa F, R cũng thỏa fd X Y\

• Do t1[X]=t2[X] nên t1[Y]=t2[Y] suy ra

|F X Y− →

'Y X⊆

- 28 -

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

Page 29: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

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

Tập PTH f được suy dẫn từ F được gọi là baođóng của tập PTH F, ký hiệu F+Ví dVí dụ

R={A,B,C,D}F={A B, B C, A D, B 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+- Tính phản xạ F F⊆ +Tính phản xạ- Tính đơn điệu- Tính lũy đẳng

F F⊆ +F G F G⊆ ⇒ + ⊆ +F F+ + = +

- 29 -

Page 30: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

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

“Áp dụng hệ tiên đề Armstrong cho đến khi khôngtìm ra thêm phụ thuộc hàm mới”p

- 30 -

Page 31: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

A1-Tính phản xạX X, hay tổng quát hơn nếu thì X YA2 Tí h ở ô h i ế

Y X⊂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ầuA3 Tính bắc cầuX Y và Y Z thì X ZA4-Tính tựa bắc cầuX Y à YZ W thì XZ WX Y và YZ W thì XZ WA5- Tính mở rộng trái, thu hẹp phảiX Y thì XZ Y-WX Y thì XZ Y WA6 – Tính cộng đầy đủX Y và Z W thì XZ YWA7 – Tính tính lũyX Y và Y ZW thì X YZW

Page 32: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Ví dụ

- 32 -

Page 33: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Bao đóng X+ của tập thuộc tính

Định nghĩa:Cho lược đồ quan hệ R={A1,…,An}. Giả sử F làtậ PTH t ê R X là tậ ủ tậ th ộ tí h Rtậ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ấy theo tập F) là tập thuộc tính A của R màđóng lấy theo tập F) là tập thuộc tính A của R màX A được suy dẫn từ tập F.

{A:A R và }X X A F+ += ∈ → ∈

Ví dụ:

{ }

{X A:A R và }X X A F+ = ∪ ∈ → ∈{ }R A B C D E G=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=

- 33 -

{ , }X A B= { , , }Y C D G={ , , , , , }X A B C D E G+ = { , , , }Y C D E G+ =

Page 34: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Bao đóng X+ của tập thuộc tính

Định nghĩa khác:Cho lược đồ quan hệ R={A1,…,An}. Giả sử F làtậ PTH t ê R X là tậ ủ tậ th ộ tí h Rtậ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ấy theo tập F) làđóng lấy theo tập F) là- Tập thuộc tính {B1, B2, …, Bm} mà ở đó với1<=i<=m phụ thuộc hàm A1….An Bi được suydẫ từ Fdẫn từ F.- Tập phụ thuộc hàm đôi khi còn được định nghĩalà {A1 A }+là {A1,…,An}

Page 35: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Ví dụ bao đóng của tập thuộc tính

{ , , , , , }R A B C D E F=

{ , , , }FDs AB C BC AD D E CF B= → → → →

{ , }X A B={ , }

{ , , , , }X A B C D E+ =

Page 36: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

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

1. Tính phản xạ

2 Tính đơn điệu

X X +⊆

X Y X Y+ +⊆ ⇒ ⊆2. Tính đơn điệu

3. Tính lũy đẳng

X Y X Y⊆ ⇒ ⊆

X X++ +=

4. Bao đóng tổng chứa tổng các bao đón

5.

( )X Y XY+ + +∈

( ) ( ) ( ) ( )X Y XY X Y XY+ + + + + + + += = =

6.

7

( ) ( ) ( ) ( )

X Y Y X +→ ⇒ ⊆

X Y Y X+ +7.

8.

X Y Y X+ +→ ⇒ ⊆

&X X X X+ +→ →

9.- 36 -

&X X X Y Y X+ += ⇔ → →

Page 37: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

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

Bài toán thành viên:Vấn đề được đưa ra ở đây là: Cho trước một tậpPTH F ó h khô ột khẳ đị h f F +PTH F có hay không một khẳng địnhĐể giải quyết bài toán này người ta sử dụng tínhchất 6 của tập bao đóng hay bổ đề 2.1:

f F +∈

chất 6 của tập bao đóng hay bổ đề 2.1:

Do vậy, chỉ cần tìm được X+ ta sẽ giải quyết đượcbài t á X Y ó th ộ F+

X Y F Y X+ +→ ∈ ⇔ ⊂

bài toán X Y có thuộc F+

- 37 -

Page 38: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

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

Thuật toán tìm bao đóng X+Thuật toán của Beeri và BernsteinCh R {A1 A } F là tậ PTH t ê R X là tậCho R={A1,…,An}. F là tập PTH trên R. X là tậpthuộc tính.Ta xây dựng tập X0,…,Xk như sau:Ta xây dựng tập X ,…,X như sau:

0

( 1) : {A:A và A F }i i i i i i

X XX X Z Z X X+ +

=

∉ → ∈Tập X0,…,Xk là tập tăng dần và tập R là hữu hạnnên sau một số hữu hạn bước thuật toán phải kết

( ) : {A:A và A F }X X Z Z X X= = ∉ → ∈

nên sau một số hữu hạn bước thuật toán phải kếtthúc và tồn tại k mà ở đóKết quả:

1 ...k kX X += =kX X+ =

- 38 -

Page 39: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

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

Input: Lược đồ quan hệ RTập PTH F, tập thuộc tính X

O t t Tậ X+Output: Tập X+

BeginBeginY:=X;Repeat

For each A in R doIf then

Z = Ο

( & )A Y Y A F +∉ → ∈ Z Z A= ∪If then

Until+

Z = Ο:Y Y Z= ∪

( & )A Y Y A F∉ → ∈ Z Z A= ∪

End - 39 -

X Y+ =

Page 40: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Ví dụ

R={A,B,C,D,E,G}Cho tập PTH

F {AB C C A BC D ACD B D EGF={AB C, C A, BC D, ACD B, D EG,BE C, CG DB, CE AG}

0 0

{ , }{ , }, { , }( )

X B DX B D Z E G D EG=

= = →1 1

2 2

{ , }, { , }( ){ , , , }, { }( ){ } { }( )

X B D E G Z C BE CX B C D E G Z A C A

= = →

= = →3 3

3

{ , , , , }, { }( ){ , , , , , },

X B C D E G Z A C AX A B C D E G Z

= = →

= = Ο

- 40 -

3X X+ =

Page 41: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

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

Chứng minh &k kX X X X+ +⊂ ⊂

. ka X X+ ⊂Thật vậy, lấy . Như trên ta thấy

vớiA X +∈ X XZ+ =

{ : and }Z A A X X A F += ∉ → ∈

Nếu thì vì

{ }∉

A X∈ kA X∈ kX X⊂

ế ồiZNếu thì theo định nghĩa các tập , tồn tạimột chỉ số i để , vậy

A Z∈ iZiA Z∈ k kA X X X+∈ ⇒ ⊂

k. kb X X +⊂0 1 ... k k kX X X X X X X +→ → → ⇒ → ⇒ ⊂

- 41 -

Page 42: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Tại sao tìm bao đóng

Chứng minh sự đúng đắn của các quy tắc sửdụng trong suy diễn phụ thuộc hàmKiể t ột PTH hà ới đ diễKiểm tra xem một PTH hàm mới được suy diễntừ một tập của PTH S.Tìm khóa.Tìm khóa.

Page 43: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Bao đóng PTH VS. bao đóng thuộc tính

Page 44: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Bài tập về phụ thuộc hàm và bao đóng

1. Cho lược đồ quan hệ <R,F>R= {A, B, C, D, E, I} vàF {BC DE BE C BI A CE I}F = {BC DE, BE C, BI A, CE I}a. Chứng minh F|-BC Ib. Chứng minh F|=BC Ib. Chứng minh F| BC Ic. 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 +→ ∈Chứng minh rằng AB GH F→ ∈

- 44 -

Page 45: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Bài tập về phụ thuộc hàm và bao đóng

3. Cho F={AB C, B D, CD E, CE GH, G A}a. Chứng minhb Chứ i h

AB E F +→ ∈A G +b. Chứng minh AB G F +→ ∈

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

- 45 -

Page 46: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần

Bài tập

5. 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 z

T á PTH PTH à khô thỏ ãTrong các PTH sau, PTH nào không thỏa mãn rA B, A C, B A, C D, D C, D A

- 46 -

Page 47: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va cac dang chuan quan... · Sự dư thừa – Một số nguyên tắc (Lý do cần