advanced relational database design_appc[1]

Upload: chamith-indika-ranaweera

Post on 03-Jun-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/12/2019 Advanced Relational Database Design_appC[1]

    1/12

    Silberschatz, Korth and Sudarshan7.1Database System Concepts

    ppen x :Advanced Normalization Theory

    Reasoning with MVDs

    Higher normal formsJoin dependencies and PJNF

    DKNF

  • 8/12/2019 Advanced Relational Database Design_appC[1]

    2/12

    Silberschatz, Korth and Sudarshan7.2Database System Concepts

    Theory of Multivalued Dependencies

    Let D denote a set of functional and multivalued dependencies.The closure D+ of D is the set of all functional and multivalueddependencies logically implied by D.

    Sound and complete inference rules for functional andmultivalued dependencies:

    1. Reflexivity rule . If is a set of attributes and , then holds.

    2. Augmentation rule . If holds and is a set of attributes,then holds.

    3. Transitivity rule . If holds and holds, then

    holds.

  • 8/12/2019 Advanced Relational Database Design_appC[1]

    3/12

    Silberschatz, Korth and Sudarshan7.3Database System Concepts

    Theory of Multivalued Dependencies (Cont.)

    4. Complementation rule. If holds, then R

    holds.5. Multivalued augmentation rule. If holds and R and

    , then holds.

    6. Multivalued transitivity rule . If holds and holds,then holds.

    7. Replication rule. If holds, then . 8. Coalescence rule. If holds and and there is a such

    that R and = and , then holds.

  • 8/12/2019 Advanced Relational Database Design_appC[1]

    4/12

    Silberschatz, Korth and Sudarshan7.4Database System Concepts

    Simplification of the Computation of D +

    We can simplify the computation of the closure of D by using thefollowing rules (proved using rules 1-8).

    Multivalued union rule. If holds and holds, then holds.

    Intersection rule. If holds and holds, then holds.Difference rule. If If holds and holds, then holds and holds.

  • 8/12/2019 Advanced Relational Database Design_appC[1]

    5/12

    Silberschatz, Korth and Sudarshan7.5Database System Concepts

    Example

    R = ( A, B, C, G, H, I)D = { A B

    B HICG H }

    Some members of D+: A CGHI.Since A B, the complementation rule (4) implies that

    A R B A.Since R B A = CGHI, so A CGHI.

    A HI.

    Since A B and B HI, the multivalued transitivityrule (6) implies that B HI B. Since HI B = HI, A HI.

  • 8/12/2019 Advanced Relational Database Design_appC[1]

    6/12

    Silberschatz, Korth and Sudarshan7.6Database System Concepts

    Example (Cont.)

    Some members of D+ (cont.):B H.Apply the coalescence rule (8); B HI holds.Since H HI and CG H and CG HI = , thecoalescence rule is satisfied with being B, being HI, being CG,and being H. We conclude that B H.

    A CG. A CG HI and A HI.By the difference rule, A CG HI HI. Since CG HI HI = CG, A CG.

  • 8/12/2019 Advanced Relational Database Design_appC[1]

    7/12 Silberschatz, Korth and Sudarshan7.7Database System Concepts

    Normalization Using Join Dependencies

    Join dependencies constrain the set of legal relations over a schemaR to those relations for which a given decomposition is a lossless-joindecomposition.

    Let R be a relation schema and R 1 , R 2 ,..., R n be a decomposition ofR . If R = R 1 R 2 . R n, we say that a relation r (R ) satisfies the

    join dependency *(R 1 , R 2 ,..., R n) if:

    r = R1 (r ) R2 (r ) Rn (r )

    A join dependency is trivia l if one of the R i is R itself.

    A join dependency *( R 1, R 2) is equivalent to the multivalueddependency R 1 R 2 R 2 . Conversely, is equivalent to

    *( (R - ), )However, there are join dependencies that are not equivalent to anymultivalued dependency.

  • 8/12/2019 Advanced Relational Database Design_appC[1]

    8/12 Silberschatz, Korth and Sudarshan7.8Database System Concepts

    Project-Join Normal Form (PJNF)

    A relation schema R is in PJNF with respect to a set D of functional,

    multivalued, and join dependencies if for all join dependencies in D+ of the form

    *(R1 , R 2 ,..., R n ) where each R i R

    and R =R1 R 2 ... Rn

    at least one of the following holds:*(R1 , R 2 ,..., R n ) is a trivial join dependency.Every R i is a superkey for R .

    Since every multivalued dependency is also a join dependency,

    every PJNF schema is also in 4NF.

  • 8/12/2019 Advanced Relational Database Design_appC[1]

    9/12 Silberschatz, Korth and Sudarshan7.9Database System Concepts

    Example

    Consider Loan-info-schema = (branch-name, customer-name, loan-number, amount ).Each loan has one or more customers, is in one or more branchesand has a loan amount; these relationships are independent, hencewe have the join dependency

    *(=(loan-number, branch-name ), (loan-number, customer-name ),(loan-number, amount ))

    Loan-info-schema is not in PJNF with respect to the set ofdependencies containing the above join dependency. To put Loan-info-schema into PJNF, we must decompose it into the three

    schemas specified by the join dependency:(loan-number, branch-name )(loan-number, customer-name )

    (loan-number, amount )

  • 8/12/2019 Advanced Relational Database Design_appC[1]

    10/12 Silberschatz, Korth and Sudarshan7.10Database System Concepts

    Domain-Key Normal Form (DKNY)

    Domain declaration . Let A be an attribute, and let dom be a set

    of values. The domain declaration A dom requires that the A value of all tuples be values in dom .Key declaration . Let R be a relation schema with K R . Thekey declaration key (K ) requires that K be a superkey forschema R (K R ). All key declarations are functionaldependencies but not all functional dependencies are keydeclarations.General constraint . A general constraint is a predicate on theset of all relations on a given schema.Let D be a set of domain constraints and let K be a set of keyconstraints for a relation schema R . Let G denote the generalconstraints for R . Schema R is in DKNF if D K logically implyG .

  • 8/12/2019 Advanced Relational Database Design_appC[1]

    11/12 Silberschatz, Korth and Sudarshan7.11Database System Concepts

    Example

    Accounts whose account-number begins with the digit 9 are

    special high-interest accounts with a minimum balance of 2500.General constraint: ``If the first digit of t [account-number ] is 9,then t [balance ] 2500.''

    DKNF design:

    Regular-acct-schema = ( branch-name, account-number, balance )Special-acct-schema = ( branch-name, account-number, balance )

    Domain constraints for { Special-acct-schema } require that foreach account:

    The account number begins with 9.

    The balance is greater than 2500.

  • 8/12/2019 Advanced Relational Database Design_appC[1]

    12/12Silberschatz Korth and Sudarshan7 12Database System Concepts

    DKNF rephrasing of PJNF Definition

    Let R = ( A1 , A 2 ,..., A n) be a relation schema. Let dom( A i )

    denote the domain of attribute A i , and let all these domains beinfinite. Then all domain constraints D are of the form A i dom ( A i ).

    Let the general constraints be a set G of functional, multivalued,or join dependencies. If F is the set of functional dependencies inG , let the set K of key constraints be those nontrivial functionaldependencies in F + of the form R .

    Schema R is in PJNF if and only if it is in DKNF with respect toD, K, and G .