c s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/danhsach/ch04_phu thuoc ham va... · chuẩn...

109
C ddliliCơ Cơ ssddliu liu Văn-Giang 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 29-Jan-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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 s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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 (15 Ch 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 s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Nội dung

Giới hạn của ER

Sự dư thừa Sự 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 s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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 s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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 s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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 s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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 s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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 s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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ảo

trá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 s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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ợp

Lý thuyết chuẩn hóa (dựa trên phụ thuộchà ) ẽ 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 s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

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

Page 12: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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 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 XYị 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 t Y= =

- 12 -

Page 13: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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ệ rPhụ thuộc hàm trên r là trường hợp riêng của

phụ 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 s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

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

Page 15: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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 s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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 XY

- 16 -

Page 17: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

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

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

A2 Tí h ở ô h i ếY X⊂

A2- Tính mở rông hai vếXY thì XZYZ (mở rộng hai vế Z)

A3-Tính bắc cầuA3 Tính bắc cầuXY và Y Z thì XZ

A4-Tính tựa bắc cầuXY à YZW thì XZWXY và YZW thì XZW

A5- Tính mở rộng trái, thu hẹp phảiXY thì XZY-WXY thì XZY W

A6 – Tính cộng đầy đủXY và ZW thì XZYW

A7 – Tính tính lũyXY và YZW thì XYZW - 17 -

Page 18: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

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

A1-Tính phản xạXX, hay tổng quát hơn nếu thì XYY 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 XYY X⊂với . Vì vậy XYY X⊂

- 18 -

Page 19: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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ế

XY thì XZYZ (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 XZYZ

Page 20: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Các tính chất của phụ thuộc hàm (CM)A3-Tính bắc cầu

XY và Y Z thì XZ

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 <=> XZ

- 20 -

Page 21: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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ầuXY và YZW thì XZWXY và YZW thì XZW

Bởi XY, theo tính mở rộng 2 về ta có XZYZVà YZW.Theo tính chất bắc cầu: XZW

- 21 -

Page 22: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Hệ tiên đề Armstrong

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

Tí h hất hiế XYZ thì XY à XZTính chất chiếu: XYZ thì XY và XZ

Chứng minh:Chứng minh: XYZ (cho trước) YZY (Sử dụng A1 và tính chất XY ( ử d A3)

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

- 22 -

Page 23: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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 s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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 s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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 s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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 s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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 s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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 PQ của F thì R phải thỏa PQ.

T ờ h 1 P khô là tậ ủ X R+- Trường hợp 1: P không là tập con củathỏa PQ 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 PQ

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 XY\

• 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 s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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={AB, BC, AD, BD}F {AB, BC, AD, BD}F+={AB, BC, AC, AD, BD. ABD,ABCD, ABC, ACD, BCD}

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 s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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 s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

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

A2 Tí h ở ô h i ếY X⊂

A2- Tính mở rông hai vếXY thì XZYZ (mở rộng hai vế Z)

A3-Tính bắc cầuA3 Tính bắc cầuXY và Y Z thì XZ

A4-Tính tựa bắc cầuXY à YZW thì XZWXY và YZW thì XZW

A5- Tính mở rộng trái, thu hẹp phảiXY thì XZY-WXY thì XZY W

A6 – Tính cộng đầy đủXY và ZW thì XZYW

A7 – Tính tính lũyXY và YZW thì XYZW

Page 32: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Ví dụ

and…?

- 32 -

Page 33: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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àXA được suy dẫn từ tập F.

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

Ví dụ:

{ }

{ }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 s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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….AnBi đượ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 s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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 s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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 s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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 á XY ó th ộ F+

X Y F Y X+ +→ ∈ ⇔ ⊂

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

- 37 -

Page 38: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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 s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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 s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Ví dụ

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

F {ABC CA BCD ACDB DEGF={ABC, CA, BCD, ACDB, DEG,BEC, CGDB, CEAG}

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 s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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 s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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ễn

từ một tập của PTH S.Tìm khóa.Tìm khóa.

Page 43: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

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

Page 44: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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 {BCDE BEC BIA CEI}F = {BCDE, BEC, BIA, CEI}a. Chứng minh F|-BCIb. 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={ABE, AGI, EG, GIH}Chứng minh rằng AB GH F +→ ∈Chứng minh rằng AB GH F→ ∈

- 44 -X Y F Y X+ +→ ∈ ⇔ ⊂Gợi ý: Sử dụng tính chất sau

Page 45: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

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

3. Cho F={ABC, BD, CDE, CEGH, GA}a. Chứng minhb Chứ i h

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

4. Cho F={XYW, YZ, WZP, WPQR, QX}Chứng minh rằng XY P F +→ ∈Chứng minh rằng XY P F→ ∈

- 45 -X Y F Y X+ +→ ∈ ⇔ ⊂Gợi ý: Sử dụng tính chất sau

Page 46: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quả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 rAB, AC, BA, CD, DC, DA

- 46 -

Page 47: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản
Page 48: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Do đâu có phụ thuộc hàm?

“Tính khóa (duy nhất)” của các thuộc tính.

Các ràng buộc trên miền giá trị và ràng buộc ứngCác ràng buộc trên miền giá trị và ràng buộc ứngdụng.

ếCác ràng buộc của thế giới thực

Phụ thuộc hàm giúp chúng ta định nghĩa “khóa”

- 48 -

Page 49: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

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

Trong lược đồ quan hệ, một số thuộc tính đóngvai trò quan trọng, và từ các thuộc tính này có thểá đị h á th ộ tí h kháxác định các thuộc tính khác.

Khái niệm sơ đồ quan hệệ q ệCho lược đồ quan hệ R={A1,A2,…,An}, F là tậpcác phụ thuộc hàm trên R. Sơ đồ quan hệ là cặpR F h t ê ký hiệ SĐQH là W <R F>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ậpq ệ ộ ợ q ệ ậpphụ thuộc hàm trên nó.

- 49 -

Page 50: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Định nghĩa khóa SĐQH

được gọi là khóa tối thiểu của SĐQH trên W nếu k là tập tối thiểu kéo theo R, tức là k là khóa tốithiể ế à ế bớt khỏi k dù ột

k R⊂

( )k R k R+thiểu nếu: và nếu bớt khỏi k dù mộtphần tử thì bao đóng của tập còn lại khác R.

i là khó tối thiể ế thỏ ã

( )k R k R+ = →

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

1.k R+ =

Những thuộc tính thuộc khóa gọi là thuộc tính2.( ) for k A R A k+− ≠ ∀ ∈

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

- 50 -

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

Page 51: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Đị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ì với mọi cặp phần tử khác nhaut1 t2 ủ t l ô ó t k t k≠t1, t2 của r ta luôn có

b. Ngược lại nếu k là tập tối thiểu và với mọi quan hệ r

1 2. .t k t 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à thì k làkhóa của sơ đồ quan hệ W=<R,F>

1 2. .t k t k≠

- 51 -

Page 52: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

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+=RTa loại trừ dần các phần tử và kiểm tra xem k+=R

Input: W = <R,F>

Output: k – khóa của W

ậ áThuật toán Bước 1: Đặt k=R Bước 2: Lặp quá trình loại khỏi k phần tử A Bước 2: Lặp quá trình loại khỏi k phần tử A

mà (k-A)+=R

- 52 -

Page 53: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

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

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

BeginBegink=Rfor each A in k do

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

Thuật toán sẽ tìm được một khóa k cho R

Nếu muốn tìm được khóa khác, ta có thể thay

đổi thứ tự loại trừ các phần tử A ra khỏi k.

- 53 -

đổi thứ tự loại trừ các phần tử A ra khỏi k.

Page 54: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

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ủa tập F phải có trong mọi khóa k.

2 Cá th ộ tí h hỉ ất hiệ bê t ái ủ á PTH2. Các thuộc tính chỉ xuất hiện bên trái của các PTHtrong F cũng phả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ên3. Những thuộc tính xuất hiện, và chỉ xuất hiện bênvế phải của tập PTH sẽ không thuộc bất kỳ khóanào.

4 Th ật t á khẳ đị h i SĐQH W đề ó4. Thuật toán khẳng định mọi SĐQH W đều cókhóa, tuy nhiên thuật toán không khẳng định cóbao nhiêu khóa và số lược các phần tử trongbao nhiêu khóa và số lược các phần tử trongkhó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ông có hai khóa bao nhau).

- 54 -

Page 55: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

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

Ý tưởng

Cho W=<R F>Cho W=<R,F>

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

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

3. Tạo tập con bao tập con khácạ ập ập

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

- 55 -

Page 56: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

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

Cho W=<R,F>R={A,B,C}, F={AB, AC, BA, BC, ACB}

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

Khóa

bằng RA ABC A AB ABC B BC CAB ABC ABAC ABC ACBC ABC BCABC ABC ABC

- 56 -

Page 57: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

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ộc tính luôn thuộc khóa. Trong thuật toán

tìm khóa sẽ không xét nó và thêm vào khóatìm khóa sẽ không xé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.

- 57 -

Page 58: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

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

Cho W = <R,F>, R={A,B,C,D,E,H}F = {AB, AC, BA, BC, ACB, EC,CH BH}CH, BH}• Chắc chắn D, E tham gia mọi khóa• H sẽ không tham gia vào khóa nàoH sẽ không tham gia vào khóa nào

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

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

- 58 -

ạ ô g e ét đế

Page 59: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Thuật toán

Bao đóng Siêu khóa KhóaDE DEHCDE A DEHABC DEA DEADE A DEHABC DEA DEADE B DEHABC DEB DEBDE C DEHCDE AB DEHABC DEABDE AB DEHABC DEABDE AC DEHABC DEACDE BC DEHABC DEBCDE ABC DEHABC DEABC

- 59 -

Page 60: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Tìm khóa từ mô hình ER

Page 61: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Tìm khóa từ mô hình ER

Page 62: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Tìm khóa từ mô hình ER

Page 63: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Bài tập

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

- 63 -

Page 64: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Các dạng chuẩn

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

tới d thừ à bất th ờ t ậ hật)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 đồChuẩn hóa dữ liệu: quá trình phân tích lược đồquan hệ dựa trên 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

- 64 -

Page 65: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Các dạng chuẩn

Thủ tục chuẩn hóa cung cấp:• Một cơ cấu hình thức để phân tích các lược

đồ hệ d t ê á khó ủ ó à áđồ quan hệ dựa trên các khóa của nó và cácphụ thuộc hàm giữa các thuộc tính của nó

• Một loạt các kiểm tra dạng chuẩn có thểMột loạt các kiểm tra dạng chuẩn có thểthực hiện trên các lược đồ quan hệ riêng rẽsao cho CSDL có thể được chuẩn hóa đếnột ứ ầ thiếtmộ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ụ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ó bảo đảm rằng

ể- 65 -

từng phụ thuộc hàm sẽ được biểu hiện trongcác quan hệ riêng rẽ nhận được sau khi tách.

Page 66: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Phân loại các dạng chuẩn

Codd đề nghị 3 dạng• 1NF (first normal form): tương đương với định

hĩ ủ l đồ hệ ( hệ à bộ)nghĩa của lược đồ quan hệ (quan hệ và bộ)• 2NF: không có giá trị trong thực tiễn• 3NFBCNF: thường được sử dụng nhiều3NFBCNF: thường được sử dụng nhiều

nhất (BCNF do Boyce và Codd đề xuất)

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

- 66 -

Page 67: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Dạng chuẩn 1

Định nghĩa: 1NF nếu miền giá trị của một thuộctính chỉ chứa giá trị nguyên tử (đơn, không phânhi đ ) à iá t ị ủ ỗi th ộ tí h ũ là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 1NF• Không có thuộc tính lặp lại

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

Ví dụ: PHONGBAN(MaPHG, TenPHG, DDIEM) Không phải 1NF

PHONGBAN(M PHG T PHD) DDIEM PHG(M PHG DDIEM)

- 67 -

PHONGBAN(MaPHG, TenPHD) DDIEM_PHG(MaPHG, DDIEM)

Là 1NF

Page 68: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Dạng chuẩn 1

Vẫn còn vấn đề tồn tại trong 1NF

Xét lược đồ: DDIEM_PHG(MaPHG, DDIEM)

MAPHG DIADIEM1 TPHCMVẫn bị lặp lại

4 HANOI5 VUNGTAU5 NHATRANG

Ẩn chứa các phụ thuộchàm bộ phận

5 TP HCM

- 68 -

Page 69: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Ví dụ 1NF

Không phải 1NF

Là 1NFLà 1NF

Vẫn còn vấn đề tồn tại trong 1NFVẫn còn vấn đề tồn tại trong 1NF

Page 70: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Dạng chuẩn 2

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

( { } )A A X X A Y∀

Phụ thuộc hàm bộ phận: Một phụ thuộc hàmế ể ỏ

, , ( { } )A A X X A Y∀ ∈ − → là sai

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

A X∈vẫn đúng, điều đó có nghĩa là

, ( { })A X X A Y∃ ∈ − →

- 70 -

Page 71: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Dạng chuẩn 2

2NF• Thỏa mãn 1NF

Ph th ộ hà đầ đủ à khó hí h• 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ìkhô hải étkhông phải xét

Chỉ kiểm tra các lược đồ có chứa phụ thuộc hàmbộ phận

- 71 -

Page 72: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Ví dụ Dạng chuẩn 2Phụ thuộc vào cả 2 MaNV, MaDA

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

Chỉ phụ thuộc vào MaDA

- 72 -

Page 73: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Ví dụ Dạng chuẩn 2Phụ thuộc vào cả 2 MaNV, MaDA

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

Chỉ phụ thuộc vào MaDA

NV_DA (MaNV, MaDA, Sogio)

- 73 -

DUAN (MaDA, TenDA, DDiemDA)

Page 74: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản
Page 75: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Dạng chuẩn 3

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

Định nghĩa: Một lược đồ quan hệ R là ở dạng3NF nếu nó thỏa mãn (theo Codd)( )• Thỏa mãn 2NF• Không có thuộc tính không khóa nào của R là

phụ thuộc bắc cầu vào khóa chínhphụ thuộc bắc cầu vào khóa chính.

- 75 -

Page 76: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Dạng chuẩn 3Ph th ộ à M NVPhụ thuộc vào MaNV

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

Phụ thuộc vào MaDV

Tất cả các thuộc tính phải phụ thuộc vào thuộctính khóa

Một ài th ộ tí h h th ộ à th ộ tí h• Một vài thuộc tính phụ thuộc vào thuộc tínhkhông phải là khóa

• Để chuẩn hóa Tách nhóm các thuộc tính

- 76 -

Để chuẩn hóa Tách nhóm các thuộc tínhđó thành quan hệ mới

Page 77: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Dạng chuẩn 3Ph th ộ à M NVPhụ thuộc vào MaNV

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

Phụ thuộc vào MaDV

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

DONVI (MaDV, TenDV, TruongPHG)

- 77 -

Page 78: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

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

thuộc tính đa trịhoặc quan hệ

Loại bỏ các thuộc tính vi phạm dạng chuẩn 1 và đặt chúngvào một bảng riêng cùng với khóa chính của quan hệ ban đầu Khóa chính của bảng này là một tổ hợp của khóa chínhhoặc quan hệ

lặpđầu. Khóa chính của bảng này là một tổ hợp của khóa chínhcủa quan hệ ban đầu và thuộc tính đa trị hoặc khóa bộ phậncủ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 khóa phụ thuộc vào một bộphận khóa chính và tách rành ra một bảng riêng, khóa chínhcủa bảng này là bộ phận khóa mà chúng phụ thuộc vào. Cácth ộ tí h ò l i lậ thà h ột hệ khó hí h ủ ó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, Loại bỏ các thuộc tính phụ thuộc bắc cầu ra khỏi quan hệ vàtồn tại phụthuộc hàm giữacác thuộc tínhkhông phải là

tách chúng thành một quan hệ riêng có khóa chính là thuộctí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.

- 78 -

không phải làkhóa

Page 79: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Các bước chuẩn hóa – Đưa về dạng 1

Tách các thuộc tính lặp

Nhóm các thuộc tính đơn còn lại thành một quanNhóm các thuộc tính đơn còn lại thành một quan

hệ. Chọn khóa cho nó.

Nhóm các thuộc tính lặp tách ra, tăng thêm khóa

của quan hệ trên tạo thành một quan hệ (hay mộtq ệ ạ ộ q ệ ( y ộ

số quan hệ theo chủ đề). Chọn khóa cho quan hệ

này thường là khóa bội trong đó khóa của quannày, thường là khóa bội, trong đó khóa của quan

hệ trên là một thành phần.

Các quan hệ lập được đều là 1NF- 79 -

Page 80: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Các bước chuẩn hóa – Đưa về dạng 2

Tách các nhóm thuộc tính phụ thuộc hàm một

phần của khóaphần của khóa

Nhóm còn lại tạo thành quan hệ với khóa là khóa

của quan hệ ban đầu

Mỗi nhóm tách ra (gồm các thuộc tính cùng phụ(g ộ g p ụ

thuộc hàm vào bộ phận của khóa) tăng thêm các

thuộc tính mà chúng phụ thuộc tạo thành mộtthuộc tính mà chúng phụ thuộc tạo thành một

quan hệ. Khóa là các thuộc tính tăng thêm này.

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

Page 81: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Các bước chuẩn hóa – Đưa về dạng 3

Tách các nhóm thuộc tính phụ thuộc vào một haymột số thuộc tính ngoài khóa.Nhó ò l i t thà h hệ ới khó là khóNhóm còn lại tạo thành quan hệ với khóa là khóa

của quan hệ ban đầuMỗi nhóm tách ra (gồm các thuộc tính cùng phụMỗi nhóm tách ra (gồm các thuộc tính cùng phụ

thuộc vào một hay một số thuộc tính ngoài khóa)tăng thêm các thuộc tính mà chúng phụ thuộc tạothà h ột hệ Khó là á th ộ tí h tăthành một quan hệ. Khóa là các thuộc tính tăngthêm này. Các quan hệ lập được đều là 3NF Các quan hệ lập được đều là 3NF

- 81 -

Page 82: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

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

Ví dụ 1: Cho sơ đồ quan hệ W như sau:W = <U=CTRHSG; F={CT, HRC, HTR,CSG HSR}CSG, HSR}>

C – giáo trình (curriculumn)C giáo trình (curriculumn)T – Giáo viên (Teacher)R – phòng học (Room)H Giờ (H )H – Giờ (Hour)S – Sinh viên (Student)G – Lớp (Grade)G Lớp (Grade)

- 82 -

Page 83: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Các ràng buộc PTH

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

ột thời điểmột thời điểm. HTR: Tại mỗi thời điểm, mỗi giáo viên chỉ có

thể dạy ở một phòng họcthể dạy ở một phòng họcCS G: Mỗi sinh viên chỉ ở một lớp học theo mỗi

giáo trìnhHSR Mỗi i h iê hỉ ó thể ở ột hò hHSR: 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 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?

- 83 -

Page 84: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

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

Xác định tập K các khóa của W và tập N cácthuộc tính không khóa.

Nhận xét: Thuộc tính HS tham gia khóa vì chúngkhông xuất hiện ở vế phải. Kiểm tra HS có phải làgkhóa không

HS+=HSRCTG=U

Ta có khóa K={HS} là duy nhất, N={RCTG} là cácthuộc tính không khóathuộc tính không khóa- R là thuộc tính không khóa: HSHTR- Như vậy R phụ thuộc bắc cầu vào khóa HS

ầ- 84 -

thông qua cầu HT. Suy ra W không ở dạngchuẩn 3NF.

Page 85: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

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

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

::

H C H H C HS C S S C S

+ +

+ +

→ = ⊄

→ = ⊄

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

Kết luận: W ở dạng chuẩn 2NF.

g ự

- 85 -

Page 86: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Ví dụ khác

Ví dụ 2: Cho lược đồ W =<R={MaSV, TenSV, MaMT, DiemThi};

F {M SVT SV M SV M MTDi thi}F={MaSVTenSV; MaSV,MaMTDiemthi}>Kiểm tra W có ở dạng chuẩn 3NF không?Kiểm tra W có ở dạng chuẩn 3NF không?

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

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

- 86 -

Page 87: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Dạng chuẩn Boyce-Codd

Một lược đồ quan hệ R được gọi là ở dạng chuẩnBoyce-Codd (BCNF) nếu nó

Thỏ ã d h ẩ 3NF- Thỏa mãn dạng chuẩn 3NF- Không có các thuộc tính khóa phục thuộc

hàm vào thuộc tính không khóahàm vào thuộc tính không khóa

Ví dụ

- 87 -

Page 88: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Dạng chuẩn Boyce-Codd

Ví dụ: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- A4 A2A4 A2

- 88 -

Page 89: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Dạng chuẩn Boyce-Codd

Nếu một lược đồ quan hệ không thỏa mãn điềukiện BCNF, thủ tục chuẩn hóa bao gồm

L i bỏ á th ộ tí h khó h th ộ hà- Loại bỏ các thuộc tính khóa phụ thuộc hàmvà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ó khóaTách chúng thành một quan hệ riêng có khóachính là thuộc tính không khóa gây ra phụthuộc.

Ví dụ: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- A4 A2

- 89 -

A4 A2Lược đồ được tách ra như sau:

- R1(A4, A2) - R2 (A1, A4, A3, A5)

Page 90: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

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

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, BVới tậ á PTHVới tập các PTH

A, B C, D, E, F, G, H, I, JA, B C, D, E, F, G, H, I, JA E, F, G, H, I, JF I, JD BD B

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

- 90 -

Page 91: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

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

Ta tách R thành R1 (A, E, F, G, H, I, J) vàR2(A, B, C, D)T R1 d ó h th ộ hà FI J ê t óTrong R1, do có phụ thuộc hàm FI, J nên ta cóI, J phụ thuộc hàm bắc cầu vào khóa chính.R1 là quan hệ vi phạm 3NFR1 là quan hệ vi phạm 3NFTrong R2 ta có PTH DB 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)R11 (F, I, J)R12 (A, E, F, G, H)R21 (D, B)

- 91 -

R22 (A, D, C)

Page 92: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

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

Định nghĩa: Cho lược đồ quan hệ R = {A1, A2,A3,…,An}, R1, R2,…,Rn là các tập con của R vàhú là ột hé tá h ủ R tứ làchúng là một phép tách của R, tức là

, F là PTH trên R.1 2 ... kR R R R= ∪ ∪

Ta nói phép tách R thành các lược đồ conp=(R1,R2,…,Rk) không mất thông tin đối với F nếuới i hệ t ê R à F thỏ ã thìvới mọi quan hệ r trên R mà F thỏa mãn thì:

1 2. . ... . kr r R r R r R=

- 92 -

Page 93: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Ví dụ về tách kết nối ko mất t.tin

Cho lược đồ

α=<U={MaSV, TenSV, MaMT, TenMon, Diemthi};{ , , , , };F={MaSVTenSV; MaMTTenMon;

MaSV,MaMTDiemthi}>

Tách lược đồ α thành các lược đồ sau α1 =<U1={MaSV, TenSV}; F1={MaSVTenSV}> α1 U1 {MaSV, TenSV}; F1 {MaSVTenSV} α2 =<U2={MaMT, Tenmon}; F2={MaMTTenmon}> α3 =<U3={MaSV, MaMT, Diemthi};

F {M SV M MTDi hi}F3={MaSV, MaMTDiemthi}>

- 93 -

Page 94: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Ví dụ (cont.)

Lấy quan hệ R là quan hệ KETQUA (MaSV, TenSV,MaMT, Tenmon, Diemthi), khi đó ta có R KETQUA[M SV T SV] SINHVIEN R1=KETQUA[MaSV, TenSV] = SINHVIEN α1 R2=KETQUA[MaMT, Tenmon] = MONTHI α2 R3=KETQUA[MaSV, MaMT, Diemthi]=KQUA α3

∈∈

∈ R3 KETQUA[MaSV, MaMT, Diemthi] KQUA α3

Khi cần ta khôi phục lại thông tin

KETQUA SINHVIEN MONTHI KQUA=

- 94 -

Page 95: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Ví dụ tách (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 như

sau

Ta thấy

1 2R R R⊆

- 95 -

Page 96: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Ví dụ tách (không) tổn thất thông tinCho R {X Y Z} tập các th ộc tính à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 như

sau

Ta thấy 1 2R R R=

Nếu một phép tách không có tính chất nối không mất mátNếu một phép tách không có tính chất nối không mất mátthông tin thì chúng ta có thể nhận được các bộ phụ thêm(các bộ giả) sau khi áp dụ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ứ

- 96 -

nhiên. Nghĩa của từ mất mát ở đây là mất mát thông tin chứkhông phải mất các bộ giá trị. Vì vậy với tính chất này tanên gọi chính xác hơn là tính chất nối không phụ thêm.

Page 97: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Kiểm tra tính tách kết nối

Thuật toán Chase Input: Sơ đồ quan hệ R = {A1,A2,…,Ak} là

l đồ hệ F là tậ á PTH hé tá hlược đồ quan hệ. F là tập các PTH; phép táchp={R1,R2,…,Rk}

Output: Khẳng định phép tách kết nối không Output: Khẳng định phép tách kết nối khôngmất thông tin 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ộtj tương ứng với thuộc tính Aj hàng i tươngj 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

- 97 -

thuộc Ri, ngược lại ta ký hiệu là bij. Ta có bảng T như sau:

Page 98: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Kiểm tra tính tách kết nối

- 98 -

Page 99: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Kiểm tra tính tách kết nối

Bước lặp: Áp dụng các PTH trong F cho bảng vừaxây dựng Xét hiề lầ ỗi PTH XY th ộ F h đế khi Xét nhiều lần mỗi PTH XY thuộc F cho đến khi

không xét được nữa. Với mỗi PTH XY màtrong bảng có giá trị giống nhau trên tập X thì tatrong bảng có giá trị giống nhau trên tập X thì tacho chúng bằng nhau trên tập Y với lưu ý là nếumột trong 2 ký hiệu là aj thì chọn aj, ngược lạilà bằ hú bằ ột t á ký hiê blà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òngtoán là ký tự a hoặc cho đến khi không xét đượctoán là ký tự a hoặc cho đến khi không xét đượcnữa.

Kết luận: Nếu có một dòng toàn a thì phép tách

- 99 -

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

Page 100: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Ví dụ

R= {A,B,C,D,E,F}; R1={A,B,D,E}; R2={A,C,D,F};R3={B,C,E,F}; F={AB,FE}

Bước 1: Lập bảng

B ớc 2 Áp d ng AB s ra b aBước 2: Áp dụng AB, suy ra b22=a2

- 100 -

Page 101: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Ví dụ

Bước 3: Áp dụng FE, suy ra b25=a5

ấ Phép tách không làm mất thông tin.

- 101 -

Page 102: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Ví dụ

F= {AB, CD, DEG}R1={A,B,C,D}, R2={D,E,G}

DEG: b15=a5, b16=a6; dòng đầu chứa toàn ai Phép tách không mất thông tin

- 102 -

Page 103: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Ví dụ

Cho lược đồ quan hệ R = {A,B,C,D,E}

Tá h R thà h á l đồTách R thành các lược đồ sau R1 = AD R2 = AB R2 AB R3 = BE R4 = CDE R5 AE R5 = AE

Tập PTH F = {AC, BC, CD, DEC, CEA}Xác định phép tách trên có mất thông tin hayXác định phép tách trên có mất thông tin hay

không?

- 103 -

Page 104: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Lập bảng

F = {AC, BC, CD, DEC, CEA}

A B C D EA B C D E

AD a1 b12 b13 a4 b15

AB a1 a2 b23(b13) b24(a4) b25

BE b31(a1) a2 b33(b13)(a3)

b34(a4) a5

CDE b41 b42 a3 a4 a5CDE b41 b42 a3 a4 a5

AE a1 b52 b53(b13)(a3)

b54(a4) a5

- 104 -

)

dòng 3 chứa toàn ai Phép tách không mất thông tin

Page 105: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

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

Input: Lược đồ quan hệ R và tập các PTH F trêncác thuộc tính R

1. Đặt D = {R}2 Khi có một LĐQH Q trong D không phải ở BCNF thực

các thuộc tính R

2. Khi có một LĐQH Q trong D không phải ở BCNF, thựchiện vòng lặp: Với mỗi LDQH Q trong D không ở BCNF hãy tìm

ột PTH XY t Q i h BCNF à th thế Qmột PTH XY trong Q vi phạm BCNF và thay thế Qtrong D bằng hai lược đồ quan hệ (Q-Y) và (XUY).Quá trình lặp dừng khi không còn quan hệ nào trongQuá trình lặp dừng khi không còn quan hệ nào trongD vi phạm BCNF.

Mỗi lần đi vào vòng lặp trong thuật toán trên, chúngta tách một quan hệ Q không phải BCNF thành hai

- 105 -

ta tách một quan hệ Q không phải BCNF thành hailược đồ quan hệ. Kết thúc thuật toán, tất cả cácquan hệ trong D sẽ ở BCNF.

Page 106: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

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

Trong bước 2 của thuật toán trên, cần xác định

tính chất nối không mất thông tin

xem một LĐQH Q có ở BCNF hay không. Mộtphương pháp để làm điều đó là kiểm tra. Với mỗiPTH XY trong Q ta tính X+PTH XY trong Q, ta tính X .Nếu X+không chứa tất cả các thuộc tính trong Qthì XY vi phạm BCNF bởi vì X không phải làgmột siêu khóa.

- 106 -

Page 107: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Ví dụXét LĐQH R = {A, B, C, D, E, F}. Với các PTH

ABCDEF, BCADEF, BF, DE, DBL đồ hệ à ó 2 khó là A à BCLược đồ quan hệ này có 2 khóa là A và BC Ta có BF 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 PTH BF,R2(A,B,C,D,E) với các PTH ABCDE, BCADE,DE DBDE, DB.

Xét R2: Do DE vi phạm BCNF (D là thuộc tính khôngkhóa), R2 được tách thành: R21(D,E) với PTH DE,R (ABCD) ới á PTH ABCD BCAD DBR22(ABCD) với các PTH ABCD, BCAD, DB.

Xét R22: Do DB vi phạm BCNF (D không phải làthuộc tính khóa), R22 được tách thành: R221(D,B),

- 107 -

) 22 221( )R222(A,C,D) với PTH ACD (PTH BCAD bị mất)

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

Page 108: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

Kết luận…Nội dung chính của chương

Phụ thuộc hàm

Hệ diễ A tHệ suy diễn Armstrong

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

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

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

Kiểm tra tách kết nối có làm mất thông tin?

- 108 -

Page 109: C s d li ệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch04_Phu thuoc ham va... · Chuẩn hóa quan hệ ... Điều hành 4 333444555 01/01/2010 333444555 Hưng Nguyễn Quản

-------

-- --

-- --

-- --

-- --

- 109 -