Database Design and Implementation

Database Design and Implementation

John Wiley & Sons Inc

11/2008

784

Dura

Inglês

9780471757160

1246

Descrição não disponível.
1. Introduction: Why a Database System? 1.1. Databases and Database Systems. 1.2. Record Storage. 1.3. Multi-User Access. 1.4. Memory Management. 1.5. Data Models and Schemas. 1.6. Physical Data Independence. 1.7. Logical Data Independence. 1.8. Chapter Summary. 1.9. Suggested Reading. 1.10. Exercises. Part 1: Rational Databases. 2. Data Definition. 2.1. Tables. 2.2. Null Values. 2.3. Keys. 2.4. Foreign Keys and Referential Integrity. 2.5. Integrity Constraints. 2.6. Specifying Tables in SQL. 2.7. Chapter Summary. 2.8. Suggested Reading. 2.9. Exercises. 3. Data Design. 3.1. Designing Tables is Difficult. 3.2. Class Diagrams. 3.3. Transforming Class Diagrams to Tables. 3.4. The Design Process. 3.5. Relationships to Constraints. 3.6. Functional Dependancies and Normalization. 3.7. Chapter Summary. 3.8. Suggested Reading. 3.9. Exercises. 4. Data Manipulation. 4.1. Queries. 4.2. Relational Algebra. 4.3. SQL Queries. 4.4. SQL Updates. 4.5. Views. 4.6. Chapter Summary. 4.7. Suggested Reading. 4.8. Exercises. 5. Integrity and Security. 5.1. The Need for Integrity and Security. 5.2. Assertions. 5.3. Triggers. 5.4. Authorization. 5.5. Mandatory Access Control. 5.6. Chapter Summary. 5.7. Suggested Reading. 5.8. Exercises. 6. Improving Query Efficiency. 6.1. The Virtues of Controlled Redundancy. 6.2. Materialized Views. 6.3. Indexes. 6.4. Chapter Summary. 6.5. Suggested Reading. 6.6. Exercises. Part 2: Client-Server Database Systems. 7. Clients and Servers. 7.1. The Data-Sharing Problem. 7.2. Database Clients and Servers. 7.3. The Derby and SimpleDB Database Servers. 7.4. Running Database Clients. 7.5. The Derby ij Client. 7.6. The SimpleDB Version of SQL. 7.7. Chapter Summary. 7.8. Suggested Reading. 7.9. Exercises. 8. Using JDBC. 8.1. Basic JDBC. 8.2. Advanced JDBC. 8.3. Computing in Java vs. SQL. 8.4. Chapter Summary. 8.5. Suggested Reading. 8.6. Exercises. 9. Persistent Java Objects. 9.1. The Domain Model and View of a Client Program. 9.2. The Problem with Our Domain Model. 9.3. The Java Persistence Architecture. 9.4. The Java Persistence Query Language. 9.5. Downloading a JPA Implementation. 9.6. Chapter Summary. 9.7. Suggested Reading. 9.8. Exercises. 10. Data Exchange. 10.1. Sharing Database Data with NonUsers. 10.2. Saving Data in an XML Document. 10.3. Restructuring an XML Document. 10.4. Generating XML Data from the Database. 10.5. Chapter Summary. 10.6. Suggested Reading. 10.7. Exercises. 11. Webserver-Based Database Clients. 11.1. Types of Database Clients. 11.2. Interacting with a Web Server. 11.3. Basic Servlet Programming. 11.4. Managing Database Connections. 11.5. Configuring a Servlet Container. 11.6. Chapter Summary. 11.7. Suggested Reading. 11.8. Exercises. Part 3. Inside the Database Server. 12. Disk and File Management. 12.1. Persistent Data Storage. 12.2. The Block-Level Interface to the Disk. 12.3. The File-Level Interface to the Disk. 12.4. The Database System and the OS. 12.5. The SimpleDB File Manager. 12.6. Chapter Summary. 12.7. Suggested Reading. 12.8. Exercises. 13. Memory Management. 13.1. Two Principles of Database Memory Management. 13.2. Managing Log Information. 13.3. The SimpleDB Log Manager. 13.4. Managing User Data. 13.5. The SimpleDB Buffer Manager. 13.6. Chapter Summary. 13.7. Suggested Reading. 13.8. Exercises. 14. Transaction Management. 14.1. Transactions. 14.2. Using Transactions in SimpleDB. 14.3. Recovery Management. 14.4. Concurrency Management. 14.5. Implementing SimpleDB Transactions. 14.6. Testing Transactions. 14.7. Chapter Summary. 14.8. Suggested Reading. 14.9. Exercises. 15. Record Management. 15.1. The Record Manager. 15.2. Implementing a File of Records. 15.3. The SimpleDB Record Manager. 15.4. Chapter Summary. 15.5. Suggested Reading. 15.6. Exercises. 16. Metadata Management. 16.1. The Metadata Manager. 16.2. Table Metadata. 16.3. View Metadata. 16.4. Statistical Metadata. 16.5. Index Metadata. 16.6. Implementing the Metadata Manager. 16.7 .Chapter Summary. 16.8. Suggested Reading. 16.9. Exercises. 17. Query Processing. 17.1. Scans. 17.2. Update Scans. 17.3. Implementing Scans. 17.4. Pipelined Query Processing. 17.5. The Cost of a Scan. 17.6. Plans. 17.7. Predicates. 17.8. Chapter Summary. 17.9. Suggested Reading. 17.10. Exercises. 18. Parsing. 18.1. Syntax vs. Semantics. 18.2. Lexical Analysis. 18.3. Implementing the Lexical Analyzer. 18.4. Grammars. 18.5. Recursive-Descent Parsers. 18.6. Adding Actions to the Parser. 18.7. Chapter Summary. 18.8. Suggested Reading. 18.9. Exercises. 19. Planning. 19.1. The SimpleDB Planner. 19.2. Verification. 19.3. Query Planning. 19.4. Update Planning. 19.5. Implementing the SimpleDB Planner. 19.6. Chapter Summary. 19.7. Suggested Reading. 19.8. Exercises. 20. The Database Server. 20.1. Server Databases vs. Embedded Databases. 20.2. Client-Server Communication. 20.3. Implementing the Remote Interfaces. 20.4. Implementing the JDBC Interfaces. 20.5. Chapter Summary. 20.6. Suggested Reading. 20.7. Exercises. Part 4: Efficient Query Processing. 21. Indexing. 21.1. The Index Interface. 21.2. Static Hash Indexes. 21.3. Extendable Hash Indexes. 21.4. B-Tree Indexes. 21.5. Index-Aware Operator Implementations. 21.6. Index Update Planning. 21.7. Chapter Summary. 21.8. Suggested Reading. 21.9. Exercises. 22. Materialization and Sorting. 22.1. The Value of Materialization. 22.2. Temporary Tables. 22.3. Materialization. 22.4. Sorting. 22.5. Grouping and Aggregation. 22.6. Merge Joins. 22.7. Chapter Summary. 22.8. Suggested Reading. 22.9. Exercises. 23. Effective Buffer Utilization. 23.1. Buffer Usage in Query Plans. 23.2. MultiBuffer Sorting. 23.3. MultiBuffer Product. 23.4. Implementing the Multibuffer Operations. 23.5. Hash Joins. 23.6. Comparing the Join Algorithms. 23.7. Chapter Summary. 23.8. Suggested Reading. 23.9. Exercises. 24. Query Optimization. 24.1. Equivalent Query Trees. 24.2. The Need for Query Optimization. 24.3. The Structure of a Query Optimizer. 24.4. Finding the Most Promising Query Tree. 24.5. Finding the Most Efficient Plan. 24.6. Combining the Two Stages of Optimization. 24.7. Merging Query Blocks. 24.8 Chapter Summary. 24.9. Suggested Reading. 24.10. Exercises. References. Index.
Este título pertence ao(s) assunto(s) indicados(s). Para ver outros títulos clique no assunto desejado.
how to use a database; how to build a database; build database applications in Java; first DB course text; second database text; JDBC development; JPA, XML, and Servlet development; internals of database servers; techniques for indexing; algorithms for sorting; intelligent buffer usage; techniques for query optimization; data design and manipulation; client-server database systems