Top Banner

of 18

L11_PPT_IVSem

Jul 07, 2018

Download

Documents

Rohit Tiwari
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/18/2019 L11_PPT_IVSem

    1/18

    Database Management System

    Lecture 11Lecture 11Functional DependencyFunctional Dependency

  • 8/18/2019 L11_PPT_IVSem

    2/18

     The Evils of Redundancy  The Evils of Redundancy 

    • Redundancy is at the root of several problems associated with

    re a ona sc emas:

     –  redundant storage, insert/delete/update anomalies

    • Inte rit constraints in articular unctional de endencies  

    can be used to identify schemas with such problems and to

    suggest refinements.

    with, say, AB and BCD, or ACD and ABD).

    • Decomposition should be used judiciously:

     –  Is there reason to decompose a relation? –  What problems (if any) does the decomposition cause?

    Slide No. L1-1

  • 8/18/2019 L11_PPT_IVSem

    3/18

    INTRODUCTION TO SCHEMA REFINEMENT

    Problems Caused by Redundancy• Storing the same information redundantly, that is,

    in more than one place within a database, can leadto several roblems: 

    • Redundant storage: Some information is storedrepeatedly.

     • p a e anoma es: one copy o suc repea edata is updated, an inconsistency 

    • is created unless all copies are similarly updated.

    • Insertion anomalies: It may not be possible tostore some information unless

      .• Deletion anomalies: It may not be possible to

    delete some information without

    Slide No:L1-2

  • 8/18/2019 L11_PPT_IVSem

    4/18

    • losing some other information as well.

     variant of the Hourly Emps entity set

    Ex: Hourly Emps(ssn , name , lot , rating , hourlywages , hours worked )

    • The key for Hourly Emps is ssn . In addition,

    suppose that the hourly wages attribute• is determined by the rating attribute. That is,

    for a given rating value, there is only 

      .an example of a functional dependency .

    • It leads to possible redundancy in the relation

    Slide No:L1-3

    Hourly Emps

  • 8/18/2019 L11_PPT_IVSem

    5/18

    Use of Decompositions

    • Intuitively, redundancy arises when a relationalschema forces an association between attributesthat is not natural.

    • Functional dependencies (ICs) can be used toidentif such situations and to su est revetmentsto the schema.

    • The essential idea is that many problems arising

    relation with a collection of smaller relations.

    • Each of the smaller relations contains a subset of

    .• We refer to this process as decomposition of the

    larger relation into the smaller relations

    Slide No:L1-4

  • 8/18/2019 L11_PPT_IVSem

    6/18

    • We can deal with the redundancy in Hourly Emps by

    ecompos ng n o wo re a ons:

    • Hourly Emps2(ssn , name , lot , rating , hours worked )

    • Wages(rating , hourly wages )

    ratin hourl wa es

    8 10

     

    Slide No:L1-5

  • 8/18/2019 L11_PPT_IVSem

    7/18

    ssn name lot ratinghours worked

    - -

     Attishoo 48 8 40

    231-31-5368m ey 

    131-24-3650 Smethurst 35 5 30

    434-26-3751 Guldu35 5 32

    612-67-4134 Madayan35 8 40

    Slide No:L1-6

  • 8/18/2019 L11_PPT_IVSem

    8/18

    Problems Related to DecompositionProblems Related to Decomposition

     • n ess we are care u , ecompos ng a re a onschema can create more problems than it solves.

    • Two important questions must be askedrepeatedly:

    • 1. Do we need to decompose a relation?

     .decomposition cause?

    • To help with the rst question, several normal formsave een propose or re a ons.

    • If a relation schema is in one of these normalforms, we know that certain kinds of 

    • problems cannot arise. Considering the n

    Slide No:L1-7

  • 8/18/2019 L11_PPT_IVSem

    9/18

    Functional Dependencies (FDs)Functional Dependencies (FDs)

    every allowable instance r of R: –  t1 r, t2 r, (t1) = (t2 ) implies (t1) = (t2 )

     

    ∈ ∈   π   X   π  

     X    π  Y 

      π  Y 

     –  .e., g ven two tup es n r , t e X va ues agree, t en t e Y

    values must also agree. (X and Y are sets of attributes.)

    • An FD is a statement about all allowable relations.

     –  Must be identified based on semantics of application.

     –  Given some allowable instance r1 of R, we can check if it

    ,• K is a candidate key for R means that K R

     –  However, K R does not require K to be minimal !

    Slide No. L2-1

  • 8/18/2019 L11_PPT_IVSem

    10/18

    Example: Constraints on Entity SetExample: Constraints on Entity Set

      _ 

     –  Hourly_Emps (ssn, name, lot, rating, hrly_wages ,hrs_worked )

    • Notation : We will denote this relation schema by listing the

    attributes: SNLRWH

     –   

     –  Sometimes, we will refer to all attributes of a relation by

    using the relation name. (e.g., Hourly_Emps for SNLRWH)

     • ome s on our y_ mps: –  ssn is the key : S SNLRWH

     –  ratin  determines hrl wa es  : R W

    Slide No. L2-2

       _   

  • 8/18/2019 L11_PPT_IVSem

    11/18

  • 8/18/2019 L11_PPT_IVSem

    12/18

    Constraints on a Relationship Set

      , ,and Departments, as well as a relationship set

    Contracts that involves all of them. We refer to the

    sc ema or on rac s as . con rac w

    contract id

    • C s ecies that a su lier S will su l some uantit

    Q of a part P to a department D .

    • We might have a policy that a department purchases.

    • Thus, if there are several contracts between the same

    supplier and department,

    • we know that the same part must be involved in all ofthem. This constraint is an FD, DS ! P .

    Slide No:L2-4

  • 8/18/2019 L11_PPT_IVSem

    13/18

    Reasoning About FDsReasoning About FDs

    • Given some FDs, we can usually infer additional FDs:

     –  ssn did , did lot implies ssn lot 

    • An FD f is implied by a set of FDs F if f  holds whenever all

    FDs in F hold.

     –  = closure of F is the set of all FDs that are implied by F .

    • Armstrong’s Axioms (X, Y, Z are sets of attributes): 

    F +

     –  Re ex v ty  : I X Y, t en Y X

     –  Augmentation : If X Y, then XZ YZ for any Z

     –  Transitivit  : If X Y and Y Z then X Z

    → →

    → → 

    • These are sound and complete inference rules for FDs!

    Slide No. L2-5

  • 8/18/2019 L11_PPT_IVSem

    14/18

    Reasoning About FDs (Contd.)Reasoning About FDs (Contd.)

    • Couple of additional rules (that follow from AA):

     –  Union : If X Y and X Z, then X YZ→ → →

     – 

    Decomposition : If X YZ, then X Y and X Z• Example: Contracts(cid,sid,jid,did,pid,qty,value ), and:

     

    →→

      →

     –    s e ey:

     –  Project purchases each part using single contract:

     –  JP C→

     –  Dept purchases at most one part from a supplier: S

     –  D P

     

    • , mp y• SD P implies SDJ JP

    • SDJ JP JP CSJDP V im l SDJ CSJDP V

    → →→ →

    → →

    Slide No. L2-6

     

  • 8/18/2019 L11_PPT_IVSem

    15/18

    Reasoning About FDs (Contd.)Reasoning About FDs (Contd.)

    • Computing the closure of a set of FDs can be expensive. (Size

    of closure is exponential in # attrs!)

    • Typically, we just want to check if a given FD X Y is in the→  .

     –  Compute attribute closure of X (denoted ) wrt F: 

    • Set of all attributes A such that X A is in

     X +

    → F +• There is a linear time algorithm to compute this.

     –  Check if Y is in

    • = X 

    +

    → 

     –  i.e, is A E in the closure ? Equivalently, is E in

    ?

    +F 

    +→

    Slide No. L2-7

  • 8/18/2019 L11_PPT_IVSem

    16/18

  • 8/18/2019 L11_PPT_IVSem

    17/18

    Closure of a Set of FDs

    • Reflexivity: If X Y , then X !Y .

    • Augmentation: If X ! Y , then XZ ! YZ for any Z .

     • rans t v ty: I X ! Y an Y ! , t en X ! Z .

    • Armstrong's Axioms are sound in that they generate

    onl FDs in F + when a lied to a set F of FDs.

    • They are complete in that repeated application of

    these rules will generate all FDs in the closure F +.• It is convenient to use some additional rules while

    reasoning about F +:

    • Union: If X ! Y and X ! Z  then X !YZ .

    • Decomposition: If X ! YZ , then X !Y and X ! Z .

    • These additional rules are not essential; their

    Slide No:L2-9

    soundness can be proved using Armstrong's Axioms.

  • 8/18/2019 L11_PPT_IVSem

    18/18

    Attribute Closure

    • If we just want to check whether a given dependency,

    say, X→ Y , is in the closure of a set F of FDs,

    • we can do so ecientl without com utin F +. We rst

    compute the attribute closure X + with respect to F ,• which is the set of attributes A such that X→ A can be

    .

    • The algorithm for computing the attribute closure of a

    set X of attributes is• closure = X ;

    repeat until there is no change: { 

     

    closure ,

    then set closure = closure union of V 

    Slide No:L2-10

     }