functional dependancy

58
Functional Dependencies & Normalization

Upload: lbsitw-trivandrum

Post on 09-Dec-2014

889 views

Category:

Education


1 download

DESCRIPTION

it include the basic idea of functional dependency with example,also include normalization basics

TRANSCRIPT

Page 1: Functional dependancy

Functional Dependencies &

Normalization

Page 2: Functional dependancy

There are two levels at which we discuss the goodness of relation schema

• Logical (or Conceptual)Level

• Implementation (or storage ) Level

Page 3: Functional dependancy

INFORMAL DESIGN GUIDELINESFOR

RELATION SCHEMAS

Page 4: Functional dependancy

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

Page 5: Functional dependancy

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

Page 6: Functional dependancy
Page 7: Functional dependancy
Page 8: Functional dependancy

FUNCTIONAL DEPENDENCIES

Page 9: Functional dependancy

• 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 .

Page 10: Functional dependancy

If X Y in R ,this does not say whether or not Y X in R.

Page 11: Functional dependancy

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

Page 12: Functional dependancy

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

Page 13: Functional dependancy

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

Page 14: Functional dependancy

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

Page 15: Functional dependancy

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.

Page 16: Functional dependancy

Equivalence of sets of functional dependencies

Page 17: Functional dependancy

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 .+ +

Page 18: Functional dependancy

Minimal sets of functional dependencies

Page 19: Functional dependancy

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

Page 20: Functional dependancy

• 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

Page 21: Functional dependancy

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}

Page 22: Functional dependancy

Find minimum cover for E{nonamenoageno,nameagenoage,name}

Page 23: Functional dependancy

NORMAL FORMS

Page 24: Functional dependancy

NORMAL FORMS BASED ON PRIMARY KEYS

Page 25: Functional dependancy

•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

Page 26: Functional dependancy

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

Page 27: Functional dependancy

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.

Page 28: Functional dependancy

FIRST NORMAL FORM

Page 29: Functional dependancy

•Disallow multi valued attributes and composite attributes• it states that domain of an attributes must include only atomic (simple, indivisible)values.•Ex: address

Page 30: Functional dependancy
Page 31: Functional dependancy

Partial key

Page 32: Functional dependancy

SECOND NORMAL FORM

Must be in 1NF

Page 33: Functional dependancy

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

Page 34: Functional dependancy
Page 35: Functional dependancy

3NF,THIRD NORMAL FORM

Page 36: Functional dependancy

•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

Page 37: Functional dependancy
Page 38: Functional dependancy

BCNF(BOYCE CODD NORMAL FORM)

Page 39: Functional dependancy

More stricter than 3NF

X A Always the left hand side must be super key whether A is prime or non prime

Page 40: Functional dependancy

Here {student, course instructor}{instructor course}

It is 3NF but not BCNF

Page 41: Functional dependancy

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

Page 42: Functional dependancy

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

Page 43: Functional dependancy

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.

Page 44: Functional dependancy

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.

Page 45: Functional dependancy

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

Page 46: Functional dependancy

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

Page 47: Functional dependancy

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

Page 48: Functional dependancy

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

Page 49: Functional dependancy

(Lets do some problems)

Page 50: Functional dependancy

4TH NORMAL FORM

Page 51: Functional dependancy

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.

Page 52: Functional dependancy

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

Page 53: Functional dependancy

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}.

Page 54: Functional dependancy

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.

Page 55: Functional dependancy
Page 56: Functional dependancy

5TH NORMAL FORM

Page 57: Functional dependancy

•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

Page 58: Functional dependancy

•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.