Download - 3. Functional Dependencies - comp.nus.edu
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
3. Functional Dependencies
Stephane Bressan
January 22, 2015
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
This lecture is based on material by Professor Ling Tok Wang.
1CS4221: The Relational Model
1CS4221: The Relational Model
1
CS 4221: Database Design
The Relational Model
Ling Tok WangNational University of Singapore
https://www.comp.nus.edu.sg/
~lingtw/cs4221/rm.pdf
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Content
1 IntroductionMotivationReadings
2 Functional DependenciesDependenciesFunctional Dependencies
3 ClosureClosure
4 KeysFull DependenceSuperkeys, Candidate Keys and Primary keys
5 Armstrong AxiomsArmstrong AxiomsOther Axioms
6 Minimal CoverMinimal Cover
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Motivation
“[...] one can say that the relationalmodel is almost devoid of semantics.[...] One approach to remedy thisdeficiency is to devise means tospecify the missing semantics. Thesesemantic specifications are calledsemantic or integrity constraints [...].Of particular interest are theconstraints called data dependenciesor depencies for short.”Fundementals of Dependency Theory[TTC 1987],by Moshe Y. Vardi
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Motivation
Author
First name Last name
Peter Chen
Jeffrey Ullman
David Maier
Serge Abiteboul
Albert Maier
Edgar Codd
First name → Last name
This example is not about semantics!?
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Motivation
Author
First name Last name
Peter Chen
Jeffrey Ullman
David Maier
Serge Abiteboul
Albert Maier
Peter Buneman
Edgar Codd
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Motivation
Author
Email First name Last name
[email protected] Peter Chen
[email protected] Jeffrey Ullman
[email protected] David Maier
[email protected] Serge Abiteboul
[email protected] Albert Maier
Email → Fist name, Last name
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Motivation
Email → Fist name, Last name
CHECK(NOT EXISTS
(SELECT *
FROM Authors A1, Authors A2
WHERE A1.Email=A2.Email
AND (A1.Fisrt_name <> A2. First_name
OR A1.Last_name <> A2. Last_name)
CREATE TABLE Author
...
Email ... PRIMARY KEY,
...)
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Motivation
Author
Email First name Last name
[email protected] Peter Chen
[email protected] Jeffrey Ullman
[email protected] David Maier
[email protected] Serge Abiteboul
[email protected] Albert Maier
[email protected] Zhang Chen
[email protected] Zhang Chen
Edgar Codd
“In dblp, [...] Different authors are assigned a unique key and their names are
distinguished in our data stock by a unique numerical suffix to their name.”
http://www.informatik.uni-trier.de/~ley
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Readings
Readings
Abiteboul S.,Hull R. and Vianu V. “Foundations ofDatabases”, Chapter 8(http://webdam.inria.fr/Alice/pdfs/all.pdf).
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Dependencies
Definition
An instance r of a relation schema R satisfies a dependency σ isnoted as follows.
r |= σ
Definition
An instance r of a relation schema R satisfies a set of dependenciesΣ if and only if it satisfies all the dependencies in the set.
(r |= Σ)⇔ (∀σ ∈ Σ (r |= σ))
Definition
An instance r of a relation schema R is a valid instance of R withΣ if and only if it satisfies Σ.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Functional Dependencies
Definition
An instance r of a relation schema R satisfies the functionaldependency σ: X → Y , X functionally determines Y or Y isfunctionally dependent on X , with X ⊂ R and Y ⊂ R, if and onlyif tuples of r agree on their X -values, then they agree on theirY -values.
(r |= σ)
⇔
(∀t1 ∈ r ∀t2 ∈ r (t1[X ] = t2[X ]⇒ t1[Y ] = t2[Y ]))
each X-value in r has associated with exactly one Y-value in r
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Functional Dependencies
Author
First name Last name
Peter Chen
Jeffrey Ullman
David Maier
Serge Abiteboul
Albert Maier
Edgar Codd
First name → Last name
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Functional Dependencies
When we talk about R with Σ, we talk about all the validinstances of R with respect to the functional depenencies in R.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Functional Dependencies
Definition
A set of attributes Y of a relation schema R is said to befunctionally dependent on a set of attributes X of R if at any timeany valid instance r of R satisfies the functional dependency σ.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Functional Dependencies
What is the meaning of ∅ → A?
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Functional Dependencies
Definition
A functional dependency X → Y is trivial if and only if Y ⊂ X .
Example
R = A,B,CΣ = A → B,C, B → A
A → A is trivial.A,B → A is trivial.A,B → ∅ is trivial.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Functional Dependencies
Definition
A functional dependency X → Y is non-trivial if and only ifY 6⊂ X .
Example
R = A,B,CΣ = A → B,C, B → A
A → B is non-trivial.A,C → B,C is non-trivial.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Functional Dependencies
Definition
A functional dependency X → Y is completely non-trivial if andonly if Y ∩ X = ∅.
Example
R = A,B,CΣ = A → B,C, B → A
A → B is completely non-trivial.A,C → B,C is not completely non-trivial.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Functional Dependencies
Definition
Let Σ be a set of functional dependencies of a relation schema R.The closure of Σ, noted Σ+, is the set of all functionaldependencies logically entailed by the functional dependencies in Σ.
Σ+ = σ | ∀r of R ((∀γ ∈ Σ (r |= γ))⇒ r |= σ
Σ+ = σ | (R with Σ) |= σ
Σ+ = X → Y | X ⊂ R ∧ Y ⊂ R ∧ Σ |= X → Y
Σ+ = all the functional dependencies holding on R with Σ!
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Functional Dependencies
Example
R = A,B,C ,DΣ = A → B, C → A
Σ+ = A → B, C → A, A → A, D →D, A,B → A, A,C → B,C, A,D → B, C →B, · · ·
Find
a trival functional dependency in Σ+.
a non-trival but not completely non-trivial functionaldependency in Σ+.
a completely non-trivial functional dependency in Σ+.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Functional Dependencies
Example
R = A,B,C ,DΣ = A → B, C → A
A,D → B,C ∈ Σ+?
Armed with only the definition of functional dependency, theproblems of computing Σ+ and of testing membership to Σ+ aredaunting tasks.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Closure
Definition
Let Σ be a set of functional dependencies of a relation schema R.The closure of a set of attributes S ⊂ R, noted S+, is the followingset of all attributes that are functionally depenendent on S .
a ∈ R | ∃(S → a) ∈ Σ+
Example
R = A,B,C ,DΣ = A → B, C → A
C+ = A,B,CA,D+ = A,B,DC ,D+ = A,B,C ,D
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Closure
input : S , Σoutput: S+
beginΩ := Σ ; // Ω stands for‘‘unused’’
Γ := S ; // Γ stands for ‘‘closure’’
while X → Y ∈ Ω and X ∈ Γ doΩ := Ω− X → Y ;Γ := Γ ∪ Y ;
endreturn Γ;
endAlgorithm 1: Attribute Closure Algorithm
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Closure
Example
R = A,B,C ,DΣ = A → B, C → A
Compute C+ using Algorithm 1.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Closure
Example
R = A,B,C ,DΣ = A → B, C → A
1 Ω = A → B, C → AΓ = C+
2 use C → A (C ∈ Γ)Ω = A → BΓ = C ∪ A = C ,A
3 use A → B (A ∈ Γ)Ω = ∅Γ = C ,A ∪ B = C ,A,B
4 return Γ = C ,A,B
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Closure
Theorem
Algorithm 1 computes S+ for R with Σ.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Closure
Proof.
1 We prove that Algorithm 1 is sound
We will do that formally later when we are equipped withadequate tools, but it is easy to convince oneself that eachstep of the algorithm is logically sound. Namely, Γ ⊂ S+.
2 We prove that Algorithm 1 is complete. Namely, we prove thatS+ ⊂ Γ. Namely, if A ∈ R − Γ, then (R with Σ) 6|= Γ→ A.
1 We construct an instance r of R with two t-uples such thatr |= Σ and r 6|= Γ→ A for A ∈ R −Γ. This is always possiblebecause by Algorithm 1 if X → Y ∈ Σ, if X ∈ Γ, then Y ∈ Γ.
3 Q.E.D
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Closure
Example
R = A,B,C ,DΣ = A → B, C → A
C+ = A,B,C
R
A B C D
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Closure
Example
R = A,B,C ,DΣ = A → B, C → A
R
A B C D
1 1 1 1
1 1 1 2
The instance satisfies Σ but does not satisfy A,B,C → D. Toshow that a functional depenency does not hold, it suffices to showa valid instance that does not satisfy the functional dependency.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Closure
Definition
Let Σ1 and Σ2 be sets of functional dependencies on a relationschema R. Σ1 and Σ2 are equivalent, Σ1 ≡ Σ2, if and only if theyhave the same closure.
Σ+1 = Σ+
2
Example
Σ1 = A → B,C, B → AΣ2 = A → B, B → A,C, A → A
Σ1 and Σ2 are equivalent
Σ1 ≡ Σ2
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Closure
Theorem
Let Σ1 and Σ2 be sets of functional dependencies on a relationschema R. Σ1 and Σ2 are equivalent if and only if each functionaldependency in one are logical consequence of those in the otherand vice versa.
(∀σ ∈ Σ1(σ ∈ Σ2)) ∧ (∀σ ∈ Σ2(σ ∈ Σ1))
Example
Σ1 = A → B, B → C, C → AΣ2 = A → C, C → B, B → A
Σ1 and Σ2 are equivalent
Σ1 ≡ Σ2
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Full Dependence
Definition
Let Σ be a set of functional dependencies on a relation schema R.Let X → Y ∈ Σ+. The functional dependency X → Y is a fulldependency if and only if it is non-trivial and there exists no propersubset X ′ of X (X ′ ⊂ X and X ′ 6= X ) such that X ′ → Y ∈ Σ+.We say that Y is fully dependent on X .
Example
R = A,B,CΣ = A → B,C, B → A
B is fully dependent on A. A → B is a full dependency.B,C is not fully dependent on A,C. A,C → B,C is nota full dependency.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Full Dependence
Definition
Let Σ be a set of functional dependencies on a relation schema R.Two sets of attributes S1 ⊂ R and S2 ⊂ R are functionallyequivalent if and only if they are functionally dependent on eachother.
S1 → S2 ∈ Σ+ ∧ S2 → S1 ∈ Σ+
Example
R = A,B,CΣ = A → B,C, B → A
A and B are functionally equivalent.A,C and B,C are functionally equivalent.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Full Dependence
Definition
Let Σ be a set of functional dependencies on a relation schema R.Two sets of attributes S1 ⊂ R and S2 ⊂ R are properlyfunctionally equivalent if and only if they are functionallyequivalent and there exists no proper subset S ′
1 ⊂ S1, S ′1 6= S1 or
S ′2 ⊂ S2, S ′
2 6= S2, such that:
S ′1 → S2 ∈ Σ+ ∨ S ′
2 → S1 ∈ Σ+
Example
R = A,B,CΣ = A → B,C, B → A
A and B are properly functionally equivalent.A,C and B,C are not properly functionally equivalent.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Full Dependence
Definition
Let Σ be a set of functional dependencies on a relation schema R.An attribute A is transitively dependent on a set S1 of attributes ifand only if there exists a set of attributes S2 such that :
A 6∈ S1 ∧ A 6∈ S2 ∧ S2 → S1 6∈ Σ+
S1 → S2 ∈ Σ+ ∧ S2 → A ∈ Σ+
Example
R = A,B,CΣ = A → B, B → C
C is transitively dependent on A.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Superkeys, Candidate Keys and Primary keys
Definition
Let Σ be a set of functional dependencies on a relation schema R.Let S → R ∈ Σ+. S is a superkey of R with Σ.
Example
R = A,B,CΣ = A → B,C, B → A
A,B → A,B,C.A,B is a superkey of R with Σ.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Superkeys, Candidate Keys and Primary keys
Definition
Let Σ be a set of functional dependencies on a relation schema R.Let S be a superkey of R with Σ. S is a candidate key (sometimescalled key) of R with Σ if and only if there no proper subset S ′ ofS that is also a superkey.
Example
R = A,B,CΣ = A → B,C, B → A
A,B → A,B,C.A,B is not a candidate key of R with Σ.A → A,B,C.A is a candidate key of R with Σ.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Superkeys, Candidate Keys and Primary keys
Definition
Let Σ be a set of functional dependencies on a relation schema R.Let S be a candidate key of R with Σ. S is a primary key if thedesigner decides so.
Example
R = A,B,CΣ = A → B,C, B → A
A is a candidate key of R with Σ.B is a candidate key of R with Σ.The designer decides that A is a primary key.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Superkeys, Candidate Keys and Primary keys
Definition
Let Σ be a set of functional dependencies on a relation schema R.A prime attribute is an attribute that is appears in some candidatekey of R with Σ (otherwise it is called a non-prime attribute).
Example
R = A,B,CΣ = A → B,C, B → A
A is a prime attribute of R with Σ.B is a prime attribute of R with Σ.C is a non-prime attribute of R with Σ.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Superkeys, Candidate Keys and Primary keys
Theorem
Let Σ be a set of functional dependencies on a relation schema R.The number of candidate keys can be factorial in the size of Σ andexponential in the size of R. [S. Osborn, “Normal Forms forRelational Data Bases”, PhD thesis of the University of Waterloo,1977].
Theorem
Let Σ be a set of functional dependencies on a relation schema R.The problem of deciding whether an attribute is prime or not isNP-Complete. [S. Osborn and L. Lucchesi, “Candidate Keys forrelations”, Journal of Computer and System Sciences 17, 270-279,1978].
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Superkeys, Candidate Keys and Primary keys
Example
R =STUDENT#,COURSE#,S-NAME,C-DESCRIPTION,MARK.Σ =STUDENT# → S-NAME,COURSE# → C-DESCRIPTION,STUDENT#,COURSE# → MARK
Find Σ+.
Find STUDENT#,MARK+ with Σ.
Find the candidate keys of R with Σ.
Find the prime attributes of R with Σ.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Superkeys, Candidate Keys and Primary keys
Σ+
STUDENT#,COURSE# → S-NAME,STUDENT#,COURSE# → C-DESCRIPTION,STUDENT#, S-NAME,COURSE# → MARK,· · ·
STUDENT#,MARK+
STUDENT#, S-NAME,MARK
Candidate Keys
Only one: STUDENT#,COURSE#
Prime Attributes
STUDENT#,COURSE#
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Armstrong Axioms
Definition
Let R be a set of attributes. The following inference rules are theArmstrong Axioms.
Reflexivity (Inclusion, Projectivity)∀X ⊂ R ∀Y ⊂ R((Y ⊂ X )⇒ (X → Y )).
Augmentation∀X ⊂ R ∀Y ⊂ R ∀Z ⊂ R((X → Y )⇒ (X ∪ Z → Y ∪ Z )).
Transitivity∀X ⊂ R ∀Y ⊂ R ∀Z ⊂ R((X → Y ∧ Y → Z )⇒ (X → Z )).
Technically, the Armstrong Axioms are not axioms but inferencerules.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Armstrong Axioms
Theorem
The Reflexivity inference rule is sound (correct, valid).
Theorem
The Augmentation inference rule is sound.
Theorem
The Transitivity inference rule is sound.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Armstrong Axioms
Proof of Soundness for Transitivity.
1 Let Σ be a set of functional dependencies on a relationschema R. Let X → Y and Y → Z be in Σ.
2 We know that for all valid instance r of R with Σ(∀t1 ∈ r ∀t2 ∈ r (t1[X ] = t2[X ]⇒ t1[Y ] = t2[Y ])) bydefinition of a functional dependency.
3 We know that for all valid instance r of R with Σ(∀t1 ∈ r ∀t2 ∈ r (t1[Y ] = t2[Y ]⇒ t1[Z ] = t2[Z ])) bydefinition of a functional dependency.
4 Therefore for all valid instance r of R with Σ(∀t1 ∈ r ∀t2 ∈ r (t1[X ] = t2[X ]⇒ t1[Z ] = t2[Z ])) bydefinition of a functional dependency.
5 Therefore X → Z ∈ Σ+.
6 Q.E.D.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Armstrong Axioms
Theorem
The Armstrong Axioms are complete.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Armstrong Axioms
Proof Sketch
1 We prove that for any set of attribute S ∈ R, then S → S+
can be derived from the Armstrong Axioms.1 This is recursively true because every step of the attribute
closure algorithm is of the form: S → S i and X → Y withX ⊂ S i .
2 Therefore S i → X by Reflexivity.3 Therefore S i → X ∪ S i by Augmentation of (2) with S i .4 Therefore S → S i+1, where S i+1 = Si ∪ Y , by Transitivity of
(1) and (3).5 Q.E.D
...
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Armstrong Axioms
Proof Sketch
1 We prove that if X → Y ∈ Σ+, then it can be derived fromX → X+.
1 We know that Y ⊂ X+ by property of the attribute closure.2 Therefore X+ → Y by Reflexivity.3 Therefore X → Y by Transitivity of X → X+ and X+ → Y .4 Q.E.D
2 Q.E.D.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Armstrong Axioms
Theorem
Let Σ be a set of functional dependencies on a relation schema R.Σ+ can be computed by the iterative fixpoint application of theArmstrong Axioms.
Example
R = A,B,CΣ = A → B,C, B → A
to be done...
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Other Axioms
Theorem
The Weak Reflexivity axiom is sound.∀X ⊂ R(X → ∅).
This one is an axiom.
Proof.
1 Let R be a relation schema.
2 Let X ⊂ R.
3 We know that ∅ ⊂ X .
4 ThereforeX → ∅ by Reflexivity.
5 Q.E.D
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Other Axioms
Theorem
The Weak Augmentation inference rule is sound.∀X ⊂ R ∀Y ⊂ R ∀Z ⊂ R((X → Y )⇒ (X ∪ Z → Y )).
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Other Axioms
Proof.
1 Let R be a relation schema.
2 Let X ⊂ R.
3 Let Y ⊂ R.
4 Let Z ⊂ R.
5 Let X → Y
6 We know that X ⊂ X ∪ Z .
7 Therefore X ∪ Z → X by Reflexivity.
8 Therefore X ∪ Z → Y by Transitivity of (7) and (5).
9 Q.E.D
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Other Axioms
Theorem
The Strict Reflexivity (Reflexivity) axiom is sound.∀X ⊂ R(X → X ).
Theorem
The Pseudo-Transitivity inference rule is sound.∀X ⊂ R ∀Y ⊂ R ∀Z ⊂ R ∀W ⊂ R((X → Y ∧W → Z ∧W ⊂ Y )⇒ (X → Z )).
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Other Axioms
Theorem
The Union inference rule is sound.∀X ⊂ R ∀Y ⊂ R ∀Z ⊂ R((X → Y ∧ X → Z )⇒ (X → Y ∪ Z )).
Theorem
The Decomposition (Projectivity) inference rule is sound.∀X ⊂ R ∀Y ⊂ R ∀Z ⊂ R((X → Y ∪ Z )⇒ (X → Y )).
Theorem
The Composition inference rule is sound.∀X ⊂ R ∀Y ⊂ R ∀Z ⊂ R ∀W ⊂ R((X → Y ∧ Z →W )⇒ (X ∪ Z → Y ∪W )).
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Other Axioms
Theorem
Reflexivity, Union and Transitivity form a complete set of inferencerules for functional dependencies.
Theorem
Weak Reflexivity, Weak Augmentation and Pseudo-Transitivityform a complete set of inference rules for functional dependencies.
How to prove it?
How to prove it?
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Other Axioms
Example
R =STUDENT#,COURSE#,S-NAME,C-DESCRIPTION,MARK.Σ =STUDENT# → S-NAME,COURSE# → C-DESCRIPTION,STUDENT#,COURSE# → MARK
Prove thatSTUDENT#,MARK → STUDENT#, S-NAME,MARK,using the Armstrong Axioms.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Other Axioms
Proof.
1 We know that STUDENT# → S-NAME.2 ThereforeSTUDENT#,MARK → STUDENT#,S-NAME,MARKby Augmentation of (1) with STUDENT#,MARK.
3 Q.E.D.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Minimal Cover
Minimal Cover
Example
Σ = A → B,C, B → C ,D,
D → B, A,B,E → F
Σ contains redundancies: some functional dependencies haveredundant attributes (extraneous attributes), some functionaldependencies are redundant.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Minimal Cover
Example
Σ = A → B,C, B → C ,D,
D → B, A,B,E → F
We begin by simplifying the right-hand-sides of the functionaldependencies to singletons.
Σ1 = A → B, A → C, B → C,
B → D, D → B, A,B,E → F
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Minimal Cover
The two sets are equivalent.
Σ ≡ Σ1
Proof.
We can transform one into the other using Union andDecomposition.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Minimal Cover
Example
Σ1 = A → B, A → C, B → C,
B → D, D → B, A,B,E → F
Σ1 contains a functional dependency with a redundant attribute:A,B,E → B can be replaced by A,E → B.
Σ2 = Σ− A,B,E → F ∪ A,E → F
Σ2 = A → B, A → C, B → C,
B → D, D → B, A,E → F
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Minimal Cover
The two sets are equivalent.
Σ1 ≡ Σ2
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Minimal Cover
Proof.
We prove that both sets of functional dependencies are equivalentby proving that functional dependencies from one can be derivedfrom those of the other and vice versa.
We prove that Σ1 |= A,E → F.We prove that Σ2 |= A,B,E → F.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Minimal Cover
Proof.
We prove that Σ1 |= A,E → F.We know that A,B,E → F.We know that A → B.Therefore A,E → A,B,E by Augmentation of (2) withA,E.Therefore A,E → F By transitivity of (3) and (1).
Q.E.D.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Minimal Cover
Proof.
We prove that Σ2 |= A,B,E → F.We know that A,E → F.We know that A,E ⊂ A,B,E.Therefore A,B,E → A,E by Reflexivity with (2).
Therefore A,B,E → F by Transitivity of (3) and (1).
Q.E.D.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Minimal Cover
Example
Σ2 = A → B, A → C, B → C,
B → D, D → B, A,E → F
Σ2 contains a redundant functional dependency: A → C isnot needed. We can remove it.
Σ3 = Σ2 − A → C
Σ3 = A → B, B → C,
B → D, D → B, A,E → F
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Minimal Cover
The two sets are equivalent.
Σ2 ≡ Σ3
Proof.
We prove that both sets of functional dependencies are equivalentby proving that functional dependencies from one can be derivedfrom those of the other and vice versa.A → C can be obtained by Transitivity of A → B andB → C
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Minimal Cover
Example
Σ3 = A → B, B → C,
B → D, D → B, A,E → F
We can regroup functional dependencies with the sameleft-hand-sides.
Σ4 = A → B, B → C ,D,
D → B, A,E → F
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Minimal Cover
The two sets are equivalent.
Σ3 ≡ Σ4
Proof.
We can transform one into the other using Union andDecomposition.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Minimal Cover
Definition
A minimal cover (or covering) of a set of functional dependenciesΣ is an equivalent set Σ3 of functional depencies such that:
1 The right-hand-sides of the functional dependencies in Σ3 aresingletons.
2 The left-hand-sides of the functional dependencies in Σ3 areminimal, namely, there are no redundant (extraneous)attributes.
3 Σ3 is minimal, namely, there are no redundant functionaldependency.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Minimal Cover
Theorem
The minimal cover of a set of functional dependencies Σ alwaysexists but is not unique.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Minimal Cover
Theorem
A minimal cover of a set of functional dependencies Σ can becomputed by the following steps in this order:
1 Normalize the right-hand-sides of the functional dependenciesto singletons.
2 Simplify the left-hand-sides of the functional dependencies byeliminating redundant (extraneous) attributes.
3 Remove the redundant functional dependencies.
Proof.
It is quite obvious that the minimal cover is equivalent to Σ (seethe example for outline of the proofs) and minimal (by definition)except for the fact that the three simplification steps must be donein the given sequence. This is to avoid interference.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Minimal Cover
Theorem
The above algorithm is non deterministic.
Theorem
Some minimal covers of a set of functional dependencies Σ cannotbe found by the above algorithm.
Theorem
All minimal cover can be found by the algorithm applied on Σ+.
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Minimal Cover
Example
Σ1 = A → B, B → C, C → AΣ2 = A → C, C → B, B → A
Introduction Functional Dependencies Closure Keys Armstrong Axioms Minimal Cover
Minimal Cover
Definition
An extended minimal cover (or partitioned covering) of a set offunctional dependencies Σ is an equivalent set Σ4 obtained byregrouping the functional dependencies in a minimal cover thathave the same right-hand-side.