QUAN HỆ Relational Database DesigningPhần V – PHỦ Cover CỦA TẬP PHỤ THUỘC HÀM... Thuật toán tìm tất cả các khóaτηχ τηυ τ το〈ν.
Trang 1QUAN HỆ (Relational Database Designing)
Phần V – PHỦ (Cover) CỦA TẬP PHỤ THUỘC HÀM
Trang 2Một số định nghĩa
Χηο Φ, Γ λ◊ 2 τ π πη τηυ χ η◊µ,ậ ụ ộ
Φ ϖ◊ Γ γ ι λ◊ τọ ươνγ đươνγ ν υ ϖ◊ χη ν υ ế ỉ ế
Φ+=Γ+
Κ ηι υ : Φ ệ ≡ Γ
Φ γ ι λ◊ πη Γọ ủ ν υ ϖ◊ χη ν υ
Φ+ ⊇ Γ+
Trang 3Thuật toán kiểm tra F ≡ G
Β χ 1 : ướ Τνη Φ+, Γ+
Β χ 2 : Ν υ Φ+ = Γ+, => Φ ≡ Γ
Trang 4Phủ tối thiểu –Tập Phụ
thuộc hàm không đầy đủ Χηο λ χ Θ, τ π ΠΤΗ Φ, Ζ ượ đồ ậ Ψ ∈ Φ.
Ζ Ψ γ ι λ◊ ọ χ⌠ ϖ τρ〈ι δ τη αế ư ừ ηαψ Ψ πη τηυ χ ụ ộ
κηνγ đầ đủψ ϖ◊ο Ζ ηαψ Ζ Ψ λ◊ πη τηυ χ η◊µ κηνγ ψ ν υ ϖ◊ χη ν υ : ế ỉ ế
∃Α ⊂ Ζ: Φ ≡ (Φ ∴ {Ζ Ψ}) ∪ {(Ζ−Α) Ψ}
Νγ χ λ ι, Ζ ượ ạ Ψ γ ι λ◊ πη τηυ χ η◊µ ψ ηαψ κηνγ χ⌠ ϖ τρ〈ι δ τη α.
Φ đượχ γ ι (τ τ) λ◊ χ⌠ ϖ τρ〈ι κηνγ δ τη αọ ắ ế ư ừ ,
ν υ Φ κηνγ χη α ΠΤΗ χ⌠ ϖ τρ〈ι δ τη α ế ứ ế ư ừ
Trang 5Phụ thuộc hàm không đầy đủ - Ví dụ
=> Φ+ = (Φ )’ +
Trang 6PTH không đầy đủ
Β χ 1 : Τνη Φ+
Β χ 2 : ∆υψ τ τ π Φ, ϖ ι µ ι δ = Ξướ ệ ậ ớ ọ Ψ∈ Φ :
Β χ 2.1 : ∆υψ τ χ〈χ τ π χον Ξướ ệ ậ ’≠∅ χ α Ξ :ủ
Ν υ Ξ’Ψ ∈ Φ+ : τηαψ Ξ = Ξ , λ π λ ι 2.1’ ặ ạ
Trang 7Tập phụ thuộc hàm có vế phải
1 thuộc tính
• Địνη νγη α : Φ ĩ đượχ γ ι λ◊ ọ τ π πη τηυ χ η◊µ ậ ụ ộ
χ⌠ ϖ πη ι 1 τηυ χ τνηế ả ộ ν υ ϖ◊ χη ν υ µ ι
πη τηυ χ η◊µ τρονγ Φ υ χ⌠ ϖ πη ι χη 1 ụ ộ đề ế ả ỉ
τηυ χ τνη
• ς δ : Φ = {ΑΒΧ,ΒΧ,ΑΒ∆}, τα τ〈χη χ〈χ πη τηυ χ η◊µ τρονγ Φ Φ τη α τιυ χηυ ν λ◊ τ π ộ để ỏ ẩ ậ
πη τηυ χ η◊µ χ⌠ ϖ πη ι 1 τηυ χ τνη :
Φ = {ΑΒ, ΑΧ, ΒΧ, ΑΒ∆}
Trang 8Tập phụ thuộc hàm không dư thừa
• νη νγη α : Φ χ γ ι λ◊ τ π πη τηυ χ η◊µ κηνγ δ τη α ư ừ
Κηνγ ∃ Φ ’ ⊂ Φ, Φ’≡ Φ
Νγ χ λ ι, Φ χ γ ι λ◊ τ π πη τηυ χ η◊µ
δ τη α
• ς δ : Φ = {ΑΒΧ, Β∆, ΑΒ∆}
Φ δ τη α ϖ Φ ≡ Φ = {Α’ ΒΧ, Β∆}
Trang 9PTH dư thừa
Α ΒΧ => Α Β, δο Β ∆ => Α ∆ => ΑΒ ∆
ς ψ ΑΒ ậ ∆ λ◊ δ τη α τρονγ Φ, => Φ = {Α ư ừ ΒΧ,Β ∆}
Trang 10Tập PTH tối thiểu
νη νγη α : Φ χ γ ι λ◊ µ τ τ π ΠΤΗ τ ι ậ ố
τηι υể (ηαψ Φ λ◊ 1 πη τ ι τηι υ) ν υ ϖ◊
χη ν υ Φ τη α 3 ι υ κι ν σαυ :
1 Φ λ◊ τ π ΠΤΗ χ⌠ ϖ τρ〈ι κηνγ δ τη α
2 Φ λ◊ τ π ΠΤΗ χ⌠ ϖ πη ι 1 τηυ χ τνη
3 Φ λ◊ τ π ΠΤΗ κηνγ δ τη α
Trang 11Thuật toán tìm Phủ tối thiểu
Β χ 1 ướ :
Λο ι κη ι Φ χ〈χ ΠΤΗ χ⌠ ϖ τρ〈ι δ τη α ạ ỏ ế ư ừ
Β χ 2 :
Τ〈χη χ〈χ ΠΤΗ χ⌠ ϖ πη ι νηι υ η ν 1 τηυ χ τνη τη◊νη χ〈χ ế ả ề ơ ộ
ΠΤΗ χ⌠ ϖ πη ι 1 τηυ χ τνη.
Β χ 3 :
Λο ι κη ι Φ χ〈χ ΠΤΗ δ τη α.
⇒Λυν τµ đượ χ τ νη τ 1 ΠΤΗ τ ι τηι υ χ α 1 τ π ΠΤΗ β τ ấ ố ể ủ ậ ấ
κ ỳ
⇒Χ⌠ τη τµ χ νηι υ ΠΤΗ τ ι τηι υ χ α 1 τ π ΠΤΗ β τ
κ
Trang 12Thuật toán tìm PTT – Ví dụ
Ινπυτ : Θ(ΑΒΧ∆), Φ = {ΑΒ Χ∆, Β Χ, Χ ∆}
Ουτπυτ : Φ µ = ΠΤΤ χ α Φ ủ
Β χ 1 ướ :
ΑΒ Χ∆ λ◊ ΠΤΗ κηνγ ψ , ϖ Α λ◊ δ τη α τρονγ đầ đủ ư ừ
ϖ τρ〈ι: Β ế Χ, Χ ∆ => Β Χ∆.
=> Φ = {Β Χ∆, Β Χ, Χ ∆}
Β χ 2 :
Φ = {Β Χ, Β ∆, Β Χ, Χ ∆}
Β χ 3 :
Φ = {Β Χ, Χ ∆}
Trang 13Khóa(Key) của lược đồ quan hệ
Χηο Θ(Α1,Α2,…,Αν), τ π ΠΤΗ Φ, Κ λ◊ 1 τ π χον χ α
Θ+
νη νγη α : Κ λ◊ 1 σιυ κη⌠α χ α Θ ν υ
KF+ = Q+
νη νγη α
Đị ĩ : Κ λ◊ 1 κη⌠α χ α Θ ν υủ ế
• KF+ = Q+
• Không tồn tại K’ ⊂ K , K’F+ = Q+
Trang 14Thuật toán tìm khóa của LDQH
Ινπυτ : Λ χ θυαν η Θ, τ π ΠΤΗ Φượ đồ ệ ậ
Ουτπυτ : Κ λ◊ 1 κη⌠α χ α Θ
Β χ 1ướ : γ〈ν Κ = Θ+
Β χ 2 : ∆υψ τ χ〈χ τηυ χ τνη Α τρονγ Κ,ệ ộ
_ Τνη Κ’+ ϖ ι Κ = Κ−Α’
_ Ν υ Κ’+ = Θ+, γ〈ν Κ = Κ’
Κη⌠α Κ τµ đượχ χ⌠ τη κηνγ λ◊ κη⌠α δυψ ể
νη τ χ α Θấ ủ
Trang 15Tính chất của khóa
Κ ηι υ :
• Τ π νγυ νậ ồ (ΤΝ) : χη α τ τ χ χ〈χ τηυ χ τνη χη ứ ấ ả ộ ỉ
ξυ τ ηι ν ϖ τρ〈ι χ α χ〈χ ΠΤΗ τρονγ Φ.ấ ệ ở ế ủ
• Τ π χηậ đ (Τ∆) : χη α τ τ χ χ〈χ τηυ χ τνη χη
ξυ τ ηι ν ϖ πη ι χ α χ〈χ ΠΤΗ τρονγ Φ
• Τ π τρυνγ γιαν (ΤΓ) = Θ+ − ΤΝ Τ∆–
Τνη χη τ : Ν υ Κ λ◊ 1 κη⌠α χ α Θ, τη
ΤΝ ⊆ Κ ϖ◊ Τ∆ ∩ Κ = ∅
Trang 16Tính chất của khóa – Chứng minh
Χη νγ µινη ΤΝ ⊆ Κ :
Γι σ ΤΝ κηνγ ả ử ⊆ Κ, => τ ν τ ι 1 ΠΤΗ Ξồ ạ Ψ∈Φ ϖ◊
Ξ κηνγ ⊆ Κ ϖ◊ κηνγ τ ν τ ι 1 ΠΤΗ Ζς ∈Φ
σαο χηο Ξ ⊆ ς
∆ α τρν τηυ τ το〈ν τµ βαο ⌠νγ χ α τ π τηυ χ ự ậ đ ủ ậ ộ
τνη Κ => Ξ κηνγ ξυ τ ηι ν τρονγ Κι ν◊ο =>
Ξ⊄Κ+Φ => τρ〈ι ϖ ι γι τηι τ (Κ λ◊ κη⌠α, νν
Ξ⊂Κ+Φ)
Trang 17Tính chất của khóa – Chứng minh (t.t)
Χη νγ µινη Τ∆ ∩ Κ = ∅ :
Γι σ Τ∆ ∩ Κ ≠ ∅ => ∃Α: Α ∈ Τ∆ ∧ Α ∈ Κ
Α ∈ Τ∆ => τ ν τ ι 1 ΠΤΗ ΞΑ∈Φ (1)
Α∈Κ => Κ+=(Κ−Α)+∪Α ;
Ξ ⊆Κ+Ξ⊆(Κ−Α)+∪Α ;
Α∉Ξ ϖ ΞΑ κηνγ λ◊ ΠΤΗ ηι ν νηιν (ξεµ σλιδε 4
χη νγ 4) => Ξươ ⊆(Κ−Α)+ => Κ−ΑΞ (2)
(1) ϖ◊ (2) => Κ−ΑΑ => (Κ−Α)+ = [(Κ−Α)∪Α]+=Κ+ => ϖ λ ϖ Κ λ◊ κη⌠α
Trang 18Thuật toán tìm tất cả các khóa
τηχ τηυ τ το〈ν
τνη Σι+ Γ ι Λ λ◊ τ π τ τ χ χ〈χ Σọ ậ ấ ả ι
Β χ 4 : ∆υψ τ τ π Σệ ậ ι, ν υ Σι+<>Θ+ τη β Σỏ ι κη ι Λ