Tập phụ thuộc hàm tối thiểu

Một phần của tài liệu Cơ sở dữ liệu (Trang 84 - 86)

* Các tập phụ thuộc hàm tương đương:

Cho hai tập phụ thuộc hàm F và G trên tập thuộc tính U. Ta nói F và G tương đương, viết F∼G, nếu F+ = G+. Khi đó ta còn gọi là G phủ F (và F phủ G).

Vì việc tính F+, G+ rất khó nên để kiểm tra F tương đương với G ta sử dụng thuật toán sau:

+ Lấy mỗi phụ thuộc hàm X→Y∈F và kiểm tra X→Y ∈ G+. + Lấy mỗi phụ thuộc hàm X→Y∈G và kiểm tra X→Y ∈ F+.

Nếu mọi X→Y∈F đều có X→Y∈G+ và mọi X→Y∈G đều có

X→Y∈G+ thì F ∼ G.

Ngược lại, F không tương đương với G. * Tập phụ thuộc hàm không dư thừa phải:

+ Một phụ thuộc hàm được gọi là không dư thừa phải nếu vế phải của nó chỉ gồm một thuộc tính.

+ Tập phụ thuộc hàm F được gọi là không dư thừa phải nếu mọi phụ thuộc hàm trong F đều không dư thừa phải.

+ Cách tìm tập phụ thuộc hàm G không dư thừa phải tương đương với F:

- Đưa các phụ thuộc hàm có vế phải chỉ gồm 1 thuộc tính trong F vào G.

- Nếu có phụ thuộc hàm dạng X → A1A2...Ak ∈ F với k ≥ 2, tách nó thành k phụ thuộc hàm X → A1, X → A2,..., X → Ak và đưa vào G.

Do phép tách là tương đương nên ta có F ∼ G.

* Tập phụ thuộc hàm không dư thừa phụ thuộc hàm:

+ Tập phụ thuộc hàm F được gọi là không dư thừa phụ thuộc hàm (không dư thừa) nếu không tồn tại phụ thuộc hàm X→Y ∈ F mà F ∼ (F \ {X →Y}).

+ Cách tìm tập phụ thuộc hàm G không dư thừa phụ thuộc hàm, tương đương với F:

- Bước 0: Đặt F0=F

- Bước i : Fi-1 \{X→ Y } nếu tồn tại X→ Ysao cho

Tính Fi = Fi-1 \ {X→ Y } ∼ Fi-1

Fi-1 nếu ngược lại + Cuối cùng đặt G = Fi.

* Tập phụ thuộc hàm không dư thừa trái:

+ Phụ thuộc hàm X→Y được gọi là không dư thừa trái nếu không tồn tại thuộc tính A ∈ X sao cho F\{X →Y} ∪ {X \ A →Y} ∼ F. + Tập phụ thuộc hàm F được gọi là không dư thừa trái nếu mọi phụ thuộc hàm trong F đều không dư thừa trái.

+ Cách tìm tập phụ thuộc hàm G không dư thừa trái, tương đương với F: Xét lần lượt từng phụ thuộc hàm. + Bước 0: Đặt F0=F + Bước i: Tính Fi. - Xét phụ thuộc hàm thứ i: Li → Xi - Đặt F0 = Fi-1

Fj-1 \{X→Y}∪{X\A→Y} nếu tồn tại A∈X Tính Fj = sao cho Fj-1 \{X→ Y}∪{X\A→ Y} ∼ Fj-1

Fj-1 nếu ngược lại - Lấy Fi = Fj.

+ Cuối cùng đặt G = Fi. Tập phụ thuộc hàm tối thiểu:

Tập phụ thuộc hàm F được gọi là tối thiểu nếu: i) F không dư thừa phải.

ii) F không dư thừa. iii) F không dư thừa trái.

Ta gọi tập phụ thuộc hàm G là phủ tối thiểu của tập phụ thuộc hàm F nếu:

G là tập phụ thuộc hàm tối thiểu. G phủ F.

Định lý: Mỗi tập phụ thuộc hàm F đều có một phủ tối thiểu G nào đó.

Cách tìm phủ tối thiểu của tập phụ thuộc hàm F: Bước 1. Tìm phủ không dư thừa phải F1 của F. Bước 2. Tìm phủ không dư thừa F2 của F1. Bước 3. Tìm phủ không dư thừa trái F3 của F2. Bước 4. Đặt G=F3, khi đó G là phủ tối thiểu của F. Ví dụ: Cho tập phụ thuộc hàm

F = {A→CD, C→D, BE→I, EG→H, E→G}. Tìm phủ tối thiểu của F.

Ta có:

+ Phủ không dư thừa phải của F là

F1={A→C, A→D, C→D, BE→I, EG→H, E→G}. + Phủ không dư thừa của F1 là

F2={A→C, C→D, BE→I, EG→H, E→G}. + Phủ không dư thừa trái của F3 là F2={A→C, C→D, BE→I, E→H, E→G}. Vậy phủ tối thiểu của F là G=F3.

Một phần của tài liệu Cơ sở dữ liệu (Trang 84 - 86)

Tải bản đầy đủ (PDF)

(121 trang)