* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Chapter 7: Relational Database Design
Survey
Document related concepts
Microsoft SQL Server wikipedia , lookup
Serializability wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Oracle Database wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Ingres (database) wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Concurrency control wikipedia , lookup
Relational algebra wikipedia , lookup
Versant Object Database wikipedia , lookup
Clusterpoint wikipedia , lookup
ContactPoint wikipedia , lookup
Transcript
Appendix C: Advanced Relational Database Design Database System Concepts, 5th Ed. C.1 ©Silberschatz, Korth and Sudarshan Database System Concepts Chapter 1: Introduction Part 1: Relational databases Chapter 2: Relational Model Chapter 3: SQL Chapter 4: Advanced SQL Chapter 5: Other Relational Languages Part 2: Database Design Chapter 6: Database Design and the E-R Model Chapter 7: Relational Database Design Chapter 8: Application Design and Development Part 3: Object-based databases and XML Chapter 9: Object-Based Databases Chapter 10: XML Part 4: Data storage and querying Chapter 11: Storage and File Structure Chapter 12: Indexing and Hashing Chapter 13: Query Processing Chapter 14: Query Optimization Part 5: Transaction management Chapter 15: Transactions Chapter 16: Concurrency control Chapter 17: Recovery System Database System Concepts, 5th Ed. Part 6: Data Mining and Information Retrieval Chapter 18: Data Analysis and Mining Chapter 19: Information Retreival Part 7: Database system architecture Chapter 20: Database-System Architecture Chapter 21: Parallel Databases Chapter 22: Distributed Databases Part 8: Other topics Chapter 23: Advanced Application Development Chapter 24: Advanced Data Types and New Applications Chapter 25: Advanced Transaction Processing Part 9: Case studies Chapter 26: PostgreSQL Chapter 27: Oracle Chapter 28: IBM DB2 Chapter 29: Microsoft SQL Server Online Appendices Appendix A: Network Model Appendix B: Hierarchical Model Appendix C: Advanced Relational Database Model C.2 ©Silberschatz, Korth and Sudarshan Online Appendices (available only in http://www.db-book.com) Appendix A: Network Model Appendix B: Hierarchical Model Although most new database applications use either the relational model or the object-relational model, the network and hierarchical data models are still in use in some legacy applications. Appendix C: Advanced Relational Database Model describes advanced relational-database design, including the theory of multivalued dependencies, join dependencies, and the project-join and domain-key normal forms. Database System Concepts, 5th Ed. C.3 ©Silberschatz, Korth and Sudarshan Table of Contents Reasoning with MVDs Higher normal forms Join dependencies and PJNF DKNF Summary Database System Concepts, 5th Ed. C.4 ©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, 5th Ed. C.5 ©Silberschatz, Korth and Sudarshan Theory of Multivalued Dependencies (Cont.) 4. Complementation rule. If holds. holds, then 5. Multivalued augmentation rule. If , then holds. 6. Multivalued transitivity rule. If then – holds. 7. Replication rule. If holds and R and holds and holds, then R–– holds, . 8. Coalescence rule. If holds and and there is a such that R and = and , then holds. Database System Concepts, 5th Ed. C.6 ©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. Intersection rule. If holds. Difference rule. If If holds and holds and – holds. Database System Concepts, 5th Ed. holds and holds and C.7 holds, then holds, then holds, then – ©Silberschatz, Korth and Sudarshan MVD Example R = (A, B, C, G, H, I) D = {A B CG B HI 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 rule (6) implies that B Since HI – B = HI, A Database System Concepts, 5th Ed. HI, the multivalued transitivity HI – B. HI. C.8 ©Silberschatz, Korth and Sudarshan MVD 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 Since CGHI – HI = CG, A Database System Concepts, 5th Ed. CGHI – HI. CG. C.9 ©Silberschatz, Korth and Sudarshan Table of Contents Reasoning with MVDs Higher normal forms Join dependencies and PJNF DKNF Summary Database System Concepts, 5th Ed. C.10 ©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 R1 R2 R2. Conversely, is equivalent to *( (R - ), ) However, there are join dependencies that are not equivalent to any multivalued dependency. Database System Concepts, 5th Ed. C.11 ©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, 5th Ed. C.12 ©Silberschatz, Korth and Sudarshan PJNF 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, 5th Ed. C.13 ©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, 5th Ed. C.14 ©Silberschatz, Korth and Sudarshan DKNF 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, 5th Ed. C.15 ©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, 5th Ed. C.16 ©Silberschatz, Korth and Sudarshan Table of Contents Reasoning with MVDs Higher normal forms Join dependencies and PJNF DKNF Summary Database System Concepts, 5th Ed. C.17 ©Silberschatz, Korth and Sudarshan Appendix C: Summary In this chapter we presented the theory of multivalued dependencies, including a set of sound and complete inference rules for multivalued dependencies. We then presented two more normal forms based on more general classes of constraints. Join dependencies are a generalization of multivalued dependencies, and lead to the definition of PJNF. DKNF is an idealized normal form that may be difficult to achieve in practice. Yet DKNF has desirable properties that should be included to the extent possible in a good database design. Database System Concepts, 5th Ed. C.18 ©Silberschatz, Korth and Sudarshan Appendix C: Biblio Notes (1) The Notations of 4NF, PJNF, and DKNF are from Fagin [1977], Fagin [1979], and Fagin [1981], respectively. The synthesis approach to database design is discussed in Bernstein [1976]. Join dependencies were introduced by Rissanen [1979]. Sciore [1982] gives a set of axioms for a class of dependencies that properly includes the join dependencies. In addition to their use in PJNF, join dependencies are central to the definition of universal relation databases. Fagin et al. [1982] introduces the relationship between join dependencies and the definition of a relation as a conjunction of predicates (see Section C.2.1). This use of join dependencies has led to a large amount of research into acyclic database schemas. Intuitively, a schema is acyclic if if every pair of attributes is related in a unique way. Formal treatment of acyclic schemas appears in Fagin [1983] and in Beeri et al. [1983]. Database System Concepts, 5th Ed. C.19 ©Silberschatz, Korth and Sudarshan Appendix C: Biblio Notes (2) Additional dependencies are discussed in detail in Maier [1983]. Inclusion dependencies are discussed by Casanova et al. [1984] and Cosmadakis et al. [1990]. Template dependencies are covered by Sadri and Ulman [1982]. Mutual dependencies are examined by Furtado [1978] and by Mendelzon and Maier[1979]. Constraints be those nontrivial functional dependencies in F+ of the form g R. Schema R is in PJNF if and only if it is in DKNF with respect to D, K, and G. A consequence of DKNF is that all insertion and deletion anomalies are eliminated. Database System Concepts, 5th Ed. C.20 ©Silberschatz, Korth and Sudarshan Appendix C: Biblio Notes (3) DKNF represents an “ultimate” normal form because it allows arbitrary constraints, rather than dependencies, yet it allows efficient testing of these constraints. Of course, if a schema is not in DKNF, we may be able to achieve DKNF via decomposition, but such decompositions, as we have seen, are not always dependency-preserving decompositions. Thus, although DKNF is a goal of a database designer, it may have to be sacrificed in a practical design. Database System Concepts, 5th Ed. C.21 ©Silberschatz, Korth and Sudarshan