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 qu[r]
(1)BÀI 16:
CHUẨN HOÁ LƯỢC ĐỒ QUAN HỆ
(2)NỘI DUNG :
Một số khái niệm liên quan Các dạng chuẩn
Dạng chuẩn (1NF- Fist normal form)
Dạng chuẩn (2NF- Second normal form) Dạng chuẩn (3NF- Third normal form)
(3)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 (1NF- Fist normal form)
Dạng chuẩn (2NF- Second normal form) Dạng chuẩn (3NF- Third normal form)
(4)16.1 MỘT SỐ KHÁI NIỆM LIÊN QUAN
Chuẩn hóa:
Là trình tách lược đồ quan hệ thành tập lược đồ con, cho q trình tách khơng thơng tin và lược đồ tối ưu lược đồ ban đầu theo nghĩa: hạn chế dư thừa liệu, thuận lợi cho trình tạo lập, cập nhật thao tác tìm kiếm khác
Định nghĩa thuộc tính khóa:
Cho lược đồ quan hệ α=(U, F), thuộc tính AU gọi
thuộc tính khóa A thuộc khóa đó, ngược lại A gọi thuộc tính khơng khóa.
(5)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 gọi phụ thuộc hàm đầy đủ vào tập thuộc tính X Y phụ thuộc hàm vào X không phụ thuộc hàm vào tập thực x tức là:
- X→ Y ( Y phụ thuộc hàm vào X)
- X’ X X’→ Y (mọi tập thực X đều
(6)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 gọi phụ thuộc hàm bắc cầu vào tập thuộc tính X Y X để:
- X → Y - Y → A - Y → X
- A XY
Nêú X → Y Y không phụ thuộc bắc cầu vào X Y phụ thuộc hàm trực tiếp vào X
(7)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 (1NF- Fist normal form)
Dạng chuẩn (2NF- Second normal form) Dạng chuẩn (3NF- Third normal form)
(8)16.2 CÁC DẠNG CHUẨN Sự cần thiết chuẩn hóa liệu:
• Mục tiêu: triệt tiêu mức cao khả xuất dị thường
thông tin thực phép lưu trữ.
• Chẩn hóa: khảo sát danh sách thuộc tính áp dụng tập quy tắc
phân tích vào danh sách đó, biến đổi thành nhiều tập nhỏ cho: Tối thiểu việc lặp lại.
Tránh dị thường thông tin.
(9)16.2 CÁC DẠNG CHUẨN
Q trình chuẩn hóa:
Là q trình tách lược đồ quan hệ nhóm tương
đương lược đồ quan hệ chiếu cho kết nối tự nhiên không làm tổn thất thơng tin bảo tồn phụ thuộc hàm.
Cơ sở chuẩn hóa:
(10)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áp NSX : Nước sản xuất MC# : Mã cáp
N# : Mã nước sản xuất Ngữ nghĩa liệu sau:
Trong tuyến cáp, giá trị loại cáp xác định duy nhất.
(11)16.2 CÁC DẠNG CHUẨN
Hình 16.1: Sơ đồ phụ thuộc hàm lược đồ quan hệ QLCAP
GTR GTR
MC# MC# TC# TC#
NSX NSX
N# N#
(12)16.2 CÁC DẠNG CHUẨN
TC# GTR MC# N# NSX
T01 200 C01 HAQ Hàn Quốc T01 250 C02 HAQ Hàn Quốc T01 220 C03 VTC Việt Nam T02 500 C01 HAQ Hàn Quốc T02 400 C04 JAN Nhật Bản
T03 100 C05 RUS Nga
T04 400 C06 CHN Trung Quốc T04 450 C03 VTN Việt Nam
(13)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 (1NF- Fist normal form)
Dạng chuẩn (2NF- Second normal form) Dạng chuẩn (3NF- Third normal form)
(14)16.2.1 DẠNG CHUẨN 1
(1NF-FIST NORMAL FORM)
Định nghĩa:
Một lược đồ quan hệ α=(U, F) gọi dạng chuẩn ( 1NF) nếu tất miền giá trị thuộc tính R nguyên tố (không thể phân chia được)
Ví dụ:
(15)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.
S# PRO
P# QTY
S1 100
200
300
S2 100
200
S3 300
(16)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 (1NF- Fist normal form)
Dạng chuẩn (2NF- Second normal form)
Dạng chuẩn (3NF- Third normal form)
(17)16.2.2 DẠNG CHUẨN 2
(2NF-SECOND NORMAL FORM)
Trước nghiên cứu dạng chuẩn thứ 2, ta xét ví dụ sau đây: Xét CSDL gồm lược đồ quan hệ THI (MONTHI,
GIAOVIEN) SINHVIEN ( MONTHI, MSSV, TEN,
TUOI, DCHI, DIEM) phản ánh thông tin kết thi một đơn vị Trong quan hệ THI MONTHI khóa quan hệ SINHVIEN MONTHI MSSV khóa Ở quan hệ thứ hai dễ nhận thấy MONTHI, MSSV,
(18)16.2.2 DẠNG CHUẨN 2
(2NF-SECOND NORMAL FORM)
Xét hành lược đồ quan hệ THI SINHVIEN như sau:
THI
MONTHI GIAOVIEN
Toán T.Trợ
Lý T.Công
(19)16.2.2 DẠNG CHUẨN 2
(2NF-SECOND NORMAL FORM) SINHVIEN
MONTHI MSSV TEN TUOI DCHI DIEM
Toán 11 Lan 20 HN 8.0
Toán 12 Hue 21 HY 7.5
Hóa 11 Lan 20 HN 7.0
Hóa 12 Hue 21 HY 6.0
Lý 11 Lan 20 HN 5.0
(20)16.2.2 DẠNG CHUẨN 2
(2NF-SECOND NORMAL FORM)
Trong trình cập nhật, truy suất liệu xuất vấn đề sau:
Dư thừa liệu Phép thay đổi Phép chèn
(21)16.2.2 DẠNG CHUẨN 2
(2NF-SECOND NORMAL FORM) Định nghĩa:
Cho lược đồ quan hệ α=(U, F), lược đồ α gọi dạng chuẩn 2( ký hiệu NF) lược đồ dạng chuẩn NF thuộc tình khơng khóa α phụ thuộc đầy đủ vào khóa chính.
Thuật tốn kiểm tra lược đồ có dạng chuẩn 2NF hay không?
Input: Lược đồ quan hệ α =( U, F)
(22)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 khóa Q
Bước 2: Với tất khóa K, tìm bao đóng tất tập thật S K.
Bước 3: Nếu có bao đóng S+ chứa thuộc tính khơng khóa
(23)16.2.2 DẠNG CHUẨN 2
(2NF-SECOND NORMAL FORM)
Ví dụ:
Cho lược đồ quan hệ Q(A, B, C, D) 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 ) 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
(24)16.2.2 DẠNG CHUẨN 2
(2NF-SECOND NORMAL FORM) I ={ B}, B={AC}
Khóa K =AB K =BC Ta thấy B K , B→D, D 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.
X (I X ) (I X ) + Siêu khóa Khóa
B BD
A AB ABCD AB AB
C BC ABCD ABCD BC
(25)16.2.2 DẠNG CHUẨN 2
(2NF-SECOND NORMAL FORM) Thuật Toán 2:
Bước 1: Tìm tất khóa lược đồ α, từ tất khóa này ta suy thuộc tính khơng khóa lược đồ α Ký hiệu tập thuộc tính khơng khóa NK.
Bước 2: Với khóa Ki, ký hiệu họ tập thực
của Ki là{ S1, S2, …, Ski }, ký hiệu Q={ Q1, Q2, …, Qn } họ tất tập thực khóa Ki.
Bước 3: Tìm bao đóng Q+ ={ Q1+,Q2+, …, Qn+ }
Bước 4: Nếu Q+ NK= với i=1…n lược đồ α dạng
chuẩn 2NF ngược lại tồn Q+ NK lược đồ α không
(26)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 (1NF- Fist normal form)
Dạng chuẩn (2NF- Second normal form)
Dạng chuẩn (3NF- Third normal form)
(27)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 đồ α gọi dạng chuẩn ( ký hiệu NF), lược đồ dạng
chuản 2NF thuộc tính khơng khóa α 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 đồ α gọi dạng chuẩn 3, ký hiệu 3NF, phụ thuộc hàm X→ A F+ với A X thì:
- Hoặc X siêu khóa.
(28)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 tập phụ thuộc hàm có vế phải gồm thuộc tính Khi lược đồ α dạng chuẩn 3NF phụ thuộc hàm X→A F với
A X có :
- Hoặc X siêu khóa.
(29)16.2.3 DẠNG CHUẨN 3
(3NF-THIRD NORMAL FORM)
Thuật tốn kiểm tra lược đồ có dạng chuẩn 3NF hay không?
Từ định nghĩa dạng chuẩn 3NF ta có thuật tốn kiểm tra xem lược đồ có dạng chuẩn 3NF hay không như sau:
Input: Lược đồ quan hệ α =( U, F)
(30)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 khóa Q.
Bước 2: Từ F tạo tập phụ thuộc hàm tương đương FItt có vế
phải thuộc tính.
Bước 3: Nếu phụ thuộc hàm X→ A FItt với A X
(31)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 ) cho Li I }=
N’=(I N)+ \ I = (N’ N )
N’’= Ri - Li =ABCD \ ABCD= N=NN’N’’=
B=Q \ N \ I=ABCD \ \ =ABCD
(32)16.2.3 DẠNG CHUẨN 3
(3NF-THIRD NORMAL FORM)
K1= { AB };K2= { AD };
K3= { C } khóa
=> phụ thuộc hàm
X→AF có A
thuộc tính khóa
Vậy Q đạt chuẩn 3NF.
X (I X ) (I X ) + Siêu khóa Khóa
A A A
B B B
C C ABCD C C
D D BD
AB AB ABCD AB AB AC AC ABCD AC
AD AD ABCD AD AD BC BC ABCD BC
BD BD BD
(33)16.2.3 DẠNG CHUẨN 3
(3NF-THIRD NORMAL FORM)
Thuật tốn 2:
Bước 1: Tìm tất khó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 phụ thuộc hàm F’ có thuộc tính. Bước 3: Nếu phụ thuộc hàm X→AF’ với AX có
(34)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 (1NF- Fist normal form)
Dạng chuẩn (2NF- Second normal form) Dạng chuẩn (3NF- Third normal form)
Dạng chuẩn BCNF (Boyce Codd normal form)
(35)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 đồ α gọi
dạng chuẩn Boyce Codd, ký hiệu BCNF, lược đồ ở dạng chuẩn 1NF X→AF+ (AX) X phải siêu khóa lược đồ.
Định ngĩa 2:
Cho lược đồ quan hệ α= ( U, F), lược đồ α gọi
dạng chuẩn Boyce Codd, ký hiệu BCNF, lược đồ ở dạng chuẩn 1NF X→AFlà phụ thuộc hàm không
(36)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 dạng chuẩn BCNF ta có thuật tốn
kiểm tra xem lược đồ có dạng chuẩn BCNF hay không như sau:
Input: Lược đồ quan hệ α =( U, F)
(37)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 khóa Q.
Bước 2: Từ F tạo tập phụ thuộc hàm tương đương FItt có vế phải thuộc tính.
(38)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 ) 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
(39)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 FItt có vế trái siêu khóa
X (I X ) (I X ) + Siêu khóa Khóa
C C
A AC AC
D CD CD
E CE ABCDEI CE CE
AD ACD ABCDEI ACD ACD
AE ACE ABCDEI ACE
DE CDE ABCDEI CDE
(40)16.2.4 DẠNG CHUẨN BCNF
(BOYCE CODD NORMAL FORM)
Thuật tán 2:
(41)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 (1NF- Fist normal form)
Dạng chuẩn (2NF- Second normal form) Dạng chuẩn (3NF- Third normal form)
Dạng chuẩn BCNF (Boyce Codd normal form) Thuật tốn tìm dạng chuẩn cao lược đồ
(42)16.2 THUẬT TỐN TÌM DẠNG CHUẨN CAO NHẤT CỦA LƯỢC ĐỒ
Cho lược đồ quan hệ α =( U, F), tìm dạng chuẩn cao của lược đồ α.
Input: Lược đồ quan hệ α =( U, F) ( ta giả thiết lược đồ α chuẩn hóa, tức dạng chuẩn 1). Output: Dạng chuẩn cao lược đồ α.
Thuật tốn:
Bước 1: Tìm tất khóa lược đồ α.
(43)16.2 THUẬT TỐ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, lược đồ dạng 3NF dừng thuật toán kết luận dạng chuẩn cao lược đồ 3NF, ngược lại
chuyển qua bước tiếp theo.
(44)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 (1NF- Fist normal form)
Dạng chuẩn (2NF- Second normal form) Dạng chuẩn (3NF- Third normal form)
Dạng chuẩn BCNF (Boyce Codd normal form) Thuật tốn tìm dạng chuẩn cao lược đồ
(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 dạng chuẩn thấp, nhiên điều ngược lại đúng, điều được mơt tả hình sau: