nó đảm bảo rằng từng phụ thuộc hàm sẽ được biểu hiện trong các quan hệ riêng rẽ nhận được sau khi tách.. Dạng chuẩn 3[r]
(1)Chương
(2)Nội dung chi tiết
Giới hạn ER
Sự dư thừa
Phụ thuộc hàm
Hệ suy diễn Amstrong
Thuật tốn tìm bao đóng X+ F Tìm phủ tối thiểu
(3)Giới hạn lược đồ ER
Cung cấp tập hướng dẫn không đưa tới lược đồ CSDL
Không đưa cách đánh giá lược đồ khác
(4)Sự dư thừa
Sự phụ thuộc thuộc tính gây dư thừa
- Ví dụ:
Điểm môn học Điểm trung bình xếp loại Địa zip code
TENPHG MAPHG TRPHG NG_NHANCHUC
Nghien cuu 333445555 05/22/1988 Dieu hanh 987987987 01/01/1995 Quan ly 888665555 06/19/1981
TENNV HONV
Tung Nguyen Hung Nguyen 333445555
987987987 888665555
MANV
Vinh Pham
… …
(5)Sự dư thừa (tt)
Thuộc tính đa trị lược đồ ER nhiều số liệu lược đồ quan hệ
Ví dụ:
NHANVIEN(TENNV, HONV, NS,DCHI,GT,LUONG, BANGCAP)
TENNV HONV NS DCHI GT LUONG BANGCAP
Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000
(6)Sự dư thừa (tt)
Sự dư thừa dị thường
- Thao tác sửa đổi: cập nhật tất giá trị liên quan
- Thao tác xóa: người cuối đơn vị thông tin đơn vị
- Thao tác chèn
TENPHG MAPHG TRPHG NG_NHANCHUC
Nghien cuu 333445555 05/22/1988 Dieu hanh 987987987 01/01/1995 Quan ly 888665555 06/19/1981
TENNV HONV
Tung Nguyen Hung Nguyen 333445555
987987987 888665555
MANV
Vinh Pham
… …
(7)Sự dư thừa (tt)
Các giá trị không xác định
- Đặt thuộc tính Trưởng phịng vào quan hệ NHANVIEN
thay vào quan hệ PHONGBAN
Các giả
(8)Sự dư thừa (tt)
Một số nguyên tắc
- NT1: Rõ ràng mặt ngữ nghĩa, tránh phụ thuộc
các thuộc tính với
- NT2: Tránh trùng lặp nội dung đảm bảo tránh dị thường thao tác cập nhật liệu
Phải có số thao tác thêm cập nhật vào lược đồ quan hệ, gây sai hỏng trường hợp xóa bỏ
- NT3: Tránh đặt thuộc tính có nhiều giá trị Null
Khó thực phép nối kết hợp
(9)Phụ thuộc hàm
Lý thuyết chuẩn hóa
- Các phân tích để đưa lược đồ thực thể liên kết cần phải sửa chữa bước
- Vấn đề nêu slide giải có
phương pháp phân tích thích hợp
(10)Phụ thuộc hàm (tt)
ĐN 1: Phụ thuộc hàm (FD-function dependancy) lược đồ quan hệ R ràng buộc XY, với X Y tập thuộc tính R
ĐN 2: (XY) với thể r lược đồ quan hệ R: với t s r t[X]= s[X] t[Y]=s[Y]
Ví dụ: Ràng buộc liệu trường hợp đặc biệt phụ thuộc hàm
(11)Phụ thuộc hàm (tt)
Ví dụ
- Ngày sinh Tuổi - Tuổi Quyền lợi - MaNV Tên NV
(12)Phụ thuộc hàm (tt)
Ví dụ:
- Ta có lược đồ quan hệ
MUON( SoTHE, MaSACH, NGUOIMuon, TenSACH, THOIGIAN)
- Với phụ thuộc hàm: SoTHE NGUOIMuon MaSACH TenSACH
SoTHE, MaSACH THOIGIAN
- Có sơ đồ phụ thuộc hàm sau:
(13)Phụ thuộc hàm (tt)
ĐN bao đóng: Nếu F tập FD lược đồ R
và f FD khác R, F coi bao f với thể r R thỏa mãn FD F thỏa mãn f
- Ví dụ F={AB, BC} f={AC}
- F={ĐToan, DLy, DHoaDTB, DTBXepHang},
f={DT,DL,DHXepHang}
Bao đóng tập F(Ký hiệu F+) tập FD
suy diễn từ F
(14)Phụ thuộc hàm (tt)
Ký hiệu F |= X Y: phụ thuộc hàm X Y suy diễn từ tập phụ thuộc hàm F
QT1 (quy tắc phản xạ) : Nếu X Y X Y
QT2 (quy tắc tăng) : { X Y } |= XZ YZ
QT3 (quy tắc bắc cầu) : { X Y, Y Z } |= X Z
QT4 (quy tắc chiếu) : { XYZ } |= X Y X Z
QT5 (quy tắc hợp) : { X Y , X Z } |= X YZ
(15)Hệ suy diễn Amstrong
Quy tắc suy diễn Amstrong đưa cách thức để tính tốn kiểm tra thuộc tính tập FD
Bao gồm quy tắc 1-3(phản xạ, tăng, bắc cầu)
- QT1 (quy tắc phản xạ) :
TenNV, DChi TenNV - QT2 (quy tắc tăng) :
MaNVTenNV MaNV, NSTenNV, NS
- QT3 (quy tắc bắc cầu) : { X Y, Y Z } |= X Y
(16)Hệ suy diễn Amstrong (tt)
Hệ Ams đúng: FD f:XY suy diễn từ tập FD F sử dụng quy tắc suy diễn f nằm quan hệ mà thỏa mãn tất FD F
Ví dụ Cho biết XY XZ
XXY (quy tắc tăng theo X)
YXYZ (quy tắc tăng theo Y)
XYZ (bắc cầu)
(17)Hệ suy diễn Amstrong (tt)
Hệ Ams đầy đủ: Nếu F bao f, f suy diễn từ F sử dụng hệ quy tắc suy diễn
Kết rút từ tính đầy đủ
có thuật tốn để xác định xem F có bao f hay khơng
- Bản chất thuật tốn sử dụng hệ suy diễn theo tất
(18)Hệ suy diễn Amstrong (tt)
Hệ Ams xác: Khái niệm đầy đủ liên kết thành chuỗi ý nghĩa đầy đủ tính xác hệ suy diễn Amstrong (định nghĩa thể quan hệ)
(19)Hệ suy diễn Amstrong (tt)
Tìm F+
Tất FD bao gồm ABBD, ABBCD,
(20)Thuật tốn tìm bao đóng X+ F Xác định thuộc tính đóng cách hiệu để tìm
bao đóng
Tập thuộc tính đóng tập thuộc tính (X) với điều kiện thỏa mãn tập FD (F) (ký hiệu X+
F)
tập tất thuộc tính (A) cho XA
Gọi tập thuộc tính phụ thuộc hàm vào X F
X+
F1 không thiết phải X+F2 F1<>F2
(21)Ví dụ
(22)Thuật tốn tìm bao đóng X+
F(tt)
X+ = X;
Repeat
- Old X+ = X+ ;
- Với phụ thuộc hàm Y Z F thực
X+ Y X+ = X+ Z;
until ( X+ = Old X+ );
(23)Ví dụ
Xác định bao đóng
Bài tốn: Tìm bao đóng AB với phụ thuộc hàm sau
Giải
- Khởi tạo: X+ ={AB}
- Dùng (a): X+ ={ABC}
(24)Phụ thuộc hàm tương đương
Một tập hợp phụ thuộc hàm E phủ tập phụ thuộc hàm F(hoặc F phủ E)
- phụ thuộc hàm E F+
- phụ thuộc hàm E suy diễn từ F
Hai tập phụ thuộc hàm E F tương đương E+ = F+
- Như tương đương có nghĩa phụ thuộc hàm
(25)Ví dụ
Xét hai tập phụ thuộc hàm
- F = {A C, AC D, EAD, E H }
- E = { A CD, E AH }
(26)Phụ thuộc hàm tối thiểu
Định nghĩa: tập FD gọi tối thiểu thỏa mãn điều kiện sau
- Vế phải FD F có thuộc tính
- Khơng thể thay XA YA với điều kiện Y tập X giữ tập phụ thuộc mà tương đương với F
(27)Phụ thuộc hàm tối thiểu (tt)
Thuật tốn tìm phủ tối thiểu
1. G := F;
2. Thay X {A1, A2, , An} G bằng n
phụ thuộc hàm X A1, X A2, … , X An
3. Với X A G
1 Với thuộc tính B phần tử X
1 Nếu ((G – (X A)((X {B}) A) tương đương với G
2 thay XA (X – {B})A G
4. Với phụ thuộc hàm XA lại G
(28)Ví dụ
Tìm phủ tối thiểu cho tập phụ thuộc hàm:
{A BC, B AC, C AB}
Áp dụng thuật tốn trên, có
B1: G= {A BC, B AC, C AB}
B2: G = {A B, A C, B A, B C, C A, C B}
B3:
- Do AB BC nên AC thừa Do CB BA nên CA thừa Bỏ phụ thuộc hàm thừa đi, ta có {AB, BA, BC, CB} phủ tối thiểu
(29)Thuật tốn tìm khóa
Tìm khóa K R dựa tập phụ thuộc hàm F
- Đặt K := R;
- Với thuộc tính A K
{tính (K-A)+ F;
Nếu (A)+ chứa tất thuộc tính R đặt K := K-{A}};
Cách
- Tìm siêu khóa S:
Tìm RF tập thuộc tính vế trái
Tìm bao đóng tập RF
(30)Các dạng chuẩn
Mỗi dạng chuẩn tập điều kiện lược đồ nhằm đảm bảo tính chất (liên quan tới dư thừa bất thường cập nhật)
Chuẩn hóa liệu: q trình phân tích lược đồ quan hệ dựa FD khóa để đạt
- Cực tiểu dư thừa
(31)Các dạng chuẩn (tt)
Thủ tục chuẩn hoá cung cấp
- Một cấu hình thức để phân tích lược đồ quan hệ
dựa khố các phụ thuộc hàm các thuộc tính
- Một loạt kiểm tra dạng chuẩn thực lược đồ quan hệ riêng rẽ cho sở liệu quan hệ chuẩn hố đến mức cần thiết
Tính chất
- Nối khơng mát (hoặc nối không phụ thêm)- vd:bộ giả - Bảo toàn phụ thuộc
(32)Các dạng chuẩn (tt)
Phân loại
- Boyce Codd đề nghị dạng
1NF (first normal form): tương đương với định nghĩa lược đồ quan hệ (quan hệ bộ)
2NF: ko có giá trị thực tiễn
3NF BCNF: thường sử dụng nhiều
(33)Dạng chuẩn
Đn: gọi 1NF miền giá trị thuộc tính chứa giá trị nguyên tử (đơn, ko phân chia được) giá trị thuộc tính giá trị đơn lấy từ miền giá trị
Ví dụ
PHONGBAN( MaPHG, TenPHG, DDIEM)
PHONGBAN(MaPHG, TenPHG)
DDIEM_PHG(MaPHG, DDIEM)
(34)Dạng chuẩn (tt)
Lược đồ gốc:
Table (Key1, aaa (Key2, bbb (Key3, ccc .) ) )
Để thỏa mãn 1NF thực
Table (Key1, (Key2, (Key3, ) ) )
Table1(Key1, ) TableA (Key1,Key2 (Key3, ) )
(35)Dạng chuẩn (tt)
Vấn đề tồn 1NF
Xét lược đồ
DDIEM_PHG(MaPHG, DDIEM)
- Vẫn bị lặp lại
- Ẩn chứa phụ thuộc hàm
bộ phận - DIADIEM MAPHG 5 TP HCM VUNGTAU NHATRANG HA NOI
(36)Dạng chuẩn
Phụ thuộc hàm đầy đủ: Một phụ thuộc hàm X Y phụ thuộc hàm đầy đủ loại bỏ thuộc tính A khỏi X phụ thuộc hàm khơng
∀ A, A X, (X – {A}) Y : sai
Phụ thuộc hàm phận: Một phụ thuộc hàm X Y phụ thuộc phận bỏ thuộc tính A X, khỏi X phụ thuộc hàm đúng, điều có nghĩa với
(37)Dạng chuẩn (tt)
2NF:
- Thỏa mãn 1NF
- Phụ thuộc hàm đầy đủ vào khóa
Với quan hệ có thuộc tính khóa đơn ko phải xét
(38)Dạng chuẩn (tt)
Ví dụ
NV_DA(MaNV, MaDA, Sogio, TenDA, DDiemDA)
Phụ thuộc vào MaNV, MaDA
(39)Dạng chuẩn (tt)
Ví dụ
NV_DA(MaNV, MaDA, Sogio, TenDA, DDiemDA)
Phụ thuộc vào MaNV, MaDA
Chỉ phụ thuộc vào MaDA
NV_DA(MaNV, MaDA, Sogio)
(40)Dạng chuẩn
3NF dựa khái niệm phụ thuộc bắc cầu
ĐN: Một lược đồ quan hệ R 3NF thoả
mãn ( theo Codd)
- Thỏa mãn 2NF
(41)Dạng chuẩn (tt)
NV_DV(MaNV, TenNV, NS, DCHI, MaDV, TenDV, TruongPHG)
Phụ thuộc vào MaNV
Phụ thuộc vào MaDV
Tất thuộc tính phải phụ thuộc vào thuộc tính
khóa
- Một vài thuộc tính phụ thuộc vào thuộc tính ko phải
khóa
- Chuẩn hóa Tách nhóm thuộc tính thành quan
(42)Dạng chuẩn (tt)
Phụ thuộc vào MaNV
Phụ thuộc vào MaDV
NHANVIEN(MaNV, TenNV, NS, DCHI, MaDV)
(43)Tóm tắt dạng chuẩn 1-3
NF Nhận biết Cách chuẩn hóa
1 Quan hệ ko có thuộc tính đa trị quan hệ lặp
Chuyển tất quan hệ lặp đa trị thành quan hệ
2 Phụ thuộc phần vào thuộc tính khóa
Tách thuộc tính phụ thuộc phần thành lược đồ mới, đảm bảo quan hệ với lược đồ liên quan
3 Phụ thuộc ẩn, tồn phụ thuộc hàm thuộc tính ko phải khóa
(44)Dạng chuẩn Boyce-Codd
Một lược đồ quan hệ R gọi dạng chuẩn
Boyce-Codd (BCNF)
- Thỏa mãn dạng chuẩn 3NF
- Khơng có thuộc tính khóa phụ thuộc hàm thuộc tính khơng khóa
(45)Dạng chuẩn Boyce-Codd(tt)
Ví dụ:
R (A1,A2,A3,A4,A5)
Với phụ thuộc hàm:
- A1,A2 A3,A4,A5
(46)Dạng chuẩn Boyce-Codd(tt)
Nếu lược đồ quan hệ không thoả mãn điều kiện BCNF, thủ tục chuẩn hóa bao gồm:
- Loại bỏ thuộc tính khóa phụ thuộc hàm vào thuộc tính
khơng khóa khỏi quan hệ
- tách chúng thành quan hệ riêng có khố thuộc tính khơng khóa gây phụ thuộc
Ví dụ trên: R (A1,A2,A3,A4,A5) Với phụ thuộc hàm:
- A1,A2 A3,A4,A5
- A4 A2
(47)SV_MH_GV(MaSV, MONHOC, GIANGVIEN, …)
Dạng chuẩn Boyce-Codd(tt)
Phụ thuộc vào MONHOC
Ví dụ
(48)Dạng chuẩn Boyce-Codd(tt)
Phụ thuộc vào MONHOC
SV_MH_GV(MaSV, MaMH, MaGV, …)
Ví dụ
Phụ thuộc vào MaSV, MaMH
MH_GV(MaGV, MaMH)
(49)Tài liệu tham khảo
Giáo trình CSDL
- Chương
Database management system
- Chapter 15
Fundamentals of Database Systems
(50)