Bài 16. Chuẩn Hóa Lược Đồ Quan Hệ
Chia sẻ bởi Trần Thị Như Trang |
Ngày 29/04/2019 |
58
Chia sẻ tài liệu: Bài 16. Chuẩn Hóa Lược Đồ Quan Hệ thuộc Bài giảng khác
Nội dung tài liệu:
BÀI 16:
CHUẨN HOÁ LƯỢC ĐỒ QUAN HỆ
1/45
NỘI DUNG :
Một số khái niệm liên quan
Các dạng chuẩn
Dạng chuẩn 1 (1NF- Fist normal form)
Dạng chuẩn 2 (2NF- Second normal form)
Dạng chuẩn 3 (3NF- Third normal form)
Dạng chuẩn BCNF (Boyce Codd normal form)
Thuật toán tìm dạng chuẩn cao nhất của lược đồ
Mối quan hệ giữa các dạng chuẩn
2/45
NỘI DUNG Chi tiết :
Một số khái niệm liên quan
Các dạng chuẩn
Dạng chuẩn 1 (1NF- Fist normal form)
Dạng chuẩn 2 (2NF- Second normal form)
Dạng chuẩn 3 (3NF- Third normal form)
Dạng chuẩn BCNF (Boyce Codd normal form)
Thuật toán tìm dạng chuẩn cao nhất của lược đồ
Mối quan hệ giữa các dạng chuẩn
3/45
16.1. Một số khái niệm liên quan
Chuẩn hóa:
Là quá trình tách một lược đồ quan hệ thành một tập các lược đồ con, sao cho quá trình tách là không mất thông tin và các lược đồ con là tối ưu hơn lược đồ ban đầu theo nghĩa: hạn chế dư thừa dữ liệu, thuận lợi cho các quá trình tạo lập, cập nhật và các thao tác tìm kiếm khác.
Định nghĩa về thuộc tính khóa:
Cho lược đồ quan hệ α=(U, F), thuộc tính AU được gọi là thuộc tính khóa nếu như A thuộc một trong các khóa nào đó, ngược lại A được gọi là thuộc tính không khóa.
4/45
16.1. Một số khái niệm liên quan
Định nghĩa phụ thuộc hàm đầy đủ:
Cho lược đồ quan hệ α=(U, F), X, Y, YU tập thuộc tính Y được gọi là phụ thuộc hàm đầy đủ vào tập thuộc tính X nếu như Y phụ thuộc hàm vào X nhưng không phụ thuộc hàm vào bất kỳ một tập con thực sự nào của x tức là:
- X→ Y ( Y phụ thuộc hàm vào X)
- X’ X thì X’→ Y (mọi tập con thực sự của X đều
không thể xác định hàm Y)
5/45
16.1. Một số khái niệm liên quan
Định nghĩa phụ thuộc hàm bắc cầu:
Cho lược đồ quan hệ α=(U, F), XU, AU, thuộc tính A được gọi là phụ thuộc hàm bắc cầu vào tập thuộc tính X nếu như Y X để:
- X → Y
- Y → A
- Y → X
- A XY
Nêú X → Y và Y không phụ thuộc bắc cầu vào X thì Y phụ thuộc hàm trực tiếp vào X
6/45
NỘI DUNG Chi tiết :
Một số khái niệm liên quan
Các dạng chuẩn
Dạng chuẩn 1 (1NF- Fist normal form)
Dạng chuẩn 2 (2NF- Second normal form)
Dạng chuẩn 3 (3NF- Third normal form)
Dạng chuẩn BCNF (Boyce Codd normal form)
Thuật toán tìm dạng chuẩn cao nhất của lược đồ
Mối quan hệ giữa các dạng chuẩn
7/45
16.2. Các dạng chUẩn
Sự cần thiết chuẩn hóa dữ liệu:
Mục tiêu: là triệt tiêu mức cao nhất khả năng xuất hiện các dị thường thông tin khi thực hiện các phép lưu trữ.
Chẩn hóa: khảo sát danh sách các thuộc tính và áp dụng các tập quy tắc phân tích vào danh sách đó, biến đổi thành nhiều tập nhỏ hơn sao cho:
Tối thiểu việc lặp lại.
Tránh dị thường thông tin.
Xác định và giải quyết được sự không rõ ràng, nhập nhằng trong suy diễn.
8/45
16.2. Các dạng chUẩn
Quá trình chuẩn hóa:
Là quá trình tách lược đồ quan hệ về một nhóm tương đương các lược đồ quan hệ chiếu sao cho khi kết nối tự nhiên không làm tổn thất thông tin và bảo toàn được các phụ thuộc hàm.
Cơ sở chuẩn hóa:
Dựa trên các khái niệm về phụ thuộc hàm, phụ thuộc hàm đầy đủ, khóa, các thuộc tính không khóa…
9/45
16.2. Các dạng chUẩn
Ví dụ:
Lược đồ quan hệ QLCAP( TC#, GTR, MC#, N#, NXS)
Trong đó: TC# : Mã tuyến cáp GTR : Giá trị của cáp
NSX : Nước sản xuất MC# : Mã cáp
N# : Mã nước sản xuất
Ngữ nghĩa dữ liệu như sau:
Trong một tuyến cáp, giá trị của một loại cáp được xác định duy nhất.
Mỗi mã cáp xác định mã nước sản xuất cáp.
Mã nước xác định tên nước sản xuất.
10/45
16.2. Các dạng chUẩn
Hình 16.1: Sơ đồ các phụ thuộc hàm trong lược đồ quan hệ QLCAP
GTR
MC#
TC#
NSX
N#
Ví dụ:
11/45
16.2. Các dạng chUẩn
Bảng 16.1: Một thể hiện của lược đồ quan hệ QLCAP
12/45
NỘI DUNG Chi tiết :
Một số khái niệm liên quan
Các dạng chuẩn
Dạng chuẩn 1 (1NF- Fist normal form)
Dạng chuẩn 2 (2NF- Second normal form)
Dạng chuẩn 3 (3NF- Third normal form)
Dạng chuẩn BCNF (Boyce Codd normal form)
Thuật toán tìm dạng chuẩn cao nhất của lược đồ
Mối quan hệ giữa các dạng chuẩn
13/45
16.2.1. dạng chUẩn 1
(1NF-fist normal form)
Định nghĩa:
Một lược đồ quan hệ α=(U, F) được gọi là ở dạng chuẩn một ( 1NF) nếu và chỉ nếu tất cả miền giá trị của các thuộc tính của R đều nguyên tố (không thể phân chia được)
Ví dụ:
Xét quan hệ S(S#, PRO), thấy rằng thuộc tính PRO chứa các giá trị không nguyên tố. Vì vậy quan hệ này không phải là quan hệ dạng chuẩn 1NF.
14/45
16.2.1. dạng chUẩn 1
(1NF-fist normal form)
Ví dụ:
Bảng 16.2: Một ví dụ quan hệ không 1NF.
15/45
NỘI DUNG Chi tiết :
Một số khái niệm liên quan
Các dạng chuẩn
Dạng chuẩn 1 (1NF- Fist normal form)
Dạng chuẩn 2 (2NF- Second normal form)
Dạng chuẩn 3 (3NF- Third normal form)
Dạng chuẩn BCNF (Boyce Codd normal form)
Thuật toán tìm dạng chuẩn cao nhất của lược đồ
Mối quan hệ giữa các dạng chuẩn
16/45
16.2.2. dạng chUẩn 2
(2NF-Second normal form)
Trước khi nghiên cứu dạng chuẩn thứ 2, ta xét ví dụ sau đây:
Xét CSDL gồm 2 lược đồ quan hệ THI (MONTHI, GIAOVIEN) và SINHVIEN ( MONTHI, MSSV, TEN, TUOI, DCHI, DIEM) phản ánh thông tin về kết quả thi của một đơn vị nào đó. Trong quan hệ THI thì MONTHI là khóa và trong quan hệ SINHVIEN thì MONTHI và MSSV là khóa. Ở quan hệ thứ hai dễ nhận thấy rằng MONTHI, MSSV, DIEM xác định kết quả thi của sinh viên còn MSSV, TEN, TUOI, DCHI xác định đối tượng dự thi.
17/45
16.2.2. dạng chUẩn 2
(2NF-Second normal form)
Xét các hiện hành của 2 lược đồ quan hệ THI và SINHVIEN như sau:
THI
18/45
16.2.2. dạng chUẩn 2
(2NF-Second normal form)
SINHVIEN
19/45
16.2.2. dạng chUẩn 2
(2NF-Second normal form)
Trong quá trình cập nhật, truy suất dữ liệu xuất hiện các vấn đề sau:
Dư thừa dữ liệu
Phép thay đổi
Phép chèn
Phép loại bỏ
20/45
16.2.2. dạng chUẩn 2
(2NF-Second normal form)
Định nghĩa:
Cho lược đồ quan hệ α=(U, F), lược đồ α được gọi là ở dạng chuẩn 2( ký hiệu là 2 NF) nếu như lược đồ ở dạng chuẩn 1 NF và các thuộc tình không khóa của α là phụ thuộc đầy đủ vào khóa chính.
Thuật toán kiểm tra lược đồ có ở dạng chuẩn 2NF hay không?
Input: Lược đồ quan hệ α =( U, F)
Output: Khẳng định α có đạt dạng chuẩn 2NF hay không
21/45
16.2.2. dạng chUẩn 2
(2NF-Second normal form)
Thuật toán 1:
Thuật toán kiểm tra dạng chuẩn 2NF
Vào: Lược đồ quan hệ Q, tập phụ thuộc hàm F
Ra: Khẳng định Q cóa đạt dạng chuẩn 2NF hay không
Bước 1: Tìm tất cả các khóa của Q
Bước 2: Với tất cả các khóa K, tìm bao đóng của tất cả các tập con thật sự S của K.
Bước 3: Nếu có bao đóng S+ chứa thuộc tính không khóa thì Q không đạt chẩn 2NF ngược lại Q đạt được dạng chuẩn 2NF.
22/45
16.2.2. dạng chUẩn 2
(2NF-Second normal form)
Ví dụ:
Cho lược đồ quan hệ Q(A, B, C, D) và tập phụ thuộc hàm: F={AB→C, B→D, BC→A } . Hỏi Q có đạt chuẩn 2NF hay không?
Giải:
I =Q ( Ri -Li )=ABCD (CDA)=B. I Q
N={ ( Ri -Li ) sao cho Li I }=D
N’=(I N)+ I =(BD)+ B = D (N’ N )
N’’= Ri - Li =ACD ABC=D
N=NN’N’’=D
B=Q N I=ABCD D B=AC
Vì B=2 => có hai khóa BA và BC
23/45
16.2.2. dạng chUẩn 2
(2NF-Second normal form)
I ={ B}, B={AC}
Khóa là K=AB và K=BC. Ta thấy B K, B→D, D là thuộc tính không khóa => thuộc tính không khóa không phụ thuộc đầy đủ vào khóa .
=> Q không đạt chuẩn 2NF.
24/45
16.2.2. dạng chUẩn 2
(2NF-Second normal form)
Thuật Toán 2:
Bước 1: Tìm tất cả các khóa của lược đồ α, từ tất cả các khóa này ta suy ra các thuộc tính không khóa của lược đồ α. Ký hiệu tập thuộc tính không khóa này là NK.
Bước 2: Với mỗi khóa Ki, ký hiệu họ của các tập con thực sự của Ki là { S1, S2, …, Ski }, ký hiệu Q={ Q1, Q2, …, Qn } là họ tất cả các tập con thực sự của khóa Ki.
Bước 3: Tìm bao đóng Q+ ={ Q1+, Q2+, …, Qn+ }
Bước 4: Nếu Q+ NK= với mọi i=1…n thì lược đồ α ở dạng chuẩn 2NF ngược lại tồn tại Q+ NK thì lược đồ α không ở dạng chuẩn 2NF.
25/45
NỘI DUNG Chi tiết :
Một số khái niệm liên quan
Các dạng chuẩn
Dạng chuẩn 1 (1NF- Fist normal form)
Dạng chuẩn 2 (2NF- Second normal form)
Dạng chuẩn 3 (3NF- Third normal form)
Dạng chuẩn BCNF (Boyce Codd normal form)
Thuật toán tìm dạng chuẩn cao nhất của lược đồ
Mối quan hệ giữa các dạng chuẩn
26/45
16.2.3. dạng chUẩn 3
(3NF-THiRD normal form)
Định nghĩa 1:
Cho lược đồ quan hệ α= ( U, F), lược đồ α được gọi là ở dạng chuẩn 3 ( ký hiệu là 3 NF), nếu như lược đồ ở dạng chuản 2NF và các thuộc tính không khóa của α là không phụ thuộc hàm bắc cầu vào khóa chính.
Định nghĩa 2:
Cho lược đồ quan hệ α =( U, F), lược đồ α được gọi là ở dạng chuẩn 3, ký hiệu là 3NF, nếu như mọi phụ thuộc hàm X→ A F+ với A X thì:
- Hoặc X là siêu khóa.
- Hoặc A là thuộc tính khóa.
27/45
16.2.3. dạng chUẩn 3
(3NF-THiRD normal form)
Nhận xét:
Lược đồ quan hệ α =( U, F), với F là tập các phụ thuộc hàm có vế phải chỉ gồm một thuộc tính. Khi đó lược đồ α ở dạng chuẩn 3NF khi và chỉ khi mọi phụ thuộc hàm X→A F với A X đều có :
- Hoặc X là siêu khóa.
- Hoặc A là thuộc tính khóa.
28/45
16.2.3. dạng chUẩn 3
(3NF-THiRD normal form)
Thuật toán kiểm tra lược đồ có ở dạng chuẩn 3NF hay không?
Từ định nghĩa về dạng chuẩn 3NF trên ta có thuật toán kiểm tra xem một lược đồ có ở dạng chuẩn 3NF hay không như sau:
Input: Lược đồ quan hệ α =( U, F)
Output: Khẳng định α có đạt dạng chuẩn 3NF hay không
29/45
16.2.3. dạng chUẩn 3
(3NF-THiRD normal form)
Thuật toán 1:
Thuật toán kiểm tra dạng chuẩn BCNF
Vào: Lược đồ quan hệ Q, tập phụ thuộc hàm F
Ra: Khẳng định Q có đạt dạng chuẩn 3NF hay không
Bước 1: Tìm tất cả khóa của Q.
Bước 2: Từ F tạo tập phụ thuộc hàm tương đương FItt có vế phải một thuộc tính.
Bước 3: Nếu mọi phụ thuộc hàm X→ A FItt với A X đều có X là siêu khóa hoặc A là một thuộc tính khóa thì Q đạt chẩn 3 ngược lại Q không đạt chuẩn 3.
30/45
16.2.3. dạng chUẩn 3
(3NF-THiRD normal form)
Ví dụ:
Cho lược đồ quan hệ Q(A, B, C, D) F={ AB→C; D→B; C→ABD } Hỏi lược đồ có ở dạng chuẩn 3NF?
Giải:
I =Q ( Ri -Li )=ABCD ABCD= , I Q
N={ ( Ri -Li ) sao cho Li I }=
N’=(I N)+ I = (N’ N )
N’’= Ri - Li =ABCD ABCD=
N=NN’N’’=
B=Q N I=ABCD =ABCD
Vì B=4>2
=> I ={}, B={ABCD}
31/45
16.2.3. dạng chUẩn 3
(3NF-THiRD normal form)
K1= { AB };K2= { AD }; K3= { C } là khóa
=> mọi phụ thuộc hàm X→AF đều có A là thuộc tính khóa.
Vậy Q đạt chuẩn 3NF.
32/45
16.2.3. dạng chUẩn 3
(3NF-THiRD normal form)
Thuật toán 2:
Bước 1: Tìm tất cả khóa của lược đồ α.
Bước 2: Từ F tìm tập phụ thuộc hàm tương đương F’, mà vế phải của các phụ thuộc hàm trong F’ chỉ có một thuộc tính.
Bước 3: Nếu mọi phụ thuộc hàm X→AF’ với AX đều có X là siêu khóa hoặc A là thuộc tính khóa thì α đạt chuẩn 3NF ngược lại α không đạt chuẩn 3NF.
33/45
NỘI DUNG Chi tiết :
Một số khái niệm liên quan
Các dạng chuẩn
Dạng chuẩn 1 (1NF- Fist normal form)
Dạng chuẩn 2 (2NF- Second normal form)
Dạng chuẩn 3 (3NF- Third normal form)
Dạng chuẩn BCNF (Boyce Codd normal form)
Thuật toán tìm dạng chuẩn cao nhất của lược đồ
Mối quan hệ giữa các dạng chuẩn
34/45
16.2.4. dạng chUẩn BCNF
(Boyce Codd normal form)
Định nghĩa 1:
Cho lược đồ quan hệ α= ( U, F), lược đồ α được gọi là ở dạng chuẩn Boyce Codd, ký hiệu là BCNF, nếu như lược đồ ở dạng chuẩn 1NF và nếu X→AF+ (AX) thì X phải là siêu khóa của lược đồ.
Định ngĩa 2:
Cho lược đồ quan hệ α= ( U, F), lược đồ α được gọi là ở dạng chuẩn Boyce Codd, ký hiệu là BCNF, nếu như lược đồ ở dạng chuẩn 1NF và nếu X→AF là phụ thuộc hàm không tầm thường (Y X) thì X phải là siêu khóa của lược đồ.
35/45
16.2.4. dạng chUẩn BCNF
(Boyce Codd normal form)
Thuật toán kiểm tra lược đồ ở dạng chuẩn BCNF hay không?
Từ định nghĩa về dạng chuẩn BCNF trên ta có thuật toán kiểm tra xem một lược đồ có ở dạng chuẩn BCNF hay không như sau:
Input: Lược đồ quan hệ α =( U, F)
Output: Khẳng định α có đạt dạng chuẩn BCNF hay không
36/45
16.2.4. dạng chUẩn BCNF
(Boyce Codd normal form)
Thuật toán 1:
Thuật toán kiểm tra dạng chuẩn BCNF
Vào: Lược đồ quan hệ Q, tập phụ thuộc hàm F
Ra: Khẳng định Q có đạt dạng chuẩn 3NF hay không
Bước 1: Tìm tất cả khóa của Q.
Bước 2: Từ F tạo tập phụ thuộc hàm tương đương FItt có vế phải một thuộc tính.
Bước 3: Nếu mọi phụ thuộc hàm X→ A FItt với A X đều có X là siêu khóa thì Q đạt chẩn BCNF ngược lại Q không đạt chuẩn BCNF.
37/45
16.2.4. dạng chUẩn BCNF
(Boyce Codd normal form)
Ví dụ:
Q (A, B, C, D, E, I) F={ACD→EBI; CE→AD }. Hỏi Q có đạt chuẩn BCNF hay không?
Giải:
I =Q ( Ri -Li )=ABCDEI (EBIAD)=C => I Q
N={ ( Ri -Li ) sao cho Li I } =
N’=(I N)+ I = (N’ N )
N’’= Ri - Li =ABDEI ACDE=BI
N=NN’N’’=BI
B=Q N’ I=ABCDEI BI C=ADE
Vì B=3>2 => I ={ C}, B={ADE}
38/45
16.2.4. dạng chUẩn BCNF
(Boyce Codd normal form)
F =FItt={ ACD→E, ACD→B, ACD→I, CE→A, CE→D} Mọi phụ thuộc hàm của FItt đều có vế trái là siêu khóa
=> Q đạt dạng chuẩn BCNF.
39/45
16.2.4. dạng chUẩn BCNF
(Boyce Codd normal form)
Thuật tán 2:
Bước 1: Từ F tìm tập phụ thuộc hàm tương đương F’, mà vế phải của các phụ thuộc hàm trong F’ chỉ có một thuộc tính.
Bước 2: Nếu mọi phụ thuộc hàm X→AF+ với AX đều có X là siêu khóa thì α đạt chẩn BCNF ngược lại α không đạt chuẩn BCNF.
40/45
NỘI DUNG Chi tiết :
Một số khái niệm liên quan
Các dạng chuẩn
Dạng chuẩn 1 (1NF- Fist normal form)
Dạng chuẩn 2 (2NF- Second normal form)
Dạng chuẩn 3 (3NF- Third normal form)
Dạng chuẩn BCNF (Boyce Codd normal form)
Thuật toán tìm dạng chuẩn cao nhất của lược đồ
Mối quan hệ giữa các dạng chuẩn
41/45
16.2. Thuật toán tìm dạng chuẩn cao nhất của lược đồ
Cho lược đồ quan hệ α =( U, F), hãy tìm dạng chuẩn cao nhất của lược đồ α.
Input: Lược đồ quan hệ α =( U, F) ( ở đây ta giả thiết rằng lược đồ α đã được chuẩn hóa, tức là đã ở dạng chuẩn 1).
Output: Dạng chuẩn cao nhất của lược đồ α.
Thuật toán:
Bước 1: Tìm tất cả các khóa của lược đồ α.
Bước 2: Sử dụng thuật toán kiểm tra lược đồ ở dạng chuẩn BCNF, nếu lược đồ ở dạng BCNF thì dừng thuật toán và kết luận dạng chuẩn cao nhất của lược đồ là BCNF, ngược lại thì chuyển qua bước tiếp theo.
42/45
16.2. Thuật toán tìm dạng chuẩn cao nhất của lược đồ
Thuật toán:
Bước 3: Sử dụng thuật toán kiểm tra lược đồ ở dạng chuẩn 3NF, nếu lược đồ ở dạng 3NF thì dừng thuật toán và kết luận dạng chuẩn cao nhất của lược đồ là 3NF, ngược lại thì chuyển qua bước tiếp theo.
Bước 4: Sử dụng thuật toán kiểm tra lược đồ ở dạng chuẩn 2NF, nếu lược đồ ở dạng 2NF thì dừng thuật toán và kết luận dạng chuẩn cao nhất của lược đồ là 3NF, ngược lại thì lược đồ ở dạng chuẩn 1NF.
43/45
NỘI DUNG Chi tiết :
Một số khái niệm liên quan
Các dạng chuẩn
Dạng chuẩn 1 (1NF- Fist normal form)
Dạng chuẩn 2 (2NF- Second normal form)
Dạng chuẩn 3 (3NF- Third normal form)
Dạng chuẩn BCNF (Boyce Codd normal form)
Thuật toán tìm dạng chuẩn cao nhất của lược đồ
Mối quan hệ giữa các dạng chuẩn
44/45
16.4. Mối quan hệ giữa các dạng chuẩn
Định lý: Một lược đò ở dạng chuẩn cao khi thì cũng ở dạng chuẩn thấp, tuy nhiên điều ngược lại có thể đúng, điều này được môt tả trong hình sau:
45/45
CHUẨN HOÁ LƯỢC ĐỒ QUAN HỆ
1/45
NỘI DUNG :
Một số khái niệm liên quan
Các dạng chuẩn
Dạng chuẩn 1 (1NF- Fist normal form)
Dạng chuẩn 2 (2NF- Second normal form)
Dạng chuẩn 3 (3NF- Third normal form)
Dạng chuẩn BCNF (Boyce Codd normal form)
Thuật toán tìm dạng chuẩn cao nhất của lược đồ
Mối quan hệ giữa các dạng chuẩn
2/45
NỘI DUNG Chi tiết :
Một số khái niệm liên quan
Các dạng chuẩn
Dạng chuẩn 1 (1NF- Fist normal form)
Dạng chuẩn 2 (2NF- Second normal form)
Dạng chuẩn 3 (3NF- Third normal form)
Dạng chuẩn BCNF (Boyce Codd normal form)
Thuật toán tìm dạng chuẩn cao nhất của lược đồ
Mối quan hệ giữa các dạng chuẩn
3/45
16.1. Một số khái niệm liên quan
Chuẩn hóa:
Là quá trình tách một lược đồ quan hệ thành một tập các lược đồ con, sao cho quá trình tách là không mất thông tin và các lược đồ con là tối ưu hơn lược đồ ban đầu theo nghĩa: hạn chế dư thừa dữ liệu, thuận lợi cho các quá trình tạo lập, cập nhật và các thao tác tìm kiếm khác.
Định nghĩa về thuộc tính khóa:
Cho lược đồ quan hệ α=(U, F), thuộc tính AU được gọi là thuộc tính khóa nếu như A thuộc một trong các khóa nào đó, ngược lại A được gọi là thuộc tính không khóa.
4/45
16.1. Một số khái niệm liên quan
Định nghĩa phụ thuộc hàm đầy đủ:
Cho lược đồ quan hệ α=(U, F), X, Y, YU tập thuộc tính Y được gọi là phụ thuộc hàm đầy đủ vào tập thuộc tính X nếu như Y phụ thuộc hàm vào X nhưng không phụ thuộc hàm vào bất kỳ một tập con thực sự nào của x tức là:
- X→ Y ( Y phụ thuộc hàm vào X)
- X’ X thì X’→ Y (mọi tập con thực sự của X đều
không thể xác định hàm Y)
5/45
16.1. Một số khái niệm liên quan
Định nghĩa phụ thuộc hàm bắc cầu:
Cho lược đồ quan hệ α=(U, F), XU, AU, thuộc tính A được gọi là phụ thuộc hàm bắc cầu vào tập thuộc tính X nếu như Y X để:
- X → Y
- Y → A
- Y → X
- A XY
Nêú X → Y và Y không phụ thuộc bắc cầu vào X thì Y phụ thuộc hàm trực tiếp vào X
6/45
NỘI DUNG Chi tiết :
Một số khái niệm liên quan
Các dạng chuẩn
Dạng chuẩn 1 (1NF- Fist normal form)
Dạng chuẩn 2 (2NF- Second normal form)
Dạng chuẩn 3 (3NF- Third normal form)
Dạng chuẩn BCNF (Boyce Codd normal form)
Thuật toán tìm dạng chuẩn cao nhất của lược đồ
Mối quan hệ giữa các dạng chuẩn
7/45
16.2. Các dạng chUẩn
Sự cần thiết chuẩn hóa dữ liệu:
Mục tiêu: là triệt tiêu mức cao nhất khả năng xuất hiện các dị thường thông tin khi thực hiện các phép lưu trữ.
Chẩn hóa: khảo sát danh sách các thuộc tính và áp dụng các tập quy tắc phân tích vào danh sách đó, biến đổi thành nhiều tập nhỏ hơn sao cho:
Tối thiểu việc lặp lại.
Tránh dị thường thông tin.
Xác định và giải quyết được sự không rõ ràng, nhập nhằng trong suy diễn.
8/45
16.2. Các dạng chUẩn
Quá trình chuẩn hóa:
Là quá trình tách lược đồ quan hệ về một nhóm tương đương các lược đồ quan hệ chiếu sao cho khi kết nối tự nhiên không làm tổn thất thông tin và bảo toàn được các phụ thuộc hàm.
Cơ sở chuẩn hóa:
Dựa trên các khái niệm về phụ thuộc hàm, phụ thuộc hàm đầy đủ, khóa, các thuộc tính không khóa…
9/45
16.2. Các dạng chUẩn
Ví dụ:
Lược đồ quan hệ QLCAP( TC#, GTR, MC#, N#, NXS)
Trong đó: TC# : Mã tuyến cáp GTR : Giá trị của cáp
NSX : Nước sản xuất MC# : Mã cáp
N# : Mã nước sản xuất
Ngữ nghĩa dữ liệu như sau:
Trong một tuyến cáp, giá trị của một loại cáp được xác định duy nhất.
Mỗi mã cáp xác định mã nước sản xuất cáp.
Mã nước xác định tên nước sản xuất.
10/45
16.2. Các dạng chUẩn
Hình 16.1: Sơ đồ các phụ thuộc hàm trong lược đồ quan hệ QLCAP
GTR
MC#
TC#
NSX
N#
Ví dụ:
11/45
16.2. Các dạng chUẩn
Bảng 16.1: Một thể hiện của lược đồ quan hệ QLCAP
12/45
NỘI DUNG Chi tiết :
Một số khái niệm liên quan
Các dạng chuẩn
Dạng chuẩn 1 (1NF- Fist normal form)
Dạng chuẩn 2 (2NF- Second normal form)
Dạng chuẩn 3 (3NF- Third normal form)
Dạng chuẩn BCNF (Boyce Codd normal form)
Thuật toán tìm dạng chuẩn cao nhất của lược đồ
Mối quan hệ giữa các dạng chuẩn
13/45
16.2.1. dạng chUẩn 1
(1NF-fist normal form)
Định nghĩa:
Một lược đồ quan hệ α=(U, F) được gọi là ở dạng chuẩn một ( 1NF) nếu và chỉ nếu tất cả miền giá trị của các thuộc tính của R đều nguyên tố (không thể phân chia được)
Ví dụ:
Xét quan hệ S(S#, PRO), thấy rằng thuộc tính PRO chứa các giá trị không nguyên tố. Vì vậy quan hệ này không phải là quan hệ dạng chuẩn 1NF.
14/45
16.2.1. dạng chUẩn 1
(1NF-fist normal form)
Ví dụ:
Bảng 16.2: Một ví dụ quan hệ không 1NF.
15/45
NỘI DUNG Chi tiết :
Một số khái niệm liên quan
Các dạng chuẩn
Dạng chuẩn 1 (1NF- Fist normal form)
Dạng chuẩn 2 (2NF- Second normal form)
Dạng chuẩn 3 (3NF- Third normal form)
Dạng chuẩn BCNF (Boyce Codd normal form)
Thuật toán tìm dạng chuẩn cao nhất của lược đồ
Mối quan hệ giữa các dạng chuẩn
16/45
16.2.2. dạng chUẩn 2
(2NF-Second normal form)
Trước khi nghiên cứu dạng chuẩn thứ 2, ta xét ví dụ sau đây:
Xét CSDL gồm 2 lược đồ quan hệ THI (MONTHI, GIAOVIEN) và SINHVIEN ( MONTHI, MSSV, TEN, TUOI, DCHI, DIEM) phản ánh thông tin về kết quả thi của một đơn vị nào đó. Trong quan hệ THI thì MONTHI là khóa và trong quan hệ SINHVIEN thì MONTHI và MSSV là khóa. Ở quan hệ thứ hai dễ nhận thấy rằng MONTHI, MSSV, DIEM xác định kết quả thi của sinh viên còn MSSV, TEN, TUOI, DCHI xác định đối tượng dự thi.
17/45
16.2.2. dạng chUẩn 2
(2NF-Second normal form)
Xét các hiện hành của 2 lược đồ quan hệ THI và SINHVIEN như sau:
THI
18/45
16.2.2. dạng chUẩn 2
(2NF-Second normal form)
SINHVIEN
19/45
16.2.2. dạng chUẩn 2
(2NF-Second normal form)
Trong quá trình cập nhật, truy suất dữ liệu xuất hiện các vấn đề sau:
Dư thừa dữ liệu
Phép thay đổi
Phép chèn
Phép loại bỏ
20/45
16.2.2. dạng chUẩn 2
(2NF-Second normal form)
Định nghĩa:
Cho lược đồ quan hệ α=(U, F), lược đồ α được gọi là ở dạng chuẩn 2( ký hiệu là 2 NF) nếu như lược đồ ở dạng chuẩn 1 NF và các thuộc tình không khóa của α là phụ thuộc đầy đủ vào khóa chính.
Thuật toán kiểm tra lược đồ có ở dạng chuẩn 2NF hay không?
Input: Lược đồ quan hệ α =( U, F)
Output: Khẳng định α có đạt dạng chuẩn 2NF hay không
21/45
16.2.2. dạng chUẩn 2
(2NF-Second normal form)
Thuật toán 1:
Thuật toán kiểm tra dạng chuẩn 2NF
Vào: Lược đồ quan hệ Q, tập phụ thuộc hàm F
Ra: Khẳng định Q cóa đạt dạng chuẩn 2NF hay không
Bước 1: Tìm tất cả các khóa của Q
Bước 2: Với tất cả các khóa K, tìm bao đóng của tất cả các tập con thật sự S của K.
Bước 3: Nếu có bao đóng S+ chứa thuộc tính không khóa thì Q không đạt chẩn 2NF ngược lại Q đạt được dạng chuẩn 2NF.
22/45
16.2.2. dạng chUẩn 2
(2NF-Second normal form)
Ví dụ:
Cho lược đồ quan hệ Q(A, B, C, D) và tập phụ thuộc hàm: F={AB→C, B→D, BC→A } . Hỏi Q có đạt chuẩn 2NF hay không?
Giải:
I =Q ( Ri -Li )=ABCD (CDA)=B. I Q
N={ ( Ri -Li ) sao cho Li I }=D
N’=(I N)+ I =(BD)+ B = D (N’ N )
N’’= Ri - Li =ACD ABC=D
N=NN’N’’=D
B=Q N I=ABCD D B=AC
Vì B=2 => có hai khóa BA và BC
23/45
16.2.2. dạng chUẩn 2
(2NF-Second normal form)
I ={ B}, B={AC}
Khóa là K=AB và K=BC. Ta thấy B K, B→D, D là thuộc tính không khóa => thuộc tính không khóa không phụ thuộc đầy đủ vào khóa .
=> Q không đạt chuẩn 2NF.
24/45
16.2.2. dạng chUẩn 2
(2NF-Second normal form)
Thuật Toán 2:
Bước 1: Tìm tất cả các khóa của lược đồ α, từ tất cả các khóa này ta suy ra các thuộc tính không khóa của lược đồ α. Ký hiệu tập thuộc tính không khóa này là NK.
Bước 2: Với mỗi khóa Ki, ký hiệu họ của các tập con thực sự của Ki là { S1, S2, …, Ski }, ký hiệu Q={ Q1, Q2, …, Qn } là họ tất cả các tập con thực sự của khóa Ki.
Bước 3: Tìm bao đóng Q+ ={ Q1+, Q2+, …, Qn+ }
Bước 4: Nếu Q+ NK= với mọi i=1…n thì lược đồ α ở dạng chuẩn 2NF ngược lại tồn tại Q+ NK thì lược đồ α không ở dạng chuẩn 2NF.
25/45
NỘI DUNG Chi tiết :
Một số khái niệm liên quan
Các dạng chuẩn
Dạng chuẩn 1 (1NF- Fist normal form)
Dạng chuẩn 2 (2NF- Second normal form)
Dạng chuẩn 3 (3NF- Third normal form)
Dạng chuẩn BCNF (Boyce Codd normal form)
Thuật toán tìm dạng chuẩn cao nhất của lược đồ
Mối quan hệ giữa các dạng chuẩn
26/45
16.2.3. dạng chUẩn 3
(3NF-THiRD normal form)
Định nghĩa 1:
Cho lược đồ quan hệ α= ( U, F), lược đồ α được gọi là ở dạng chuẩn 3 ( ký hiệu là 3 NF), nếu như lược đồ ở dạng chuản 2NF và các thuộc tính không khóa của α là không phụ thuộc hàm bắc cầu vào khóa chính.
Định nghĩa 2:
Cho lược đồ quan hệ α =( U, F), lược đồ α được gọi là ở dạng chuẩn 3, ký hiệu là 3NF, nếu như mọi phụ thuộc hàm X→ A F+ với A X thì:
- Hoặc X là siêu khóa.
- Hoặc A là thuộc tính khóa.
27/45
16.2.3. dạng chUẩn 3
(3NF-THiRD normal form)
Nhận xét:
Lược đồ quan hệ α =( U, F), với F là tập các phụ thuộc hàm có vế phải chỉ gồm một thuộc tính. Khi đó lược đồ α ở dạng chuẩn 3NF khi và chỉ khi mọi phụ thuộc hàm X→A F với A X đều có :
- Hoặc X là siêu khóa.
- Hoặc A là thuộc tính khóa.
28/45
16.2.3. dạng chUẩn 3
(3NF-THiRD normal form)
Thuật toán kiểm tra lược đồ có ở dạng chuẩn 3NF hay không?
Từ định nghĩa về dạng chuẩn 3NF trên ta có thuật toán kiểm tra xem một lược đồ có ở dạng chuẩn 3NF hay không như sau:
Input: Lược đồ quan hệ α =( U, F)
Output: Khẳng định α có đạt dạng chuẩn 3NF hay không
29/45
16.2.3. dạng chUẩn 3
(3NF-THiRD normal form)
Thuật toán 1:
Thuật toán kiểm tra dạng chuẩn BCNF
Vào: Lược đồ quan hệ Q, tập phụ thuộc hàm F
Ra: Khẳng định Q có đạt dạng chuẩn 3NF hay không
Bước 1: Tìm tất cả khóa của Q.
Bước 2: Từ F tạo tập phụ thuộc hàm tương đương FItt có vế phải một thuộc tính.
Bước 3: Nếu mọi phụ thuộc hàm X→ A FItt với A X đều có X là siêu khóa hoặc A là một thuộc tính khóa thì Q đạt chẩn 3 ngược lại Q không đạt chuẩn 3.
30/45
16.2.3. dạng chUẩn 3
(3NF-THiRD normal form)
Ví dụ:
Cho lược đồ quan hệ Q(A, B, C, D) F={ AB→C; D→B; C→ABD } Hỏi lược đồ có ở dạng chuẩn 3NF?
Giải:
I =Q ( Ri -Li )=ABCD ABCD= , I Q
N={ ( Ri -Li ) sao cho Li I }=
N’=(I N)+ I = (N’ N )
N’’= Ri - Li =ABCD ABCD=
N=NN’N’’=
B=Q N I=ABCD =ABCD
Vì B=4>2
=> I ={}, B={ABCD}
31/45
16.2.3. dạng chUẩn 3
(3NF-THiRD normal form)
K1= { AB };K2= { AD }; K3= { C } là khóa
=> mọi phụ thuộc hàm X→AF đều có A là thuộc tính khóa.
Vậy Q đạt chuẩn 3NF.
32/45
16.2.3. dạng chUẩn 3
(3NF-THiRD normal form)
Thuật toán 2:
Bước 1: Tìm tất cả khóa của lược đồ α.
Bước 2: Từ F tìm tập phụ thuộc hàm tương đương F’, mà vế phải của các phụ thuộc hàm trong F’ chỉ có một thuộc tính.
Bước 3: Nếu mọi phụ thuộc hàm X→AF’ với AX đều có X là siêu khóa hoặc A là thuộc tính khóa thì α đạt chuẩn 3NF ngược lại α không đạt chuẩn 3NF.
33/45
NỘI DUNG Chi tiết :
Một số khái niệm liên quan
Các dạng chuẩn
Dạng chuẩn 1 (1NF- Fist normal form)
Dạng chuẩn 2 (2NF- Second normal form)
Dạng chuẩn 3 (3NF- Third normal form)
Dạng chuẩn BCNF (Boyce Codd normal form)
Thuật toán tìm dạng chuẩn cao nhất của lược đồ
Mối quan hệ giữa các dạng chuẩn
34/45
16.2.4. dạng chUẩn BCNF
(Boyce Codd normal form)
Định nghĩa 1:
Cho lược đồ quan hệ α= ( U, F), lược đồ α được gọi là ở dạng chuẩn Boyce Codd, ký hiệu là BCNF, nếu như lược đồ ở dạng chuẩn 1NF và nếu X→AF+ (AX) thì X phải là siêu khóa của lược đồ.
Định ngĩa 2:
Cho lược đồ quan hệ α= ( U, F), lược đồ α được gọi là ở dạng chuẩn Boyce Codd, ký hiệu là BCNF, nếu như lược đồ ở dạng chuẩn 1NF và nếu X→AF là phụ thuộc hàm không tầm thường (Y X) thì X phải là siêu khóa của lược đồ.
35/45
16.2.4. dạng chUẩn BCNF
(Boyce Codd normal form)
Thuật toán kiểm tra lược đồ ở dạng chuẩn BCNF hay không?
Từ định nghĩa về dạng chuẩn BCNF trên ta có thuật toán kiểm tra xem một lược đồ có ở dạng chuẩn BCNF hay không như sau:
Input: Lược đồ quan hệ α =( U, F)
Output: Khẳng định α có đạt dạng chuẩn BCNF hay không
36/45
16.2.4. dạng chUẩn BCNF
(Boyce Codd normal form)
Thuật toán 1:
Thuật toán kiểm tra dạng chuẩn BCNF
Vào: Lược đồ quan hệ Q, tập phụ thuộc hàm F
Ra: Khẳng định Q có đạt dạng chuẩn 3NF hay không
Bước 1: Tìm tất cả khóa của Q.
Bước 2: Từ F tạo tập phụ thuộc hàm tương đương FItt có vế phải một thuộc tính.
Bước 3: Nếu mọi phụ thuộc hàm X→ A FItt với A X đều có X là siêu khóa thì Q đạt chẩn BCNF ngược lại Q không đạt chuẩn BCNF.
37/45
16.2.4. dạng chUẩn BCNF
(Boyce Codd normal form)
Ví dụ:
Q (A, B, C, D, E, I) F={ACD→EBI; CE→AD }. Hỏi Q có đạt chuẩn BCNF hay không?
Giải:
I =Q ( Ri -Li )=ABCDEI (EBIAD)=C => I Q
N={ ( Ri -Li ) sao cho Li I } =
N’=(I N)+ I = (N’ N )
N’’= Ri - Li =ABDEI ACDE=BI
N=NN’N’’=BI
B=Q N’ I=ABCDEI BI C=ADE
Vì B=3>2 => I ={ C}, B={ADE}
38/45
16.2.4. dạng chUẩn BCNF
(Boyce Codd normal form)
F =FItt={ ACD→E, ACD→B, ACD→I, CE→A, CE→D} Mọi phụ thuộc hàm của FItt đều có vế trái là siêu khóa
=> Q đạt dạng chuẩn BCNF.
39/45
16.2.4. dạng chUẩn BCNF
(Boyce Codd normal form)
Thuật tán 2:
Bước 1: Từ F tìm tập phụ thuộc hàm tương đương F’, mà vế phải của các phụ thuộc hàm trong F’ chỉ có một thuộc tính.
Bước 2: Nếu mọi phụ thuộc hàm X→AF+ với AX đều có X là siêu khóa thì α đạt chẩn BCNF ngược lại α không đạt chuẩn BCNF.
40/45
NỘI DUNG Chi tiết :
Một số khái niệm liên quan
Các dạng chuẩn
Dạng chuẩn 1 (1NF- Fist normal form)
Dạng chuẩn 2 (2NF- Second normal form)
Dạng chuẩn 3 (3NF- Third normal form)
Dạng chuẩn BCNF (Boyce Codd normal form)
Thuật toán tìm dạng chuẩn cao nhất của lược đồ
Mối quan hệ giữa các dạng chuẩn
41/45
16.2. Thuật toán tìm dạng chuẩn cao nhất của lược đồ
Cho lược đồ quan hệ α =( U, F), hãy tìm dạng chuẩn cao nhất của lược đồ α.
Input: Lược đồ quan hệ α =( U, F) ( ở đây ta giả thiết rằng lược đồ α đã được chuẩn hóa, tức là đã ở dạng chuẩn 1).
Output: Dạng chuẩn cao nhất của lược đồ α.
Thuật toán:
Bước 1: Tìm tất cả các khóa của lược đồ α.
Bước 2: Sử dụng thuật toán kiểm tra lược đồ ở dạng chuẩn BCNF, nếu lược đồ ở dạng BCNF thì dừng thuật toán và kết luận dạng chuẩn cao nhất của lược đồ là BCNF, ngược lại thì chuyển qua bước tiếp theo.
42/45
16.2. Thuật toán tìm dạng chuẩn cao nhất của lược đồ
Thuật toán:
Bước 3: Sử dụng thuật toán kiểm tra lược đồ ở dạng chuẩn 3NF, nếu lược đồ ở dạng 3NF thì dừng thuật toán và kết luận dạng chuẩn cao nhất của lược đồ là 3NF, ngược lại thì chuyển qua bước tiếp theo.
Bước 4: Sử dụng thuật toán kiểm tra lược đồ ở dạng chuẩn 2NF, nếu lược đồ ở dạng 2NF thì dừng thuật toán và kết luận dạng chuẩn cao nhất của lược đồ là 3NF, ngược lại thì lược đồ ở dạng chuẩn 1NF.
43/45
NỘI DUNG Chi tiết :
Một số khái niệm liên quan
Các dạng chuẩn
Dạng chuẩn 1 (1NF- Fist normal form)
Dạng chuẩn 2 (2NF- Second normal form)
Dạng chuẩn 3 (3NF- Third normal form)
Dạng chuẩn BCNF (Boyce Codd normal form)
Thuật toán tìm dạng chuẩn cao nhất của lược đồ
Mối quan hệ giữa các dạng chuẩn
44/45
16.4. Mối quan hệ giữa các dạng chuẩn
Định lý: Một lược đò ở dạng chuẩn cao khi thì cũng ở dạng chuẩn thấp, tuy nhiên điều ngược lại có thể đúng, điều này được môt tả trong hình sau:
45/45
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Trần Thị Như Trang
Dung lượng: |
Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)