Functional dependancy
-
Upload
lbsitw-trivandrum -
Category
Education
-
view
890 -
download
1
description
Transcript of Functional dependancy
Functional Dependencies &
Normalization
There are two levels at which we discuss the goodness of relation schema
• Logical (or Conceptual)Level
• Implementation (or storage ) Level
INFORMAL DESIGN GUIDELINESFOR
RELATION SCHEMAS
4 Informal measures of quality for relation schemas are
I. Semantics of the attribute• interpretation of attribute values from
tuplesII. Reducing redundant information in tuples
• minimize the storage space used by the base relation
• Problem of update anomalies• Insertion of anomalies• Deletion of anomalies• Modification of anomalies
iii. Reducing the NULL values in the tuples• Waste space at storage levels • Also lead to problems with understandingthe meaning of attributes (ex:count,join )
iv. Disallowing the possibility of generating spurious tuples• Seems to be genuine but it is false
FUNCTIONAL DEPENDENCIES
• Most important concept in relational schema design theory.
• A functional dependency is a constraint between two set of attributes from the database.
• it is denoted by X Y(functional dependency from x to y or y is functionally dependent on X.)
• i.e. Y component of a tuple in r depend on , or are determined by , the values of the Y component.
•A functional dependency is a property of the of the semantics or meaning .
If X Y in R ,this does not say whether or not Y X in R.
Inference Rules
Inference ???
•Dept_no Mgr_SSN , each department has one manager• Mgr_SSN Mgr_phone : Each manage has a unique phone number• then we can infer Dept_no Mgr_phone
Closure : includes all dependencies that can be inferred from the given set F, it is denoted by F
closure ???
+
Let us see some example on board
The notation F XY means the functional dependency XY is inferred from functional dependencies F.
To determine a systematic way to infer dependencies, we use inference rules that can be used to infer new dependencies
Inference rules for functional dependencies are :
• IR1 (reflexive rule) : If Y subset-of X, then X Y
•IR2 (augmentation rule) : If X -> Y, then XZ -> YZ
•IR3 (transitive rule) :If X Y & Y Z, then X Z
•IR4 (decomposition ,or projective rule) : If X YZ then X Y
•IR5 (Union or additive rule) : If XY,XZ then XYZ
•IR6 (pseudo transitive rule) : If XY,WYZ then WX Z
Trivial otherwise Non-Trivial
Inference rules IR1 through IR3 are sound and complete
Dependency that we can infer from F by using IR1 to IR3 holds every relation state r of R that satisfies the dependencies in F.
Using IR1to IR3 repeatedly to infer dependencies until no more dependencies can be inferred from F
The closure of F , can be determined from F by using inference rules IR1 to IR3 are known as Armstrong ‘s inference rules.
Equivalence of sets of functional dependencies
Cover : A set of functional dependencies F is said to cover another set of dependencies E if every FD in E is also in F .
Or we can say that E is covered by F.
+
Two sets of functional dependencies E and F are equivalent if E = F .+ +
Minimal sets of functional dependencies
Minimal cover : minimal cover of a functional dependencies E is a set functional dependencies F that satisfies the property that every dependency in E is in the closure of F of F.+
•Every set of FDs has an equivalent minimal set
•There can be several equivalent minimal sets
•There is no simple algorithm for computing a minimal set of FDs that is equivalent to a set F of FDs
•To synthesize a set of relations, we assume that we start with a set of dependencies that is a minimal set
• Set F:= E• Replace each functional dependencies X{A1,A2,. . . .,An} in F by the n functional dependencies X A1,XA2,. .. .,XAn.• For each functional dependencies X A in For each attribute B that is an element of X
• if {F – {XA}} U {(x-{B}) a} }
AlgorithmFinding a Minimal cover F for a set of functional dependencies E
CANONICAL form
Find minimum cover for E{B A, DA,ABD}
Find minimum cover for E{AD,BCA,BCD,CB,EA,ED}
Find minimum cover for E { AB -> C, C -> A, BC -> D, ACD -> B, D -> E, D -> G, BE -> C, CG -> B, CG -> D, CE -> A, CE -> G}
Find minimum cover for E{nonamenoageno,nameagenoage,name}
NORMAL FORMS
NORMAL FORMS BASED ON PRIMARY KEYS
•First proposed by Codd (1972)•Initially proposed first ,second and 3NF• later Boyce and Codd proposed BCNF• later 4th and 5th NF are proposed based on the concept of multi-valued dependency and join dependencies
Advantages•Minimizing redundancy•Minimizing insertion , deletion, and modification of anomalies
Normal form a relation refers to the highest normal form condition that it meets, and hence indicate the degree to which it has been normalized
Non-prime attributeA non-prime attribute is an attribute that does not occur in any
candidate key. Employee Address would be a non-prime attribute in the
"Employees' Skills" table.
Prime attributeA prime attribute, conversely, is an attribute that does occur in
some candidate key.
FIRST NORMAL FORM
•Disallow multi valued attributes and composite attributes• it states that domain of an attributes must include only atomic (simple, indivisible)values.•Ex: address
Partial key
SECOND NORMAL FORM
Must be in 1NF
Full functional dependency : A functional dependency X Y is a FULL FUNCTIONAL dependency if removal of any attribute A from X means that dependency does not hold any more;
Partial dependency : A functional dependency X Y is a partial dependency if some attribute A in X can be removed from X and dependency still holds
Def : A relation schema R is in 2NF if every non prime attribute A in R is fully functionally dependent on the primary key of R
3NF,THIRD NORMAL FORM
•it must be in 2NF•It is based on the concept of transitive dependency• XY ,Y Z then XZ
DEF : A relation schema R is in 3NF if it satisfies 2NF and no prime attribute of R is transitively dependent on the primary key
X A If A is non prime attribute then X must be super key
BCNF(BOYCE CODD NORMAL FORM)
More stricter than 3NF
X A Always the left hand side must be super key whether A is prime or non prime
Here {student, course instructor}{instructor course}
It is 3NF but not BCNF
In BCNF must check TWO conditions• X Y allowed ,if it is trivial functional dependencyOR• X is a super key for schema R
BCNF isMore stricter than 3NF
A 3NF table which does not have multiple overlapping candidate keys is guaranteed to be in BCNF
Ex: 3NF but not BCNFCourt Start Time End Time Rate Type
1 09:30 10:00 SAVER
1 11:00 12:00 SAVER
1 14:00 15:30 STANDARD
2 10:00 11:30 PREMIUM-B
2 11:30 13:30 PREMIUM-B
2 15:00 16:30 PREMIUM-A
2 9:30 10:00 PREMIUM-A
Here the candidate keys are
S1: {COURT,START TIME}
S2:{COURT,END TIME}
S3:{RATE TYPE,START TIME}
S4:{RATE TYPE, END TIME}
Here no non prime attributes , all are prime attribute belongs to some candidate key.So the table is 2NF and 3NF.but not in BCNF.
Here no non prime attributes , all are prime attribute belongs to some candidate key.So the table is 2NF and 3NF,but not in BCNF because of rate type court.
Today's BookingsRate Type Start Time End Time
SAVER 09:30 10:30SAVER 11:00 12:00STANDARD 14:00 15:30PREMIUM-B 10:00 11:30PREMIUM-B 11:30 13:30PREMIUM-A 15:00 16:30
Rate TypesRate Type Court Member Flag
SAVER 1 YesSTANDARD 1 NoPREMIUM-A 2 YesPREMIUM-B 2 No
Now it is in BCNF
Problems when using BCNF
Person Shop Type Nearest Shop
Thankam Optician Eagle Eye
Meenu Hairdresser Snippets
Pretty Bookshop Merlin Books
Sreedevi Bakery Sree bakers
Sreedevi Hairdresser Sweeney
Sreedevi Optician Eagle Eye
Dependency:A, B CC B
Not BCNF
Shop Near Person
Person Shop
Thankam Eagle Eye
Meenu Snippets
Pretty Merlin Books
Sreedevi Sree Bakers
Sreedevi Sweeney
Sreedevi Eagle Eye
Shop
Shop Shop Type
Eagle Eye Optician
Snippets Hairdresser
Merlin Books Bookshop
Sree Bakers Bakery
Sweeney Hairdresser
Problem : It allow us to record data such as,a person’s multiple shops with same type ,It violates the dependency {person,shoptype}{shop}
So BCNF is not always possible
(Lets do some problems)
4TH NORMAL FORM
NON ADDITIVE (LOSELESS) JOIN DEPENDENCY
•Which ensures that no spurious tuples are generated when a NATURAL JOIN operation is applied to the relations in the decomposition • lossless refers to loss information ,not to loss of tuples.
Example of lossy decomposition
A B C1 1 11 1 21 2 1
A B C1 1 1
1 1 2
1 2 1
1 2 2
A B
1 1
1 2
A C
1 1
1 2
Original table Decomposition
Reconstruction
MULTIVALUED DEPENDENCY
: A consequence of first normal form, Which disallows an attribute have a set of values: A multivalued dependency is a special case of a join dependency,
Course Book Lecturer
AHA Silberschatz John D
AHA Nederpelt William M
AHA Silberschatz William M
AHA Nederpelt John D
AHA Silberschatz Christian G
AHA Nederpelt Christian G
OSO Silberschatz John D
OSO Silberschatz William M
{course} {book}
and equivalently
{course} {lecturer}.
Definition for 4th Normal Form
A relation schema R is in 4NF with respect to a set of dependencies F (that include functional dependencies and multivalued dependencies ),if for every non trivial multivalued dependency X Y in F closure,X is a super key of R.
5TH NORMAL FORM
•In dependency theory, a join dependency is a constraint on the set of legal relations over a database scheme. A table T is subject to a join dependency if T can always be recreated by joining multiple tables each having a subset of the attributes of T.• If one of the tables in the join has all the attributes of the table T, the join dependency is called trivial
JOIN DEPENDENCY
•If JOIN dependency is present carry out a multiway decomposition in to 5th Normal form •Such dependency is very peculiar semantic constraint, that is very difficult to detect I practice. So 5NF very rarely done in practice.