Functional dependancy

Post on 09-Dec-2014

890 views 1 download

Tags:

description

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

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.