và các thuật toán liên quan
3.3 Dạng chuẩn 3NF
Trong mục này, chúng ta đưa ra một khái niệm quan trọng thường dùng để mô tả dạng chuẩn 3NF
Định nghĩa 1.
Một phụ thuộc hàm A → C được gọi là trực tiếp nếu không có B (B ≠ A và B ≠ C) sao cho A → B và B → C nhưng B không phụ thuộc hàm vào A hoặc C không phụ thuộc hàm vào B. Trong trường hợp nếu có B như vậy thì B được gọi là tập thuộc tính bắc cầu và A → C là phụ thuộc bắc cầu.
Ta có một đặc trưng sau cho dạng chuẩn 3. Định lí 2.
Cho r là một quan hệ trên R. Khi đó r là 3NF nếu và chỉ nếu
- r là 2NF
- Không có một thuộc tính thứ cấp nào của r phụ thuộc bắc cầu vào một khoá tối tiểu.
Từ Định lí 2 đối với SĐQH ta cũng có kết quả sau
Mệnh đề 3.
Giả sử s là một sơ đồ quan hệ trên R. Khi đó s là 3NF nếu và chỉ nếu
- s là 2NF
- Mọi thuộc tính thứ cấp của s phụ thuộc trực tiếp vào mỗi khoá tối tiểu.
Trong dạng chuẩn 3NF chúng ta loại bỏ các phụ thuộc bộ phận, phụ thuộc bắc cầu giữa các thuộc tính thứ cấp với các khoá tối tiểu.
Chúng ta trình bày thêm một số đặc trưng của các SĐQH dạng 3NF.
Cho s = <R, F> là một sơ đồ quan hệ trên R. Từ s chúng ta xây dựng Z(s) = {X+ : X ⊆ R}, và tính hệ sinh Ns của Z(s). Chúng ta đặt
Ts ={A ∈ Ns : ∃ B ∈ Ns : A ⊂ B}
Biết rằng [1] đối với một sơ đồ quan hệ s cho trước thì tồn tại một quan hệ r là quan hệ Amstrong của s. Mặt khác bởi Định lý 17 và Hệ quả 18 mục 2.2, mệnh đề dưới đây là rõ ràng
Mệnh đề 4.
S là một SĐQH. Khi đó Ks-1 = Ts . Định lí 5.
Cho s = <R, F> là một sơ đồ quan hệ. Đặt Fn là tập tất cả các thuộc tính thứ cấp của s. Khi đó s là 3NF nếu và chỉ nếu ∀ B ∈ Ks-1, a ∈ Fn : (B - a)+ = B - a.
Lời giải: Giả sử Fn≠ ∅. Có thể thấy rằng s là 3NF thì đối với mỗi B ∈ Ks-1, a ∈ Fn : B - a = (B - a)+ .
Ngược lại, nếu s không là 3NF thì tồn tại một tập A và a ∈ Fn : a ∉ A sao cho A → {a} ∈ F+ và A+ ≠ R. Phù hợp với Mệnh đề 4 có B ∈ K-1
r sao cho A+ ⊆ B. Từ a ∈ A+ chúng ta có a ∈ B. Do a ∉ A ta có A ⊆ B - a. Do đó ta thu được B - a ⊂ (B - a)+.
Định lí 6.
Giả sử r là một quan hệ trên R. Khi đó r là 3NF nếu và chỉ nếu với mọi A ∈ Er , a ∈ A và a là thuộc tính thứ cấp thì {A- a }r+ = A- a, ở đây Er là hệ bằng nhau của r.
Từ Định lí 5 ta có hệ quả sau Hệ quả 7.
Giả sử s là một sơ đồ quan hệ trên R. Khi đó s là 3NF nếu và chỉ nếu với mọi A : A+ = A, a ∈ A và a là thuộc tính thứ cấp thì {A - a }+ = A- a.
3.4. Dạng chuẩn BCNF
Trong mục này, chúng ta đưa ra một số các đặc trưng của dạng chuẩn BCNF cho sơ đồ quan hệ và quan hệ.
Định nghĩa 1.
Giả sử r là một quan hệ trên R, A,B ⊆ R và A →
B.
Khi đó ta nói A là tập sinh của B nếu - | A | < |B|,
- Không tồn tại tập con thực sự của A mà xác định hàm cho B.
Tập C là tập sinh của quan hệ r nếu có một tập D nào đó để C là tập sinh của D.
Định lí 2
Giả sử r là quan hệ trên R. Khi đó r là BCNF khi và chỉ khi mọi tập sinh của r đều là khoá.
Mệnh đề 3
Cho s = <R, F> là một sơ đồ quan hệ. Đặt Fn là tập tất cả các thuộc tính thứ cấp của s. Khi đó
s là BCNF nếu và chỉ nếu ∀ B ∈ Ks1, a ∈ B : (B - a)+ = B - a.
Lời giải: Dễ thấy nếu s là BCNF thì (B - a)+ = B - a đối với B ∈ Ks-1 và a ∈ B.
Ngược lại giả thiết s không là BCNF. Khi đó tồn tại A → {a} ∈ F+ ở đây A+ ≠ R và a ∉ A. Bởi mệnh đề 4 mục trên, ta có B ∈ K-1 sao cho A+⊆ B. Rõ ràng, a ∈ B và A ⊆ B - a. Từ đó, ta có (B - a)+ = B.
Định lí 4.
Giả sử r là một quan hệ trên R. Khi đó r là BCNF nếu và chỉ nếu với mọi A ∈ Mr , a ∈ A thì {A- a }r+ = A- a, ở đây Mr là hệ bằng nhau cực đại của r.
Giả sử A→ B là một phụ thuộc hàm. Chúng ta gọi phụ thuộc hàm này là tầm thường nếu B ⊆ A. Ngược lại trong trường hợp này, chúng ta gọi nó là phụ thuộc hàm không tầm thường.
Định lí 5
Giả sử s = < R,F> là một sơ đồ quan hệ trên R. Khi đó s là BCNF nếu và chỉ nếu với mọi A→ B ∈ F và A→ B không tầm thường thì A+ = R.