Chương Chuẩn hóa sở liệu Chuẩn hóa lược đồ CSDL Dạng chuẩn: đánh giá trùng lắp thông tin CSDL - Nếu CSDL có trùng lắp thông tin thì: => phải quản lý trùng lắp thông tin (bảo đảm tất thông tin trùng lắp phải nhau) => phải cập nhật tất nơi mà thông tin trùng lắp xuất - Nếu muốn tồn trùng lắp thông tin (vì mục đích đó) cần phải có chế xác định tự động nơi trùng lắp thông tin để tự động cập nhật cần Cơ sở liệu - Khoa CNTT - CĐ KTCN ĐN Một số khái niệm liên quan chuẩn hóa CSDL Thuộc tính khoá/không khoá Cho lược đồ quan hệ Q(A1, A2, …An) thuộc tính B gọi thuộc tính khoá B thuộc tính thành phần khoá Q, ngược lại B gọi thuộc tính không khoá VD: Q(A, B, C, D), F = { ABÆC, BÆD, BCÆA } Q có khoá AB, BC Khi A, B, C thuộc tính khoá, D thuộc tính không khoá Cơ sở liệu - Khoa CNTT - CĐ KTCN ĐN Một số khái niệm liên quan chuẩn hóa CSDL Phụ thuộc hàm đầy đủ/Không đầy đủ X →A phụ thuộc hàm đầy đủ (tức không tồn X' ⊂ X cho X' → A ∈ F+) Ví dụ: Cho lược đồ quan hệ Q(ABC) tập phụ thuộc hàm F={A → B; A→ C; AB → C} Ta có: A →B; A → C phụ thuộc hàm đầy đủ Phụ thuộc hàm AB → C không phụ thuộc hàm đầy đủ có A → C Cơ sở liệu - Khoa CNTT - CĐ KTCN ĐN I Dạng chuẩn 1: Lược đồ quan hệ Q gọi đạt dạng chuẩn (1NF) toàn thuộc tính Q mang giá trị đơn MASV HOTEN MONHOC DIEM CDTH0845 Nguyễn Văn A Kỹ Thuật Lập Trình Cơ Sở Dữ Liệu Cấu Trúc Dữ Liệu CDTH0845 Trần Thu Hà Kỹ Thuật Lập Trình Lược đồ không đạt chuẩn Cơ sở liệu - Khoa CNTT - CĐ KTCN ĐN Dạng chuẩn 1: (tt) Lược đồ đạt chuẩn MASV HOTEN MONHOC DIEM CDTH0845 Nguyễn Văn A Kỹ Thuật Lập Trình CDTH0845 Nguyễn Văn A Cơ Sở Dữ Liệu CDTH0845 Nguyễn Văn A Cấu Trúc Dữ Liệu CDTH0845 Trần Thu Hà Kỹ Thuật Lập Trình Cơ sở liệu - Khoa CNTT - CĐ KTCN ĐN II Dạng chuẩn 2: Lược đồ quan hệ Q gọi đạt dạng chuẩn (2NF) Q đạt chuẩn thuộc tính không khóa phụ thuộc đầy đủ vào khóa Vd 1: Q(A,B,C,D) tập PTH F = {AB → C,D; B → D; C→ A} Khoá {A,B} {B,C} Do D thuộc tính không khoá, A,B → D không phụ thuộc hàm đầy đủ có B → D Vậy Q đạt chuẩn Cơ sở liệu - Khoa CNTT - CĐ KTCN ĐN Kiểm tra dạng chuẩn Bước 1: Tìm khóa Q Bước 2: Với khóa K, tìm bao đóng tập tất tập thực Si K Bước 3: Nếu tồn bao đóng Si+ chứa thuộc tính không khóa Q không đạt dạng chuẩn 2, ngược lại Q đạt dạng chuẩn Cơ sở liệu - Khoa CNTT - CĐ KTCN ĐN Dạng chuẩn 2: (tt) VD 2: Xác định dạng chuẩn lược đồ quan hệ sau Q(GMVNHP) F={G→N; G→H; G→P; M→V; NHP→M} Dễ thấy khoá lược đồ quan hệ Q G Thuộc tính không khoá M,V,N,H,P Do phụ thuộc hàm G → M; G → V; G → N; G → H; G → P phụ thuộc hàm đầy đủ, nên lược đồ quan hệ Q đạt dạng chuẩn Cơ sở liệu - Khoa CNTT - CĐ KTCN ĐN Dạng chuẩn 2: (tt) VD 3: Q(ABCDEH) F = { A → E; C → D; E → DH } Dễ thấy khoá Q K={ABC} D thuộc tính không khoá C → D , C tập thực khoá nên Q không đạt dạng chuẩn Cơ sở liệu - Khoa CNTT - CĐ KTCN ĐN 10 III Dạng chuẩn 3: Một lược đồ quan hệ Q đạt dạng chuẩn phụ thuộc hàm X→A ∈ F+ với A ∉ X hai ĐK sau thỏa: y Hoặc X siêu khoá Q y Hoặc A thuộc tính khoá Nhận xét: ¾ Nếu Q đạt chuẩn Q đạt chuẩn Cơ sở liệu - Khoa CNTT - CĐ KTCN ĐN 11 Dạng chuẩn 3: (định nghĩa ≠) Một lược đồ quan hệ Q đạt dạng chuẩn nếu: ¾ Q đạt chuẩn ¾ Mọi thuộc tính không khóa không phụ thuộc bắc cầu vào thuộc tính khóa Cho Q(U) XÆY thuộc tính bắc cầu tồn Z ⊆ U, mà Z không khóa mà không tập khóa Q mà XÆZ; ZÆY Q Cơ sở liệu - Khoa CNTT - CĐ KTCN ĐN 12 Kiểm tra dạng chuẩn Bước 1: Tìm khóa Q Bước 2: Phân rã vế phải phụ thuộc hàm có vế phải thuộc tính Bước 3: Nếu phụ thuộc hàm X Æ A ∈ F, mà A ∉ X thỏa: (1) X siêu khóa (vế trái chứa khóa), (2) A thuộc tính khóa (vế phải tập khóa) Thì Q đạt dạng chuẩn 3, ngược lại Q không đạt dạng chuẩn Cơ sở liệu - Khoa CNTT - CĐ KTCN ĐN 13 Ví dụ Cho Q (A, B, C, D), F={AB → D, C → D} Bước 1: Q có khóa ABC Bước 2: Mọi phụ thuộc hàm F có vế phải thuộc tính Bước 3: Với AB → D, nhận thấy D ∉ ABC có • Vế trái (AB) siêu khóa • Hơn vế phải (D) không thuộc tính khóa Vậy Q không đạt dạng chuẩn Cơ sở liệu - Khoa CNTT - CĐ KTCN ĐN 14 Dạng chuẩn 3: (tt) Ví dụ Cho lược đồ quan hệ Q(ABCD) F=[AB → C ; D → B C → ABD] ta có: K1=[AB]; K2=[AD]; K3=[C] khoá, Q thuộc tính không khoá nên Q đạt chuẩn (K Æ A, B A, B thuộc tính khoá) Hệ Nếu lược đồ quan hệ Q thuộc tính không khoá Q đạt chuẩn Cơ sở liệu - Khoa CNTT - CĐ KTCN ĐN 15 Dạng chuẩn 3: (tt) Ví dụ Xác định dạng chuẩn lược đồ quan hệ sau Q(NGPM) có tập PTH F = { NGP→M; M→P} Dễ thấy khoá Q {NGP}, {NGM} NGP → M có vế trái siêu khoá M → P có vế phải thuộc tính khoá Nên Q đạt chuẩn Cơ sở liệu - Khoa CNTT - CĐ KTCN ĐN 16 IV Dạng chuẩn BC: (Boyce Codd) Lược đồ Q dạng chuẩn BC phụ thuộc hàm X→A ∈ F+ với A ∉ X có X siêu khóa Hệ 1: ¾ Nếu Q đạt chuẩn BC Q đạt chuẩn (hiển nhiên định nghĩa chuẩn 3) Hệ 2: ¾ Mỗi lược đồ có hai thuộc tính đạt chuẩn BC (xét phụ thuộc hàm có Q) Cơ sở liệu - Khoa CNTT - CĐ KTCN ĐN 17 Kiểm tra dạng chuẩn BC Bước 1: Tìm khóa Q Bước 2: Phân rã vế phải phụ thuộc hàm F có vế phải thuộc tính Bước 3: Nếu phụ thuộc hàm XÆA ∈ F, mà A ∉ X thỏa X siêu khóa (vế trái chứa khóa), Q đạt dạng chuẩn BC, ngược lại Q không đạt dạng chuẩn BC Cơ sở liệu - Khoa CNTT - CĐ KTCN ĐN 18 VD: Cho Q (A, B, C, D, E, I), F={ACDÆEBI, CEÆAD} Bước 1: Q có hai khóa {ACD}, {CE} Bước 2: Phân rã vế phải phụ thuộc hàm F, ta có: F={ACDÆE, ACDÆB, ACDÆI, CEÆA, CEÆD} Bước 2: Mọi phụ thuộc hàm F có vế trái siêu khóa Vậy Q đạt dạng chuẩn BC Cơ sở liệu - Khoa CNTT - CĐ KTCN ĐN 19 Thuật toán kiểm tra dạng chuẩn: Đầu vào: lược đồ quan hệ Q, tập phụ thuộc hàm F Đầu ra: khẳng định Q đạt chuẩn gì? ¾ Bước 1: Tìm tất khóa Q ¾ Bước 2: Kiểm tra chuẩn BC Q đạt chuẩn BC, ngược lại qua bước ¾ Bước 3: Kiểm tra chuẩn Q đạt chuẩn 3, ngược lại qua bước ¾ Bước 4: Kiểm tra chuẩn Q đạt chuẩn 2, ngược lại Q đạt chuẩn Cơ sở liệu - Khoa CNTT - CĐ KTCN ĐN 20 10 ... Thuật Lập Trình Cơ Sở Dữ Liệu Cấu Trúc Dữ Liệu CDTH 084 5 Trần Thu Hà Kỹ Thuật Lập Trình Lược đồ không đạt chuẩn Cơ sở liệu - Khoa CNTT - CĐ KTCN ĐN Dạng chuẩn 1: (tt) Lược đồ đạt chuẩn MASV HOTEN... MONHOC DIEM CDTH 084 5 Nguyễn Văn A Kỹ Thuật Lập Trình CDTH 084 5 Nguyễn Văn A Cơ Sở Dữ Liệu CDTH 084 5 Nguyễn Văn A Cấu Trúc Dữ Liệu CDTH 084 5 Trần Thu Hà Kỹ Thuật Lập Trình Cơ sở liệu - Khoa CNTT... ¾ Nếu Q đạt chuẩn Q đạt chuẩn Cơ sở liệu - Khoa CNTT - CĐ KTCN ĐN 11 Dạng chuẩn 3: (định nghĩa ≠) Một lược đồ quan hệ Q đạt dạng chuẩn nếu: ¾ Q đạt chuẩn ¾ Mọi thuộc tính không khóa không phụ