Tài Liệu môn HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
CHƯƠNG Chuẩn hóa (Normalization) NN HeCSDL Nội dung Định nghĩa chuẩn hóa Các dạng chuẩn hóa 2NN HeCSDL Chuẩn hóa (normalization) Chuẩn hóa kỹ thuật dùng để tạo tập quan hệ có đặc điểm mong muốn dựa vào yêu cầu liệu nghiệp vụ Mục đích: loại bỏ bất thường (anomaly) quan hệ để có quan hệ có cấu trúc tốt hơn, nhỏ Quan hệ có cấu trúc tốt (well-structured relation): quan hệ có dư thừa liệu tối thiểu cho phép người dùng thêm, sửa, xóa mà khơng gây mâu thuẩn liệu Như chuẩn hóa liệu nhằm cải tiến thiết kế CSDL luận lý nhằm thỏa mãn ràng buộc toàn vẹn tránh dư thừa liệu 3NN HeCSDL Chuẩn hóa Quá trình chuẩn hóa thực qua nhiều bước Mỗi bước tương ứng dạng chuẩn Các dạng chuẩn: Dạng chuẩn (1NF – first 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 4NN HeCSDL Bảng chưa chuẩn hóa Một bảng chưa chuẩn hóa bảng ghi liệu thực tế Bảng chưa chuẩn hóa chứa nhiều nhóm lặp (Repeating group) Nhóm lặp lại nhóm nhiều hàng nhóm thuộc tính ứng với khóa (…) bảng chưa chuẩn hóa Bảng chưa chuẩn hóa cần phải đưa dạng chuẩn thấp nhấp dạng chuẩn (1NF) HeCSDL 5NN Ví dụ bảng chưa chuẩn hóa Repeating group HeCSDL NN 6 Dạng chuẩn (1NF – first normal form) Bảng dạng chuẩn Có khóa Khơng có nhóm lặp lại 7NN HeCSDL Biến đổi dạng chuẩn Cách 1: Điền liệu vào cột trống chọn khóa Cách 2: Tách thành bảng nhằm xóa bỏ nhóm lặp lại Xác định khóa bảng 8NN HeCSDL Quan hệ Employee_Course Emp_ ID Name Dept_Nam Salary e Course_ Title Date_ Complete d 100 M.Simpson Marketing 48000 SPSS Surveys 6/19/2001 12/12/2002 140 A.Beeton Acounting 52000 Tax Acc 12/8/2003 110 C.Lureco Info System 43000 SPSS C++ 1/12/2003 2/6/2004 190 L.Davis Finance 55000 150 S.Martin Marketing 42000 SPSS Java 6/16/2002 5/7/2004 9NN HeCSDL Quan hệ Employee_Course dạng chuẩn Emp_ ID Name 100 M.Simpson Marketing 48000 SPSS 6/19/2001 100 M.Simpson Marketing 48000 Surveys 12/12/2002 140 A.Beeton Acounting 52000 Tax Acc 12/8/2003 110 C.Lureco Info System 43000 SPSS 1/12/2003 110 C.Lureco Info System 43000 C++ 2/6/2004 190 L.Davis Finance 55000 150 S.Martin Marketing 42000 SPSS 6/16/2002 150 S.Martin Marketing 42000 Java 5/7/2004 HeCSDL Dept_Nam Salary e Dạng chuẩn Khóa EmpID + CourseTitle 10 Course_ Title Date_ Complete d 10NN Phụ thuộc bắc cầu (Transitive dependency) K HeCSDL X A 23NN 23 Dạng chuẩn (3NF – third normal form) Định nghĩa 1: Lược đồ quan hệ R 3NF tập phụ thuộc hàm F nếu: R dạng 1NF Mọi thuộc tính khơng khóa khơng phụ thuộc bắc cầu vào khóa R Định nghĩa 2: Lược đồ quan hệ R 3NF tập phụ thuộc hàm F R dạng chuẩn phụ thuộc hàm X->A với A ∉ X X siêu khóa R A thuộc tính khóa HeCSDL 24 24NN Biến đổi thành dạng chuẩn Loại bỏ phụ thuộc bắc cầu quan hệ tạo quan hệ tương ứng với phụ thuộc bắc cầu 25NN HeCSDL 25 V í dụ NN HeCSDL 26 26 Dạng chuẩn Quan hệ 3NF có bất thường cập nhật Ví dụ: xét lược đồ quan hệ EMPLOYEE_TEACHER (EmpId, Course, Teacher) Có phụ thuộc hàm: EmpId, Course Teacher Teacher Course Thuộc dạng 3NF, có bất thường trùng lặp liệu 27NN HeCSDL 27 Dạng chuẩn Boyce-Codd (BCNF) Lược đồ quan hệ R dạng chuẩn BCNF tập phụ thuộc hàm F R dạng chuẩn 1, với phụ thuộc hàm X Y với Y ∉ X X siêu khóa R Nếu determinant (định thuộc - vế trái phụ thuộc hàm) key ? Quan hệ dạng chuẩn BCNF dạng chuẩn 28NN HeCSDL 28 Phụ thuộc bắc cầu (Transitive dependency) K HeCSDL X A 29NN 29 Dạng chuẩn không 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 bước chuẩn hóa 2NF, 3NF Loại bỏ định thuộc siêu khoá Tạo quan hệ tương ứng với định thuộc cho định thuộc trở thành siêu khoá quan hệ 31NN HeCSDL 31 Phân tách thành BCNF NN HeCSDL 32 32 V í dụ NN HeCSDL 33 33 So sánh 3NF BCNF BCNF xem trường hợp đặc biệt 3NF Với quan hệ có nhiều candidate key phức hợp BCNF tránh hai bất thường xảy 3NF phần khóa xác định phần khóa khác Cột khơng khóa xác định phần khóa 34NN HeCSDL 34 Candidate key BCNF Một quan niệm sai lầm cho bảng với nhiều candidate key 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 có nhiều candidate key 35NN HeCSDL 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ó thuộc tính khơng khóa Diem Bất thường 1: phần khóa xác định phần khóa khác Bảng thuộc 3NF khơng BCNF Làm để chuẩn hóa thành BCNF??? HeCSDL 36 36NN V í dụ Tách bảng thành bảng sau: TABLE1(MaMon,MaSV, Diem) TABLE2(MaSV, Email) 37NN HeCSDL 37 ... thuật dùng để tạo tập quan hệ có đặc điểm mong muốn dựa vào yêu cầu liệu nghiệp vụ Mục đích: loại bỏ bất thường (anomaly) quan hệ để có quan hệ có cấu trúc tốt hơn, nhỏ Quan hệ có cấu trúc tốt... quan hệ R 3NF tập phụ thuộc hàm F R dạng chuẩn phụ thuộc hàm X->A với A ∉ X X siêu khóa R A thuộc tính khóa HeCSDL 24 24NN Biến đổi thành dạng chuẩn Loại bỏ phụ thuộc bắc cầu quan hệ tạo quan hệ. .. Form) Lược đồ quan hệ R dạng 2NF tập phụ thuộc hàm F nếu: R dạng chuẩn Mọi thuộc tính khơng khóa phụ thuộc hàm đầy đủ vào khóa R Nếu quan hệ R có khóa đơn đương nhiên quan hệ dạng chuẩn 17NN