0% found this document useful (0 votes)
48 views

Chapter 28: Advanced Relational Database Design

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views

Chapter 28: Advanced Relational Database Design

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 16

Chapter 28: Advanced Relational Database

Design
Outline

 Reasoning with MVDs


 Higher normal forms
 Join dependencies and PJNF
 DKNF

Database System Concepts - 7th Edition 28.2 ©Silberschatz, Korth and Sudarshan
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 multivalued dependencies
logically implied by D.
 Sound and complete inference rules for functional and multivalued
dependencies:
 Reflexivity rule. If  is a set of attributes and   , then   
holds.
 Augmentation rule. If    holds and  is a set of attributes,
then      holds.
 Transitivity rule. If    holds and   holds, then    holds.

Database System Concepts - 7th Edition 28.3 ©Silberschatz, Korth and Sudarshan
Theory of Multivalued Dependencies (Cont.)
 Complementation rule. If   holds, then  R––
holds.
 Multivalued augmentation rule. If   holds and   R and 
 , then     holds.
 Multivalued transitivity rule. If   holds and   holds,
then   –  holds.
 Replication rule. If   holds, then  .
 Coalescence rule. If   holds and    and there is a  such
that   R and    =  and  , then   holds.

Database System Concepts - 7th Edition 28.4 ©Silberschatz, Korth and Sudarshan
Simplification of the Computation of D+

 We can simplify the computation of the closure of D by using the following


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   holds and   holds, then   –  holds
and   –  holds.

Database System Concepts - 7th Edition 28.5 ©Silberschatz, Korth and Sudarshan
Example
 R = (A, B, C, G, H, I)
D = {A B
B HI
CG 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 transitivity rule (6)
implies that B HI – B.
Since HI – B = HI, A HI.

Database System Concepts - 7th Edition 28.6 ©Silberschatz, Korth and Sudarshan
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 = Ø, the
coalescence rule is satisfied with  being B,  being HI,  being CG,
and  being H. We conclude that B H.
 A CG.
A CGHI and A HI.
By the difference rule, A CGHI – HI.
Since CGHI – HI = CG, A CG.

Database System Concepts - 7th Edition 28.7 ©Silberschatz, Korth and Sudarshan
Normalization Using Join Dependencies

 Join dependencies constrain the set of legal relations over a schema R to


those relations for which a given decomposition is a lossless-join
decomposition.
 Let R be a relation schema and R1 , R2 ,..., Rn be a decomposition of R. If
R = R1  R2  ….  Rn, we say that a relation r(R) satisfies the join
dependency *(R1 , R2 ,..., Rn) if:
r =R1 (r) ⋈ R2 (r) ⋈ …… ⋈ Rn(r)
A join dependency is trivial if one of the Ri is R itself.
 A join dependency *(R1, R2) is equivalent to the multivalued dependency
R 1  R2 R2. Conversely,   is equivalent to *( (R - ),   )
 However, there are join dependencies that are not equivalent to any
multivalued dependency.

Database System Concepts - 7th Edition 28.8 ©Silberschatz, Korth and Sudarshan
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 , R2 ,..., Rn ) where each Ri  R
and R =R1 R2  ...  Rn
at least one of the following holds:
 *(R1 , R2 ,..., Rn ) is a trivial join dependency.
 Every Ri is a superkey for R.
 Since every multivalued dependency is also a join dependency,
every PJNF schema is also in 4NF.

Database System Concepts - 7th Edition 28.9 ©Silberschatz, Korth and Sudarshan
Example

 Consider Loan-info-schema = (branch-name, customer-name, loan-


number, amount).
 Each loan has one or more customers, is in one or more branches and
has a loan amount; these relationships are independent, hence we 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 of dependencies
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)

Database System Concepts - 7th Edition 28.10 ©Silberschatz, Korth and Sudarshan
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. The key
declaration key (K) requires that K be a superkey for schema R (K  R).
All key declarations are functional dependencies but not all functional
dependencies are key declarations.
 General constraint. A general constraint is a predicate on the set of all
relations on a given schema.
 Let D be a set of domain constraints and let K be a set of key constraints
for a relation schema R. Let G denote the general constraints for R.
Schema R is in DKNF if D  K logically imply G.

Database System Concepts - 7th Edition 28.11 ©Silberschatz, Korth and Sudarshan
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 for each
account:
 The account number begins with 9.
 The balance is greater than 2500.

Database System Concepts - 7th Edition 28.12 ©Silberschatz, Korth and Sudarshan
DKNF rephrasing of PJNF Definition

 Let R = (A1 , A2 ,..., An) be a relation schema. Let dom(Ai ) denote the
domain of attribute Ai, and let all these domains be infinite. Then all
domain constraints D are of the form Ai  dom (Ai ).
 Let the general constraints be a set G of functional, multivalued, or join
dependencies. If F is the set of functional dependencies in G, let the set
K of key constraints be those nontrivial functional dependencies in F+ of
the form   R.
 Schema R is in PJNF if and only if it is in DKNF with respect to D, K,
and G.

Database System Concepts - 7th Edition 28.13 ©Silberschatz, Korth and Sudarshan
End of Chapter 28

Database System Concepts - 7th Edition 28.14 ©Silberschatz, Korth and Sudarshan
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 multivalued dependencies logically
implied by D.
 Sound and complete inference rules for functional and multivalued
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.

Database System Concepts - 7th Edition 28.15 ©Silberschatz, Korth and Sudarshan
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.

Database System Concepts - 7th Edition 28.16 ©Silberschatz, Korth and Sudarshan

You might also like