Phụ thuộc hàm và chuẩn hóa cơ sở dữ liệu

28 439 0
Phụ thuộc hàm và chuẩn hóa cơ sở dữ liệu

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tài liệu này dành cho sinh viên, giáo viên khối ngành công nghệ thông tin tham khảo và có những bài học bổ ích hơn, bổ trợ cho việc tìm kiếm tài liệu, giáo án, giáo trình, bài giảng các môn học khối ngành công nghệ thông tin

Ph thuc hàm Ph thuc hàm và Chun hóa c s d liu Chng 7 Ni dung trình bày ̇ Nguyên tc thit k các lc đ quan h. ̇ Ph thuc hàm. ̇ Các dng chun. ̇ Mt s thut toán chun hóa. Ph thuc hàm Nguyên tc thit k ̇ Nhìn li vn đ thit k csdl •Da trên trc quan ca ngi thit k. •Thiu mt tiêu chun hình thc đ đánh giá. ̇ ánh giá cht lng thit k •Ng ngha ca các thuc tính. •Gim các giá tr tha trong các b. •Gim các giá tr null trong các b. • Không đ xut hin các b không có thc. Ng ngha ca các thuc tính (1) p.k. MaPhongDChiNgSinhMaNVTen f.k.NHANVIEN p.k. TrPhongMaPBTen f.k.PHONGBAN p.k. TrusoMaPB f.k.f.k. TRUSO_PHONG p.k. PhongQlyDiadiemMaDATen f.k.DUAN SoGioMaDAMaNV p.k. f.k.f.k. THAMGIA Ph thuc hàm Ng ngha ca các thuc tính (2) ̇ Ý ngha ca các thuc tính càng d hiu thì lc đ thit k càng tt. ̇ Tránh t hp các thuc tính ca nhiu kiu thc th và cùng mt lc đ. TenPBMaPB p.k. TrPhongDChiNgSinhMaNVTenNV f.k.NHANVIEN_PHONGBAN TenDATenNV p.k. DiadiemGioMaDAMaNV f.k.NHANVIEN_DUAN Thông tin tha trong các b (1) 4…19/01/1968999887777Vuong 5…08/12/1955333445555Nghia 5…09/01/1965123456789Hung MaPhongDChiNgSinhMaNVTen NHANVIEN 3334455555Nghien cuu TrPhongMaPBTen PHONGBAN 333445555Nghien cuu5…09/10/1965123456789Hung Nghien cuu TenPB 5 MaPB 333445555 08/12/1965333445555Nghia TrPhongDChiNgSinhMaNVTenNV NHANVIEN_PHONGBAN D liu b trùng lp Ph thuc hàm Thông tin tha trong các b (2) ̇ D thng khi thêm b ̇ D thng khi xóa b 999887777Nghien cuu5…09/10/1965123456789Hung 333445555Nghien cuu5…08/12/1965333445555Nghia Hanh chinh TenPB 4 MaPB 987654321nullnullnullnull TrPhongDChiNgSinhMaNVTenNV NHANVIEN_PHONGBAN 333445555Nghien cuu5…09/10/1965123456789Hung 333445555Nghien cuu5…08/12/1965333445555Nghia TenPBMaPB TrPhongDChiNgSinhMaNVTenNV NHANVIEN_PHONGBAN Thông tin tha trong các b (3) ̇ D thng khi sa b ̇ Tránh xy ra các d thng cp nht d liu. ̇ Có th vi phm nguyên tc này đ tng hiu qu truy vn d liu. Khi đócác d thng cn đc ghi chú cn thn. 333445555Nghien cuu5…09/10/1965123456789Hung 333445555Nghien cuu5…08/12/1965333445555Nghia TenPBMaPB TrPhongDChiNgSinhMaNVTenNV NHANVIEN_PHONGBAN 123456789 123456789 Ph thuc hàm Giá tr null trong các b ̇ Nu nhiu thuc tính trong lc đ nhn giá tr null s • Lãng phí không gian lu tr. •Khó khn trong thc hin các phép toán kt. •Khó khn khi s dng các hàm tp hp. ̇ Tránh lu tr các thuc tính nhn nhiu giá tr null. Phát sinh các b không có thc (1) Thu DucSan pham YHung7.52123456789 Tan BinhSan pham XHung32.51123456789 DiadiemTenDATenNVGioMaDAMaNV San pham YNghia Thu Duc102333445555 NHANVIEN_DUAN p.k. DiadiemTenNV NHANVIEN_DIADIEM SoGioMaDA p.k. MaNV NHANVIEN_DUAN1 DiadiemTenDA Ph thuc hàm Phát sinh các b không có thc (2) Thu DucHung Tan BinhHung DiadiemTenNV Thu DucNghia NHANVIEN_DIADIEM Thu DucSan pham Y7.52123456789 Tan BinhSan pham X32.51123456789 DiadiemTenDASoGioMaDAMaNV 102333445555 NHANVIEN_DUAN1 Thu DucSan pham Y HungThu DucSan pham Y102333445555 NghiaThu DucSan pham Y7.52123456789 Thu Duc Thu Duc Tan Binh Diadiem Nghia Hung Hung TenNV San pham Y7.52123456789 San pham X32.51123456789 TenDAGioMaDAMaNV San pham Y102333445555 Kt t nhiên Phát sinh các b không có thc (3) ̇ Xây dng các lc đ quan h sao cho vic thc hin phép kt bng gia chúng ch áp dng trên các thuc tính khóa chính hoc khóa ngoi. Ph thuc hàm Ph thuc hàm (1) ̇ Xét lc đ quan h gm n thuc tính • R(U), U={A 1 , A 2 ,…, A n } ̇ PTH gia hai tp thuc tính X, Y ⊆ U •Ký hiu: X → Y. • ∀r ∈ R, ∀ t 1 , t 2 ∈ r nu t 1 [X] = t 2 [X] thì t 1 [Y] = t 2 [Y]. •X làv trái và Y là v phi ca PTH. 73 51 41 BAr(R) r không tha A → B, nhng tha B → A Ph thuc hàm (2) ̇ r ∈ R tha các ràng buc PTH đc gi là trng thái hp l ca R. ̇ Nhn xét •Các PTH xut phát t các ràng buc trong th gii thc. • ∀r ∈ R, ∀t ∈ r, t [X] là duy nht thì X là mt khóa ca R. •Nu K là mt khóa ca R thì K xác đnh hàm tt c các tp thuc tính ca R. • PTH dùng đ đánh giá mt thit k CSDL. TrPhongTenPBMaPBDiachiNgSinhMaNVTenNV NHANVIEN_PHONGBAN MaNV → MaPB MaPB → {TenPB, TrPhong}MaNV → TenNV Ph thuc hàm Bao đóng ca tp PTH ̇ F là tp PTH trên R • F = {MaNV → TenNV, MaPB → {TenPB, TrPhong}, MaNV → MaPB}. • ∀r ∈ R tha F và MaNV → {TenPB, TrPhong} cng đúng vi r thì MaNV → {TenPB, TrPhong} gi là đc suy din t F. ̇ Bao đóng ca F, ký hiu F + , gm •F và •Tt c các PTH đc suy din t F. ̇ F gi là đy đ nu F = F + . Lut suy din ̇ Lut suy din dùng đ suy din mt PTH mi t mt tp PTH cho trc. ̇ H lut suy din Armstrong •Phn x: Y ⊆ X ⇒ X → Y. •Tng trng: X → Y ⇒ XZ → YZ, vi XZ = X ∪ Z. •Bc cu: X → Y, Y → Z ⇒ X → Z. ̇ Các lut khác: • Phân rã: X → YZ ⇒ X → Y, X → Z. •Hp: X → Y, X → Z ⇒ X → YZ. •Bc cu gi: X → Y, WY → Z ⇒ WX → Z. ̇ Nhn xét •H lut Armstrong là đy đ. Ph thuc hàm Bao đóng ca tp thuc tính ̇ Làm th nào đ bit mt PTH X → Y đc suy din t tp PTH F cho trc? ̇ Bao đóng ca tp thuc tính X đi vi F, ký hiu X + , là •Tp các thuc tính PTH vào X. •X + = {A ∈ U | X → A ∈ F + } ̇ Nhn xét •X → Y ∈ F + ⇔ Y ⊆ X + . •Nu K là khóa ca R thì K + = U. Thut toán tìm X + ̇ Nhp: U, F và X ⊆ U ̇ Xut: X + ̇ Thut toán 7.1 • B1: X + = X; • B2: Nu tn ti Y → Z ∈ F và Y ⊆ X + thì X + := X + ∪ Z; và tip tc B2. Ngc li qua B3. • B3: xut X + . Ph thuc hàm Ví d tìm X + ̇ Cho: •F = {AB → C, BC → D, D → EG}. •X = BD. ̇ Tính X + : •X + = BD. •Lp 1: - Tìm các PTH có v trái là tp con ca X + = BD +D → EG, thêm EG vào X + ta đc X + = BDEG. •Lp 2: - Tìm các PTH có v trái là tp con ca X + = BDEG + Không có PTH nào. •Vy X + = BDEG. Kim tra PTH suy din ̇ Cho F = {AB → C, A → D, D → E, AC → B} ̇ Hai PTH AB → E và D → C có đc suy din t F hay không? DED ABCDEAB X F + X c suy din t F [...]... A XG {A}} Ph thu c hàm Ví d tìm ph t i thi u ̇ Tìm ph t i thi u c a E = {A AB C} BC, A • B1: F = • B2: F = {A B, A C, B C, AB • B3: Xét AB C (B)F+ = C F = {A B, A C, B C} • B4: A C th a F = {A B, B C} B, B C, C} Siêu khóa và khóa ̇ Cho R(U) • S U là siêu khóa n u r R, t1, t2 r, t1 t2[S] • K U là khóa n u K là siêu khóa nh nh t - A K c g i là thu c tính khóa ̇ Nh n xét • S xác nh hàm t t c các thu c... R ch có m t khóa K và card(K) = 1 thì R thu c d ng chu n 2 • Còn xu t hi n s trùng l p d li u Do ó gây ra các d th ng v c p nh t d li u Ph thu c hàm D ng chu n 3 theo khóa chính (1) ̇ L c quan h R c g i là thu c d ng chu n 3 n u • R thu c d ng chu n 2 • M i thu c tính không khóa c a R không ph thu c b t c u vào khóa chính c a R ̇ Cho R(U) • X Y là PTH b t c u n u Z U, Z không là khóa và c ng không... theo khóa chính (1) ̇ L c quan h R c g i là thu c d ng chu n 2 n u m i thu c tính không khóa c a R ph thu c y vào khóa chính c a R ̇ R(U), K U là khóa chính c a R • A U là thu c tính không khóa n u A K • X Y là PTH y n u A X thì (X - {A}) Ng c l i X Y là PTH b ph n Y không úng trên R ̇ Ví d Thu c tính không khóa PTH y NVIEN_DUAN MaNV MaDA SoGio TenNV TenDA Diadiem FD1 PTH b ph n FD2 FD3 Ph thu c hàm. .. c hàm D ng chu n 2 t ng quát ̇ L c quan h R c g i là thu c d ng chu n 2 n u m i thu c tính không khóa c a R ph thu c y vào các khóa c a R ̇ Cho R(ABCDEF) có 2 khóa là A và BC R A B C D E F FD1 FD2 FD3 FD4 FD5 L c R không thu c d ng chu n 2 D ng chu n 3 t ng quát ̇ L c quan h R c g i là thu c d ng chu n 3 n u PTH không hi n nhiên X A úng trên R thì • X là siêu khóa c a R, ho c • A là thu c tính khóa... p 7: (DF)F+ = DFCBEAG K = DF • B3: Khóa là K = DF Ph thu c hàm R(U) Xác nh t t c khóa c a l ̇ Nh p: t p PTH F xác nh trên l ̇ Xu t: t t c khóa c a R ̇ Thu t toán 7.3.2 c c R(U) • B1: Xây d ng 2n t p con c a U = {A1, …, An}; S = {}; • B2: V i m i t p con X N uU • B3: X, Y U XF+ thì S = S S, n u X {X} Y thì S = S - {X} • B4: S là t p các khóa c a R Ví d tìm t t c khóa c a l c ̇ Cho R(U), U = {A, B, C,... R có th có nhi u khóa Ph thu c hàm t2 thì t1[S] Xác nh khóa c a l ̇ Nh p: t p PTH F xác ̇ Xu t: khóa K c a R ̇ Thu t toán 7.3.1 c nh trên l c • B1: K = U = {A1, …, An}; i = 1; • B2: N u U (K - {Ai})F+ thì K = K - {Ai} i = i + 1; N u i > n thì sang B3 Ng c l i, ti p t c B2 • B3: Xu t K Ví d tìm khóa c a l c ̇ Cho R(U), U = {A, B, C, D, E, F, G} • F = {B A, D C, D BE, DF G} ̇ Tìm khóa c a R • B1: K =... • Xét l c R và t p PTH F Gi s R thành D = {R1, …, Rm} c phân rã t Ri(F) = {X Y F+ : X Y Ri} - D c g i là phân rã b o toàn ph thu c hàm + + ( R1(F) … Rm(F)) = F iv iFn u ̇ Ví d R111 R11 A A B C D C FD1 FD1 FD2 FD5 R112 B FD5 Ph thu c hàm D D Phân rã b o toàn PTH (2) R11 A B C D 1 2 A C 3 3 R111 2 2 D R112 D 1 3 3 3 2 4 4 4 B C 1 … B 2 2 A 2 D 2 … 4 … … 4 Thêm b (4, , 4) vào R111 và (4, ) vào R112 thì... t c khóa c a l c ̇ Cho R(U), U = {A, B, C, D, E, F} • F = {AE C, CF A, BD F, AF E} ̇ Tìm t t c khóa c a R • T p siêu khóa S = {ABD, BCD, ABCD, ABDE, BCDE, ABCDE, ABDF, BCDF, ABCDF, ABDEF, BCDEF, ABCDEF} ABDF ABDEF ABD ABDE ABCDE ABCD ABCDEF ABCDF BCD BCDE BCDEF BCDF Ph thu c hàm Chu n hóa l c CSDL ̇ Chu n hóa là gì? ̇ Các d ng chu n là gì? ̇ Các d ng chu n • • • • D ng 1 (1 Normal Form - 1NF) D ng 2... khóa c a R ̇ R1(ABCDE) có 2 khóa là A và BC R1 A FD1 FD2 FD4 FD5 B C D E L c bên thu c d ng chu n 2, nh ng không thu c d ng chu n 3 ̇ Nh n xét • Ph thu c hàm nh ngh a t ng quát cho phép ki m tra d ng chu n 3 mà không c n ki m tra d ng chu n 2 D ng chu n Boyce - Codd (1) ̇ L c quan h R c g i là thu c d ng chu n BC n u PTH không hi n nhiên X Y úng trên R thì X là siêu khóa c a R ̇ R11(ABCD) R11 A B... thành t p h p các quan h • V i m i quan h xác nh t p PTH • Áp d ng các quy t c chu n hóa lo i b các PTH b ph n và b t c u trong các quan h Ph thu c hàm Phân rã l ̇ L c c quan h quan h chung R(A1, …, An) • T p h p t t c các thu c tính c a các th c th ̇ Xác nh t p PTH F trên R ̇ Phân rã • S d ng các thu t toán chu n hóa các l c D = {R1, …, Rm} tách R thành t p ̇ Yêu c u • B o toàn thu c tính • Các l . C}. Siêu khóa và khóa ̇ Cho R(U) •S ⊆ U là siêu khóa nu ∀r ∈ R, ∀t 1 , t 2 ∈ r, t 1 ≠ t 2 thì t 1 [S] ≠ t 2 [S]. •K ⊆ U là khóa nu K là siêu khóa nh nht. -A ∈ K đc gi là thuc tính khóa. ̇. Ph thuc hàm Ph thuc hàm và Chun hóa c s d liu Chng 7 Ni dung trình bày ̇ Nguyên tc thit k các lc đ quan h. ̇ Ph thuc hàm. ̇ Các dng chun. ̇ Mt s thut toán chun hóa. Ph. thuc hàm Dng chun 2 tng quát ̇ Lc đ quan h R đc gi là thuc dng chun 2 nu mi thuc tính không khóa ca R ph thuc đy đ vào các khóa ca R. ̇ Cho R(ABCDEF) có 2 khóa là A và BC. FD3 FD2 FD1 FEDCBA FD4 R FD5 Lc

Ngày đăng: 23/10/2014, 21:03

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan