Cho quan hệ R thuộc tính U={ABCD } tập phụ thuộc hàm F={AB→C, A→D, } Tìm bao đóng X+F với XU Tìm khóa tối thiểu Tìm tất khóa tối thiểu Tìm tập phụ thuộc hàm tối thiểu F* Chuẩn hóa quan hệ 3NF Giải Bao đóng tập phụ thuộc hàm suy diễn từ F Thuật toán: B1: đặt X0=X B2: Xi+1=XiZ ∃ Y→Z F Cho đến Xi+1 = Xi X+F = Xi K gọi khóa tối thiểu R K+=U không ∃ K’K mà K’+ = U B1: Đặt K0=U B2: Ki+1=Ki \ Z ∃ Y→Z F Cho đến Ki+1 = Ki K=Ki+1 Authors: Jeniys2 Email: Tuan96s2@gmail.com Bước 1: Xác định N: Thuộc tính mà có mũi tên (tức nằm vế trái phụ thuộc hàm) gọi nút gốc L: Thuộc tính mà tới có cung tới (tức nằm vế phải phụ thuộc hàm) gọi nút X: Còn lại thuộc tính trung gian Siêu khóa tập K ⊆ U Nếu K khóa R K chứa tất thuộc tính nguồn không chứa thuộc tính đích Phân biệt khóa với siêu khóa: K gọi khoá R nếu: - K siêu khoá c R - ∀ K' ⊂ K K' siêu khoá R Để xác định vẽ lược đồ phụ thuộc hàm B1: Nếu N+F=U quan hệ có khóa N B2: Liệt kê tập nguồn tập trung gian Authors: Jeniys2 Email: Tuan96s2@gmail.com Lập bảng Xi N Xi N Tập tập trung gian (2n phân tử) (Xi N)+ Siêu khóa khóa Tất khóa cần tìm Một phủ tối thiểu tập phụ thuộc hàm F tập phụ thuộc hàm G, Trong đó: • G tương đương với F (tức G+ = F+) • Tất phụ thuộc hàm G có dạng X → A Trong A thuộc tính • Không thể làm cho G nhỏ (Tức xoá thêm phụ thuộc hàm G hay xoá thuộc tính bên phía phải, phía trái phụ thuộc hàm mà G tương đương với F) Phương pháp: Loại bỏ thuộc tính dư thừa Giả sử xét phụ thuộc hàm có dạng XY→Z Lần lượt kiểm tra X hay Y có thừa không Giả sư kiểm tra Y Nếu X+ chưa Y Y thừa Authors: Jeniys2 Email: Tuan96s2@gmail.com Loại bỏ phụ thuộc hàm dư thừa Xét X→Y xem có dư thừa không Ta loại X→Y khỏi F sau tính X+ X+ chứa Y X→Y thừa, Ngược lại không thừa Chuẩn khóa B1: Đồ thị phụ thuộc hàm Ví dụ AB→CD, B→G, C→H B2: Chuẩn hóa 1NF: Khái niệm: Lược đồ quan hệ R gọi 1NF tất thuộc tính R thoả mãn điều kiện sau: Là nguyên tố Giá trị thuộc tính đơn trị, không chứa nhóm lặp Không có thuộc tính có giá trị mà tính toán từ số thuộc tính khác Authors: Jeniys2 Email: Tuan96s2@gmail.com Nguyên tắc chung: Loại bỏ thuộc tính lặp đa trị Các bước thực hiện: Tách nhóm thuộc tính lặp / đa trị sang bảng Khóa bảng Khóa bảng ban đầu khóa nhóm lặp Bảng lại bảng gồm có khóa thuộc tính lại Ví dụ: cho quan hệ Với A1 khóa quan hệ, {A4,A5,A5} thuộc tính lặp Quan hệ R tách thành quan hệ R1, R2 Quy tắc chuẩn hóa từ 1NF - 2NF: Bước 1: Loại bỏ thuộc tính không khoá phụthuộc vào phận khoá tách thành bảng riêng, khoá bảng phận khoá mà chúng phụ thuộc vào Bước 2: Các thuộc tính lại lập thành quan hệ, khóa khóa ban đầu Authors: Jeniys2 Email: Tuan96s2@gmail.com Quy tắc chuẩn hóa NF3: Bước 1: Loại bỏ thuộc tính phụ thuộc bắc cầu khỏi quan hệ tách chúng thành quan hệ riêng có khoá thuộc tính bắc cầu Bước 2: Các thuộc tính lại lập thành quan hệ có khóa quan hệ ban đầu Authors: Jeniys2 Email: Tuan96s2@gmail.com ... lặp Bảng lại bảng gồm có khóa thuộc tính lại Ví dụ: cho quan hệ Với A1 khóa quan hệ, {A4,A5,A5} thuộc tính lặp Quan hệ R tách thành quan hệ R1, R2 Quy tắc chuẩn hóa từ 1NF - 2NF: Bước 1: Loại... lược đồ phụ thuộc hàm B1: Nếu N+F=U quan hệ có khóa N B2: Liệt kê tập nguồn tập trung gian Authors: Jeniys2 Email: Tuan96s2@gmail.com Lập bảng Xi N Xi N Tập tập trung gian (2n phân tử) (Xi ... lập thành quan hệ, khóa khóa ban đầu Authors: Jeniys2 Email: Tuan96s2@gmail.com Quy tắc chuẩn hóa NF3: Bước 1: Loại bỏ thuộc tính phụ thuộc bắc cầu khỏi quan hệ tách chúng thành quan hệ riêng