Chương Chuẩn hóa

37 167 0
Chương Chuẩn hóa

Đ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

HeCSDL 1 NN NN CHƯƠNG CHƯƠNG Chu Chu ẩ ẩ n h n h ó ó a a (Normalization) (Normalization) HeCSDL 2 NN NN N N ộ ộ i dung i dung  Định nghĩa chuẩn hóa  Các dạng chuẩn hóa 2 HeCSDL 3 NN NN Chu Chu ẩ ẩ n h n h ó ó a (normalization) a (normalization)  Chuẩn hóa là kỹ thuật dùng để tạo ra một tập các quan hệ có các đặc điểm mong muốn dựa vào các yêu cầu về dữ liệu của nghiệp vụ  Mục đích: loại bỏ các bất thường (anomaly) của 1 quan hệ để có được các quan hệ có cấu trúc tốt hơn, nhỏ hơn  Quan hệ có cấu trúc tốt (well-structured relation): là quan hệ có sự dư thừa dữ liệu là tối thiểu và cho phép người dùng thêm, sửa, xóa mà không gây ra mâu thuẩn dữ liệu  Như vậy chuẩn hóa dữ liệu nhằm cải tiến một thiết kế CSDL luận lý nhằm thỏa mãn các ràng buộc toàn vẹn và tránh dư thừa dữ liệu 3 HeCSDL 4 NN NN Chu Chu ẩ ẩ n h n h ó ó a a  Quá trình chuẩn hóa được thực hiện qua nhiều bước. Mỗi bước tương ứng một dạng chuẩn  Các dạng chuẩn:  Dạng chuẩn 1 (1NF – first 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 4 HeCSDL 5 NN NN B B ả ả ng chưa chu ng chưa chu ẩ ẩ n h n h ó ó a a  Một bảng chưa chuẩn hóa là bảng ghi những dữ liệu thực tế  Bảng chưa chuẩn hóa nếu nó chứa một hoặc nhiều nhóm lặp (Repeating group)  Nhóm lặp lại là một nhóm nhiều hàng của một nhóm thuộc tính ứng với một khóa (…) của bảng chưa chuẩn hóa  Bảng chưa chuẩn hóa cần phải đưa về dạng chuẩn thấp nhấp là dạng chuẩn 1 (1NF) 5 HeCSDL 6 NN NN V V í í d d ụ ụ b b ả ả ng chưa chu ng chưa chu ẩ ẩ n h n h ó ó a a 6 Repeating group HeCSDL 7 NN NN D D ạ ạ ng chu ng chu ẩ ẩ n 1 n 1 (1NF (1NF – – first normal form) first normal form)  Bảng ở dạng chuẩn 1 nếu  Có khóa chính  Không có nhóm lặp lại 7 HeCSDL 8 NN NN Bi Bi ế ế n đ n đ ổ ổ i v i v ề ề d d ạ ạ ng chu ng chu ẩ ẩ n 1 n 1  Cách 1: Điền dữ liệu vào các cột trống và chọn khóa  Cách 2:  Tách thành các bảng nhằm xóa bỏ các nhóm lặp lại  Xác định khóa chính của các bảng 8 HeCSDL 9 NN NN Quan hệ Employee_Course Emp_ Emp_ ID ID Name Name Dept_Nam Dept_Nam e e Salary Salary Course_ Course_ Title Title Date_ Date_ Complete Complete d d 100 100 M.Simpson M.Simpson Marketing Marketing 48000 48000 SPSS SPSS Surveys Surveys 6/19/2001 6/19/2001 12/12/2002 12/12/2002 140 140 A.Beeton A.Beeton Acounting Acounting 52000 52000 Tax Acc Tax Acc 12/8/2003 12/8/2003 110 110 C.Lureco C.Lureco Info System Info System 43000 43000 SPSS SPSS C++ C++ 1/12/2003 1/12/2003 2/6/2004 2/6/2004 190 190 L.Davis L.Davis Finance Finance 55000 55000 150 150 S.Martin S.Martin Marketing Marketing 42000 42000 SPSS SPSS Java Java 6/16/2002 6/16/2002 5/7/2004 5/7/2004 9 HeCSDL 10 NN NN Quan hệ Employee_Course dạng chuẩn 1 Emp_ Emp_ ID ID Name Name Dept_Nam Dept_Nam e e Salary Salary Course_ Course_ Title Title Date_ Date_ Complete Complete d d 100 100 M.Simpson M.Simpson Marketing Marketing 48000 48000 SPSS SPSS 6/19/2001 6/19/2001 100 100 M.Simpson M.Simpson Marketing Marketing 48000 48000 Surveys Surveys 12/12/2002 12/12/2002 140 140 A.Beeton A.Beeton Acounting Acounting 52000 52000 Tax Acc Tax Acc 12/8/2003 12/8/2003 110 110 C.Lureco C.Lureco Info System Info System 43000 43000 SPSS SPSS 1/12/2003 1/12/2003 110 110 C.Lureco C.Lureco Info System Info System 43000 43000 C++ C++ 2/6/2004 2/6/2004 190 190 L.Davis L.Davis Finance Finance 55000 55000 150 150 S.Martin S.Martin Marketing Marketing 42000 42000 SPSS SPSS 6/16/2002 6/16/2002 150 150 S.Martin S.Martin Marketing Marketing 42000 42000 Java Java 5/7/2004 5/7/2004 10 Î Dạng chuẩn 1 Î Khóa là EmpID + CourseTitle [...]... HeCSDL 27 Dạng chuẩn Boyce-Codd (BCNF) Lược đồ quan hệ R ở dạng chuẩn BCNF đối với tập phụ thuộc hàm F nếu R ở dạng chuẩn 1, và với mọi phụ thuộc hàm X Y với Y ∉ X thì X là siêu khóa của R Nếu mọi determinant (định thuộc - vế trái phụ thuộc hàm) đều là key ? Quan hệ ở dạng chuẩn BCNF thì nó cũng ở dạng chuẩn 3 28NN HeCSDL 28 Phụ thuộc bắc cầu (Transitive dependency) K HeCSDL X A 29NN 29 Dạng chuẩn 3 nhưng... không khóa phụ thuộc bắc cầu vào khóa của quan hệ 22NN HeCSDL 22 Phụ thuộc bắc cầu (Transitive dependency) K HeCSDL X A 23NN 23 Dạng chuẩn 3 (3NF – third normal form) Định nghĩa 1: Lược đồ quan hệ R ở 3NF đối với tập phụ thuộc hàm F nếu: R ở dạng 1NF Mọi thuộc tính không khóa đều không phụ thuộc bắc cầu vào một khóa của R Định nghĩa 2: Lược đồ quan hệ R ở 3NF đối với tập phụ thuộc hàm F nếu R ở dạng chuẩn. .. A 16NN HeCSDL 16 Dạng chuẩn 2 (2NF – second Normal Form) Lược đồ quan hệ R ở dạng 2NF đối với tập phụ thuộc hàm F nếu: R ở dạng chuẩn 1 Mọi thuộc tính không khóa đều phụ thuộc hàm đầy đủ vào mọi khóa của R Nếu quan hệ R chỉ có các khóa đơn thì đương nhiên quan hệ này ở dạng chuẩn 2 17NN HeCSDL 17 Biến đổi thành 2NF Loại bỏ các phụ thuộc hàm riêng phần và tạo thêm các quan hệ mới tương ứng với các phụ... hệ có nhiều candidate key phức hợp thì BCNF sẽ tránh được hai bất thường có thể xảy ra ở 3NF 1 phần của khóa xác định 1 phần của khóa khác Cột không khóa xác định 1 phần của khóa 34NN HeCSDL 34 Candidate key và BCNF Một quan niệm sai lầm khi cho rằng một bảng với nhiều candidate key sẽ vi phạm chuẩn BCNF Nhiều candidate key không vi phạm BCNF hay 3NF, không cần phải phân chia bảng chỉ vì nó có nhiều... 35 V í dụ Xét lược đồ phụ thuộc sau: Mã_SV Mã_Môn Email Diem Hai candidate key: Ma_SV+Ma_Mon; Email+Ma_Mon Chỉ có 1 thuộc tính không khóa là Diem Bất thường 1: 1 phần của khóa này xác định 1 phần của khóa khác Bảng thuộc 3NF nhưng không là BCNF Làm thế nào để chuẩn hóa thành BCNF??? HeCSDL 36 36NN ... thuộc hàm F nếu R ở dạng chuẩn 1 và mọi phụ thuộc hàm X->A với A ∉ X thì X là 1 siêu khóa của R hoặc A là 1 thuộc tính khóa HeCSDL 24 24NN Biến đổi thành dạng chuẩn 3 Loại bỏ các phụ thuộc bắc cầu trong quan hệ và tạo ra các quan hệ mới tương ứng với các phụ thuộc bắc cầu 25NN HeCSDL 25 V í dụ NN HeCSDL 26 26 Dạng chuẩn 3 Quan hệ ở 3NF vẫn có thể có các bất thường khi cập nhật Ví dụ: xét lược đồ quan... tương ứng với các phụ thuộc hàm riêng phần 18NN HeCSDL 18 Lược đồ phụ thuộc NN HeCSDL 19 19 Second Normal Form (2NF) Conversion Results NN HeCSDL 20 20 Dạng chuẩn 2 Quan hệ ở 2NF vẫn có thể có các bất thường khi cập nhật Ví dụ: xét quan hệ EMPLOYEE đã ở chuẩn 2NF Khi thêm 1 loại công việc mới và lương giờ của công việc mới mà công việc này chưa có nhân viên nào làm sẽ vi phạm ràng buộc khoá chính Khi sửa... (Transitive dependency) K HeCSDL X A 29NN 29 Dạng chuẩn 3 nhưng không là BCNF NN HeCSDL 30 30 Chuyển đổi thành BCNF Có thể biến đổi trực tiếp bảng từ 1NF thành BCNF, mà không cần phải qua các bước chuẩn hóa 2NF, 3NF Loại bỏ các định thuộc không phải là siêu khoá Tạo các quan hệ mới tương ứng với các định thuộc sao cho định thuộc trở thành siêu khoá của quan hệ mới 31NN HeCSDL 31 Phân tách thành BCNF... Employee_Course HeCSDL Khóa là Emp_ID,Course Emp_ID, Course Grade là phụ thuộc hàm đầy đủ Emp_ID, course Name, Dept_Name là phụ thuộc hàm không đầy đủ Emp_ID, Course Name, Dept_Name Emp_ID Name, Dept_Name Emp_ID ⊂ {Emp_ID, Course } 15 15NN Phụ thuộc riêng phần đầy đủ (partial functional dependency) Phụ thuộc hàm riêng phần (partial FD) X A, tồn tại Y ⊂ X sao cho Y A 16NN HeCSDL 16 Dạng chuẩn 2 (2NF – second... thừa hơn) Bảng Employee (Emp_ID, Name, Dept_Name ) Bảng Course (Emp_ID, Course_Title, Date_Completed) NN HeCSDL 11 Nhận xét Dạng chuẩn 1 có thể có các bất thường khi cập nhật Ví dụ: trong lược đồ Employee_Course, sẽ có các bất thường sau: Thêm 1 nhân viên mới chưa tham gia khóa học nào vi phạm quy luật bảo toàn thực thể Thay đổi tên phòng phải thay đổi hàng loạt thông tin này cho tất cả các nhân viên . HeCSDL 1 NN NN CHƯƠNG CHƯƠNG Chu Chu ẩ ẩ n h n h ó ó a a (Normalization) (Normalization) HeCSDL 2 NN NN N N ộ ộ i dung i dung  Định nghĩa chuẩn hóa  Các dạng chuẩn hóa 2 HeCSDL 3 NN NN Chu Chu ẩ ẩ n. bị xóa theo 12 HeCSDL 13 NN NN A Table in the Report Format A Table in the Report Format 13 Repeating group HeCSDL 14 NN NN Lư Lư ợ ợ c đ c đ ồ ồ ph ph ụ ụ thu thu ộ ộ c c 14 HeCSDL 15 NN NN Ph Ph ụ ụ thu thu ộ ộ c. CourseTitle HeCSDL 11 NN NN C C á á ch 2 ( ch 2 ( í í t dư th t dư th ừ ừ a hơn a hơn ) )  Bảng Employee (Emp_ID, Name, Dept_Name )  Bảng Course (Emp_ID, Course_Title, Date_Completed) HeCSDL 12 NN NN Nhận

Ngày đăng: 12/05/2014, 12:03

Mục lục

  • Bảng chưa chuẩn hóa

  • Ví dụ bảng chưa chuẩn hóa

  • Dạng chuẩn 1 (1NF – first normal form)

  • Biến đổi về dạng chuẩn 1

  • Quan hệ Employee_Course

  • Quan hệ Employee_Course dạng chuẩn 1

  • Cách 2 (ít dư thừa hơn)

  • A Table in the Report Format

  • Lược đồ phụ thuộc

  • Phụ thuộc hàm đầy đủ (Full functional dependency)

  • Phụ thuộc riêng phần đầy đủ (partial functional dependency)

  • Dạng chuẩn 2 (2NF – second Normal Form)

  • Biến đổi thành 2NF

  • Lược đồ phụ thuộc

  • Second Normal Form (2NF) Conversion Results

  • Phụ thuộc bắc cầu (Transitive dependency)

  • Phụ thuộc bắc cầu (Transitive dependency)

  • Dạng chuẩn 3 (3NF – third normal form)

  • Biến đổi thành dạng chuẩn 3

  • Dạng chuẩn Boyce-Codd (BCNF)

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

Tài liệu liên quan