cơ sở giữ liệu

37 241 0
cơ sở giữ 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

i Hc Bỏch Khoa H Ni Khoa in T - Vin Thụng 10/2006 Chng III: C S D LIU 3.3 Chun hóa B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - Nội dung 3.3.1 Giới thiệu Mc đích & Các khái niệm Các mức (dạng) chuẩn hóa 3.3.2 Khái niệm phụ thuộc hàm Định nghĩa Hệ tiên đề Amstrong bổ đề Khái niệm bao đóng Phụ thuộc hàm đầy đủ B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - Nội dung 3.3.3 Các mức (dạng) chuẩn hóa Mức cha chun hóa Mức 1NF Mức 2NF Mức 3NF Mức BCNF 3.3.4 Phép tách sơ đồ quan hệ Phép tách bảo toàn thông tin Phép tách bảo toàn tập phụ thuộc hàm 3.3.5 Kết luận Các bước đưa dạng chuẩn hóa Kết luận B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 3.3.1 Giới thiệu Mục đích & Các khái niệm Mục đích Mục đích chuẩn hóa Khái niệm Các vấn đề với liệu Redundancy Inconsistency Các dị thường (anomalies) Update Insert Delete B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 3.3.1 Giới thiệu Các mức chuẩn hoá Các quan hệ tổng quát (đã chuẩn hoá chưa chuẩn hoá) Các quan hệ 1NF (các quan hệ chuẩn hoá) Các quan hệ 2NF Các quan hệ 3NF, BCNF Các quan hệ 4NF Hình 3.1 Các mức chuẩn hoá B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 3.3.2 Phụ thuộc hàm Định nghĩa Cho trước quan hệ R với tập thuộc tính U={A1, A2, An}, ta có X, Y U tập thuộc tính U Ta nói Y phụ thuộc hàm vào X (hay X suy Y) với quan hệ r xác định R với t1, t2 bất kỳ, t1[X] = t2[X] suy t1[Y] = t2[Y] thời điểm Ký hiệu: XY Lưu ý: Có thể t1[X] = t2[X] tồn phụ thuộc hàm Yếu tố: thời điểm B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 3.3.2 Phụ thuộc hàm Hệ tiên đề Amstrong bổ đề Hệ tiên đề Phản xạ (reflexivity): Y X U X Y Tăng trưởng (augmentation): X Y, Z U XZ YZ Bắc cầu (transitivity): X Y, Y Z Y Z Bổ đề X Y, X Z X YZ X Y, WY Z XW Z X Y, Z Y X Z B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 3.3.2 Phụ thuộc hàm Khái niệm bao đóng Bao đóng tập phụ thuộc hàm F+ Tập hợp tất phụ thuộc hàm suy từ F Tập phụ thuộc hàm F tối thiểu Nếu không tồn phụ thuộc hàm X Y F cho: F \ {X Y} tương đương với F Cách tìm: vế phải phụ thuộc hàm để thuộc tính vế trái phụ thuộc hàm không bỏ thuộc tính phụ thuộc hàm bỏ Bao đóng tập thuộc tính X+ Tập hợp tất các thuộc tính phụ thuộc hàm vào X X+ = {A | A thuộc tính cho X A F+} B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 3.3.2 Phụ thuộc hàm Phụ thuộc hàm đầy đủ Định nghĩa Khoá tối thiểu Tập thuộc tính Y gọi phụ thuộc hàm đầy đủ vào tập thuộc tính X phụ thuộc hàm vào X không phụ thuộc hàm vào tập thuộc tính X X U F+ Với X' tập thực X, không tồn tại: X' U Lưu ý Sau nói "phụ thuộc hàm" với ý nghĩa phụ thuộc hàm đẩy đủ trừ có giải thích tường minh B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 3.3.3 Các mức chuẩn hóa Mức 0NF Ví dụ S# STATUS CITY P# QTY S1 20 London P1 300 P2 200 P3 400 P1 300 P2 400 S2 10 Paris S3 10 Paris P2 200 S4 20 London P2 200 P4 300 Mức 1NF Định nghĩa Quan hệ R gọi dạng chuẩn thứ (1NF) tất miền chứa giá trị nguyên tố B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 10 3.3.3 Các mức chuẩn hóa Xét trường hợp cụ thể Trường hợp 4: Quan hệ 3NF BCNF có khoá ứng cử tập phủ Ví dụ: quan hệ EXAM với thuộc tính S (Student), J (Subject), P (Position) ý nghĩa quan hệ EXAM sinh viên định thi môn học định đạt vị trí định danh sách lớp Với mục đích toán, đưa giả thiết có hai sinh viên nhận vị trí môn học RELATION EXAM (S, J, P) (S, J) P (J, P) S KEY (S, J) UNIQUE (J, P) B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 23 3.3.4 Phép tách sơ đồ quan hệ Phép tách bảo toàn thông tin Xét ví dụ cụ thể R(A, B, C) A B C a c e a d f b c g b d h B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 24 3.3.4 Phép tách sơ đồ quan hệ Phép tách bảo toàn thông tin Xét ví dụ cụ thể Phép tách thông tin: tách theo cột B R(A, B, C) R1(A, B) R2(B,C) R'(A,B,C) A B C A B B C A B C a c e a c c e a c e a d f a d d f a c g b c g b c c g a d f b d h b d d h a d h b c g b c e b d h b d f B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 25 3.3.4 Phép tách sơ đồ quan hệ Phép tách bảo toàn thông tin Xét ví dụ cụ thể Phép tách bảo toàn thông tin: tách theo cột C R(A, B, C) R1(A, C) R2(B,C) R''(A,B,C) A B C A C B C A B C a c e a e c e a c e a d f a f d f a d f b c g b g c g b c g b d h b h d h b d h B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 26 3.3.4 Phép tách sơ đồ quan hệ Phép tách bảo toàn thông tin Định lý: Phép tách bảo toàn thông tin quan hệ R (với tập phụ thuộc hàm F) thành (R1, R2) khi: (R1 R2) (R1\R2) F+ (R1 R2) (R2\R1) F+ Cách nhận dạng: Xét ví dụ: R(S, A, I, P), F(SA, SIP, PS), tách: SA, SI, IP, PS Lập bảng giá trị Xét dòng i, cột j viết a Aj Ri bi Aj Ri S A I P SA a a b1 b1 SI a b2 a b2 S A I P SA a a b1 b1 SI a a a a Thông qua IP b3 b3 a a IP a b3 a a phụ thuộc hàm PS a b4 b4 a PS a a b4 a để sửa giá trị Cuối nhận dòng toàn a => phép tách bảo toàn thông tin B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 27 3.3.4 Phép tách sơ đồ quan hệ Phép tách bảo toàn tập phụ thuộc hàm Xét ví dụ cụ thể R(City, Street, PostalCode) F(CSP, PC) tách thành (SP, CP), dễ thấy phép tách bảo toàn thông tin C P Đại Cồ Việt 2142 Hà Nội 2142 Đại Cồ Việt 2144 Hà Nội 2144 S P C S P Hà Nội Đại Cồ Việt 2142 Hà Nội Đại Cồ Việt 2144 Khi hợp lại, dễ dàng nhận thấy phụ thuộc hàm CSP không tác dụng B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 28 3.3.4 Phép tách sơ đồ quan hệ Phép tách bảo toàn tập phụ thuộc hàm Kết luận Phép tách quan hệ dẫn tới trường hợp sau: Bảo toàn thông tin + Bảo toàn tập phụ thuộc hàm Không bảo toàn thông tin + Bảo toàn tập phụ thuộc hàm Bảo toàn thông tin + Không bảo toàn tập phụ thuộc hàm Không bảo toàn thông tin + Không bảo toàn tập phụ thuộc hàm Việc kiểm tra tính bảo toàn tập phụ thuộc hàm khó khăn tốn nhiều thời gian Định lý: Mọi quan hệ tách thành sơ đồ quan hệ mức 3NF mà bảo toàn thông tin bảo toàn tập phụ thuộc hàm Mọi quan hệ mức 1NF tách thành sơ đồ quan hệ mức BCNF mà bảo toàn thông tin Việc chứng minh định lý đưa phương pháp tách sơ đồ quan hệ B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 29 3.3.4 Phép tách sơ đồ quan hệ cách tách thành 3NF: Nhận xét: R(A1, A2, , An), Tập phụ thuộc hàm tối thiểu: F(X1A1, X2A2, , XnAn) K khoá R Phép tách {X1A1, X2A2, , XnAn} U {K} đảm bảo tính chất bảo toàn đưa mức 3NF {X1A1, X2A2, , XnAn} đảm bảo tính bảo toàn tập phụ thuộc hàm 3NF thêm khóa K => đảm bảo tính bảo toàn thông tin, n quan hệ có chứa K quan hệ K không cần xét đến Có thể tách quan hệ thành BCNF, bảo toàn thông tin chưa bảo toàn tập phụ thuộc hàm, đồng thời việc kiểm tra tính bảo toàn tập phụ thuộc hàm khó tốn nhiều thời gian => thực tế nhà thiết kế thường dừng mức 3NF (Xem slide 28) R(City, Street, PostalCode) F(CSP, PC) tách thành (SP, CP) quan hệ BCNF phép tách không bảo toàn tập phụ thuộc hàm B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 30 3.3.5 Kết luận Các bước đưa dạng 4NF Bc 1: Chuyển quan hệ chưa chuẩn hóa thành tập quan hệ tương đương dạng 1NF phương pháp: Cách 1: Loại bỏ nhóm lặp cách đưa liệu thích hợp vào cột trống hàng chứa liệu lặp Cách thường gọi làm phẳng (flattening) Bằng cách sữ dư thừa đưa vào quan hệ kết quả, nhiên dư thừa loại bỏ trình chuẩn hóa Cách 2: Chỉ định một nhóm thuộc tính làm khóa cho bảng chưa chuẩn hóa Loại bỏ nhóm lặp cách mang nhóm thuộc tính lặp lại copy khóa sang quan hệ tách biệt Nhận diện khóa quan hệ Nếu bảng chưa chuẩn hóa có chưa nhóm lặp lại hay nhóm lặp lại lồng cách lặp lặp lại không nhóm lặp B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 31 3.3.5 Kết luận Ví dụ: Xét hoạt động công ty cho thuê văn phòng Với giả thiết: Mỗi khách hàng thuê văn phòng lần Mỗi khách hàng thuê tối đa văn phòng thời điểm, B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 32 3.3.5 Kết luận Giả sử có khách hàng, thông tin khách hàng thuê đư ợc biểu diễn dạng bảng Customer_Rental: B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 33 3.3.5 Kết luận Thuộc tính khóa nhận diện cho bảng chưa chuẩn hóa Customer_Rental Customer_No Nhóm lặp lại: (Property_No, PAddress, RentStart, RentFinish, Rent, Owner_ No, OName) Để chuyển thành 1NF, phải đảm bảo có giá trị ô bảng Cách chuyển thành 1NF: Cách 1: Loại bỏ nhóm lặp cách đưa liệu tương ứng khách hàng vào hàng bảng B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 34 B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 35 3.5 Kết luận 3.5.2 Kết luận B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 36 i Hc Bỏch Khoa H Ni, Khoa in T - Vin Thụng 2004-2005 Xin cảm ơn! Nguời soạn: PGS.TS Nguyn Việt Hương email: Th.S Nguyn Hoài Giang email: giangnh0@yahoo.com B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 37 [...]... trong quan hệ tương ứng tại một thời điểm cụ thể nào đó phải biết ý nghĩa của dữ liệu rồi mới có thể đưa ra nhận định hiện tại lược đồ tương ứng của quan hệ đó ở dạng chuẩn nào HQTCSDL không thể khẳng định rằng một lược đồ quan hệ đã ở dạng chuẩn tốt nhất (3NF chẳng hạn) nếu như chưa nhận đầy đủ thông tin về các phụ thuộc dữ liệu tương ứng B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 16 3.3.3 Các mức chuẩn... 1 Các bước đưa về các dạng 4NF Bc 1: Chuyển quan hệ chưa chuẩn hóa thành 1 tập quan hệ tương đương ở dạng 1NF 2 phương pháp: Cách 1: Loại bỏ các nhóm lặp bằng cách đưa dữ liệu thích hợp vào các cột trống của các hàng chứa dữ liệu lặp Cách này thường được gọi là làm phẳng (flattening) Bằng cách này sữ dư thừa đã được đưa vào quan hệ kết quả, tuy nhiên sự dư thừa này sẽ được loại bỏ trong quá trình... phụ thuộc hàm vào X (XZ) (với điều kiện X không phụ thuộc hàm vào Z hoặc Y) ý nghĩa Làm biến mất các phụ thuộc hàm bắc cầu của các thuộc tính không khoá Giảm vấn đề dư thừa và không nhất quán của dữ liệu B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 14 3.3.3 Các mức chuẩn hóa Cách nhận biết mức 3NF Quan hệ R mức 1NF là 3NF nếu mọi phụ thuộc hàm tối thiểu XA (A là thuộc tính đơn, A X) đều có dạng:... thuộc hàm đầy đủ vào khoá chính Một thuộc tính được gọi là thuộc tính không khoá nếu nó không tham dự vào thành phần của khoá chính hoặc khóa ứng cử ý nghĩa Giảm vấn đề dư thừa và không nhất quán của dữ liệu B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 11 3.3.3 Các mức chuẩn hóa Nhận xét Nếu mức 1NF có khóa là khoá đơn: 1NF => 2NF Nếu mức 1NF không có thuộc tính không khóa: 1NF => 2NF Chuyển từ 1NF... ứng B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 16 3.3.3 Các mức chuẩn hóa Các vấn đề còn tồn tại với mức 3NF Phụ thuộc hàm bắc cầu của các thuộc tính khoá vẫn có thể tồn tại và tạo ra sự dư thừa dữ liệu Ví dụ: B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 17 3.3.3 Các mức chuẩn hóa 5 Mức BCNF (Boyce Codd Normal Form) Định nghĩa Một thuộc tính (có thể là thuộc tính ghép) được gọi là thuộc tính... ở dạng chuẩn BCNF nếu mọi thuộc tính quyết định đều là khoá ứng cử (candidate key) ý nghĩa Làm biến mất các phụ thuộc hàm bắc cầu Sơ đồ quan hệ sẽ không còn vấn đề dư thừa và không nhất quán của dữ liệu B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 18 3.3.3 Các mức chuẩn hóa Nhận xét Boyce và Codd xem xét các phụ thuộc hàm của cả các khoá ứng cử trong quan hệ Đối với quan hệ chỉ có một khoá ứng... dạy Mỗi giáo viên chỉ dạy một môn học Mỗi môn học có thể do một vài giáo viên dạy S J T Smith Math Prof White Smith Physics Prof Green Jones Math Prof White Jones Physics Prof Brown Hình 3.11 Bảng dữ liệu mẫu cho quan hệ SJT B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 22 3.3.3 Các mức chuẩn hóa Xét các trường hợp cụ thể Trường hợp 4: Quan hệ là 3NF và cũng là BCNF mặc dù có khoá ứng cử là tập phủ... Bảo toàn tập phụ thuộc hàm Ví dụ B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 12 3.3.3 Các mức chuẩn hóa Các vấn đề còn tồn tại với mức 2NF Phụ thuộc hàm bắc cầu vẫn tồn tại và tạo ra sự dư thừa dữ liệu Ví dụ: giả sử City Status (Status phụ thuộc hàm gián tiếp vào khoá S#) hoặc ví dụ quan hệ (S#, ITEM, PRICE) có S# là khoá và ITEM PRICE Các phụ thuộc hàm bắc cầu này gây ra những khó khăn khi thực... (Property_No, PAddress, RentStart, RentFinish, Rent, Owner_ No, OName) Để chuyển thành 1NF, phải đảm bảo chỉ có một giá trị tại mỗi ô của bảng 2 Cách chuyển thành 1NF: Cách 1: Loại bỏ nhóm lặp bằng cách đưa dữ liệu tương ứng của khách hàng vào từng hàng của bảng B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 34 B Mụn TTH - Khoa TVT, i Hc BKHN C s d liu - 35 3.5 Kết luận 3.5.2 Kết luận B Mụn TTH - Khoa TVT, i Hc ... phải biết ý nghĩa liệu đưa nhận định lược đồ tương ứng quan hệ dạng chuẩn HQTCSDL khẳng định lược đồ quan hệ dạng chuẩn tốt (3NF chẳng hạn) chưa nhận đầy đủ thông tin phụ thuộc liệu tương ứng B... quan hệ tương đương dạng 1NF phương pháp: Cách 1: Loại bỏ nhóm lặp cách đưa liệu thích hợp vào cột trống hàng chứa liệu lặp Cách thường gọi làm phẳng (flattening) Bằng cách sữ dư thừa đưa... 12 3.3.3 Các mức chuẩn hóa Các vấn đề tồn với mức 2NF Phụ thuộc hàm bắc cầu tồn tạo dư thừa liệu Ví dụ: giả sử City Status (Status phụ thuộc hàm gián tiếp vào khoá S#) ví dụ quan hệ (S#,

Ngày đăng: 29/12/2015, 21:17

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

Tài liệu liên quan