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