Preface | p. xvii |
Introduction | |
Database-System Applications | p. 1 |
Purpose of Database Systems | p. 3 |
View of Data | p. 5 |
Database Languages | p. 9 |
Relational Databases | p. 11 |
Database Design | p. 14 |
Object-Based and Semistructured Databases | p. 19 |
Data Storage and Querying | p. 20 |
Transaction Management | p. 22 |
Data Mining and Analysis | p. 23 |
Database Architecture | p. 24 |
Database Users and Administrators | p. 26 |
History of Database Systems | p. 28 |
Summary | p. 30 |
Exercises | p. 31 |
Bibliographical Notes | p. 32 |
Relational Databases | |
Relational Model | |
Structure of Relational Databases | p. 37 |
Fundamental Relational-Algebra Operations | p. 46 |
Additional Relational-Algebra Operations | p. 55 |
Extended Relational-Algebra Operations | p. 60 |
Null Values | p. 66 |
Modification of the Database | p. 68 |
Summary | p. 70 |
Exercises | p. 71 |
Bibliographical Notes | p. 73 |
SQL | |
Background | p. 75 |
Data Definition | p. 77 |
Basic Structure of SQL Queries | p. 80 |
Set Operations | p. 87 |
Aggregate Functions | p. 89 |
Null Values | p. 91 |
Nested Subqueries | p. 93 |
Complex Queries | p. 97 |
Views | p. 99 |
Modification of the Database | p. 103 |
Joined Relations | p. 110 |
Summary | p. 115 |
Exercises | p. 116 |
Bibliographical Notes | p. 120 |
Advanced SQL | |
SQL Data Types and Schemas | p. 121 |
Integrity Constraints | p. 126 |
Authorization | p. 133 |
Embedded SQL | p. 134 |
Dynamic SQL | p. 137 |
Functions and Procedural Constructs | p. 145 |
Recursive Queries | p. 151 |
Advanced SQL Features | p. 155 |
Summary | p. 158 |
Exercises | p. 159 |
Bibliographical Notes | p. 162 |
Other Relational Languages | |
The Tuple Relational Calculus | p. 163 |
The Domain Relational Calculus | p. 168 |
Query-by-Example | p. 171 |
Datalog | p. 180 |
Summary | p. 194 |
Exercises | p. 195 |
Bibliographical Notes | p. 198 |
Database Design | |
Database Design and the E-R Model | |
Overview of the Design Process | p. 201 |
The Entity-Relationship Model | p. 204 |
Constraints | p. 210 |
Entity-Relationship Diagrams | p. 214 |
Entity-Relationship Design Issues | p. 220 |
Weak Entity Sets | p. 225 |
Extended E-R Features | p. 227 |
Database Design for Banking Enterprise | p. 236 |
Reduction to Relational Schemas | p. 241 |
Other Aspects of Database Design | p. 248 |
The Unified Modeling Language UML | p. 251 |
Summary | p. 254 |
Exercises | p. 256 |
Bibliographical Notes | p. 261 |
Relational Database Design | |
Features of Good Relational Designs | p. 263 |
Atomic Domains and First Normal Form | p. 268 |
Decomposition Using Functional Dependencies | p. 270 |
Functional-Dependency Theory | p. 278 |
Decomposition Using Functional Dependencies | p. 288 |
Decomposition Using Multivalued Dependencies | p. 293 |
More Normal Forms | p. 298 |
Database-Design Process | p. 299 |
Modeling Temporal Data | p. 302 |
Summary | p. 304 |
Exercises | p. 306 |
Bibliographical Notes | p. 310 |
Application Design and Development | |
User Interfaces and Tools | p. 311 |
Web Interfaces to Databases | p. 314 |
Web Fundamentals | p. 315 |
Servlets and JSP | p. 321 |
Building Large Web Applications | p. 326 |
Triggers | p. 329 |
Authorization in SQL | p. 335 |
Application Security | p. 343 |
Summary | p. 350 |
Exercises | p. 352 |
Bibliographical Notes | p. 357 |
Object-Based Databases and XML | |
Object-Based Databases | |
Overview | p. 361 |
Complex Data Types | p. 362 |
Structured Types and Inheritance in SQL | p. 365 |
Table Inheritance | p. 369 |
Array and Multiset Types in SQL | p. 371 |
Object-Identity and Reference Types in SQL | p. 376 |
Implementing O-R Features | p. 378 |
Persistent Programming Languages | p. 379 |
Object-Oriented versus Object-Relational | p. 387 |
Summary | p. 388 |
Exercises | p. 389 |
Bibliographical Notes | p. 393 |
XML | |
Motivation | p. 395 |
Structure of XML Data | p. 399 |
XML Document Schema | p. 402 |
Querying and Transformation | p. 408 |
Application Program Interfaces to XML | p. 420 |
Storage of XML Data | p. 421 |
XML Applications | p. 428 |
Summary | p. 431 |
Exercises | p. 433 |
Bibliographical Notes | p. 436 |
Data Storage and Querying | |
Storage and File Structure | |
Overview of Physical Storage Media | p. 441 |
Magnetic Disks | p. 444 |
RAID | p. 450 |
Tertiary Storage | p. 458 |
Storage Access | p. 460 |
File Organization | p. 464 |
Organization of Records in Files | p. 468 |
Data-Dictionary Storage | p. 472 |
Summary | p. 474 |
Exercises | p. 476 |
Bibliographical Notes | p. 478 |
Indexing and Hashing | |
Basic Concepts | p. 481 |
Ordered Indices | p. 482 |
B[superscript +]-Tree Index Files | p. 489 |
B-Tree Index Files | p. 501 |
Multiple-Key Access | p. 502 |
Static Hashing | p. 506 |
Dynamic Hashing | p. 511 |
Comparison of Ordered Indexing and Hashing | p. 518 |
Bitmap Indices | p. 520 |
Index Definition in SQL | p. 523 |
Summary | p. 524 |
Exercises | p. 526 |
Bibliographical Notes | p. 529 |
Query Processing | |
Overview | p. 531 |
Measures of Query Cost | p. 533 |
Selection Operation | p. 534 |
Sorting | p. 539 |
Join Operation | p. 542 |
Other Operations | p. 555 |
Evaluation of Expressions | p. 559 |
Summary | p. 563 |
Exercises | p. 566 |
Bibliographical Notes | p. 568 |
Query Optimization | |
Overview | p. 569 |
Transformation of Relational Expressions | p. 571 |
Estimating Statistics of Expression Results | p. 578 |
Choice of Evaluation Plans | p. 584 |
Materialized Views | p. 593 |
Summary | p. 598 |
Exercises | p. 599 |
Bibliographical Notes | p. 602 |
Transaction Management | |
Transactions | |
Transaction Concept | p. 609 |
Transaction State | p. 612 |
Implementation of Atomicity and Durability | p. 615 |
Concurrent Executions | p. 617 |
Serializability | p. 620 |
Recoverability | p. 626 |
Implementation of Isolation | p. 627 |
Testing for Serializability | p. 628 |
Summary | p. 630 |
Exercises | p. 632 |
Bibliographical Notes | p. 633 |
Concurrency Control | |
Lock-Based Protocols | p. 635 |
Timestamp-Based Protocols | p. 648 |
Validation-Based Protocols | p. 651 |
Multiple Granularity | p. 653 |
Multiversion Schemes | p. 656 |
Deadlock Handling | p. 659 |
Insert and Delete Operations | p. 664 |
Weak Levels of Consistency | p. 667 |
Concurrency in Index Structures | p. 669 |
Summary | p. 673 |
Exercises | p. 676 |
Bibliographical Notes | p. 680 |
Recovery System | |
Failure Classification | p. 683 |
Storage Structure | p. 684 |
Recovery and Atomicity | p. 688 |
Log-Based Recovery | p. 689 |
Recovery with Concurrent Transactions | p. 697 |
Buffer Management | p. 699 |
Failure with Loss of Nonvolatile Storage | p. 702 |
Advanced Recovery Techniques | p. 703 |
Remote Backup Systems | p. 711 |
Summary | p. 713 |
Exercises | p. 716 |
Bibliographical Notes | p. 718 |
Data Mining and Information Retrieval | |
Data Analysis and Mining | |
Decision-Support Systems | p. 723 |
Data Analysis and OLAP | p. 725 |
Data Warehousing | p. 736 |
Data Mining | p. 739 |
Summary | p. 752 |
Exercises | p. 754 |
Bibliographical Notes | p. 756 |
Information Retrieval | |
Overview | p. 759 |
Relevance Ranking Using Terms | p. 761 |
Relevance Using Hyperlinks | p. 763 |
Synonyms, Homonyms and Ontologies | p. 768 |
Indexing of Documents | p. 769 |
Measuring Retrieval Effectiveness | p. 770 |
Web Search Engines | p. 771 |
Information Retrieval and Structured Data | p. 772 |
Directories | p. 773 |
Summary | p. 776 |
Exercises | p. 777 |
Bibliographical Notes | p. 779 |
System Architecture | |
Database-System Architectures | |
Centralized and Client-Server Architectures | p. 783 |
Server System Architectures | p. 786 |
Parallel Systems | p. 790 |
Distributed Systems | p. 797 |
Network Types | p. 801 |
Summary | p. 803 |
Exercises | p. 805 |
Bibliographical Notes | p. 807 |
Parallel Databases | |
Introduction | p. 809 |
I/O Parallelism | p. 810 |
Interquery Parallelism | p. 814 |
Intraquery Parallelism | p. 815 |
Intraoperation Parallelism | p. 816 |
Interoperation Parallelism | p. 824 |
Design of Parallel Systems | p. 826 |
Summary | p. 827 |
Exercises | p. 829 |
Bibliographical Notes | p. 831 |
Distributed Databases | |
Homogeneous and Heterogeneous Databases | p. 833 |
Distributed Data Storage | p. 834 |
Distributed Transactions | p. 837 |
Commit Protocols | p. 840 |
Concurrency Control in Distributed Databases | p. 846 |
Availability | p. 854 |
Distributed Query Processing | p. 859 |
Heterogeneous Distributed Databases | p. 862 |
Directory Systems | p. 865 |
Summary | p. 870 |
Exercises | p. 873 |
Bibliographical Notes | p. 876 |
Other Topics | |
Advanced Application Development | |
Performance Tuning | p. 881 |
Performance Benchmarks | p. 891 |
Standardization | p. 895 |
Application Migration | p. 899 |
Summary | p. 900 |
Exercises | p. 902 |
Bibliographical Notes | p. 903 |
Advanced Data Types and New Applications | |
Motivation | p. 905 |
Time in Databases | p. 906 |
Spatial and Geographic Data | p. 908 |
Multimedia Databases | p. 919 |
Mobility and Personal Databases | p. 922 |
Summary | p. 927 |
Exercises | p. 929 |
Bibliographical Notes | p. 931 |
Advanced Transaction Processing | |
Transaction-Processing Monitors | p. 933 |
Transactional Workflows | p. 938 |
E-Commerce | p. 944 |
Main-Memory Databases | p. 947 |
Real-Time Transaction Systems | p. 949 |
Long-Duration Transactions | p. 950 |
Transaction Management in Multidatabases | p. 956 |
Summary | p. 959 |
Exercises | p. 962 |
Bibliographical Notes | p. 964 |
Case Studies | |
PostgreSQL | |
Introduction | p. 967 |
User Interfaces | p. 968 |
SQL Variations and Extensions | p. 971 |
Transaction Management in PostgreSQL | p. 979 |
Storage and Indexing | p. 988 |
Query Processing and Optimization | p. 991 |
System Architecture | p. 994 |
Bibliographical Notes | p. 995 |
Oracle | |
Database Design and Querying Tools | p. 997 |
SQL Variations and Extensions | p. 999 |
Storage and Indexing | p. 1001 |
Query Processing and Optimization | p. 1010 |
Concurrency Control and Recovery | p. 1017 |
System Architecture | p. 1019 |
Replication, Distribution, and External Data | p. 1022 |
Database Administration Tools | p. 1024 |
Data Mining | p. 1025 |
Bibliographical Notes | p. 1026 |
IBM DB2 Universal Database | |
Overview | p. 1027 |
Database-Design Tools | p. 1029 |
SQL Variations and Extensions | p. 1029 |
Storage and Indexing | p. 1034 |
Multidimensionsal Clustering | p. 1037 |
Query Processing and Optimization | p. 1040 |
Materialized Query Tables | p. 1045 |
Autonomic Features in DB2 | p. 1047 |
Tools and Utilitites | p. 1048 |
Concurrency Control and Recovery | p. 1050 |
System Architecture | p. 1052 |
Replication, Distribution and External Data | p. 1053 |
Business Intelligence Features | p. 1054 |
Bibliographical Notes | p. 1055 |
Microsoft SQL Server | |
Management, Design, and Querying Tools | p. 1057 |
SQL Variations and Extensions | p. 1062 |
Storage and Indexing | p. 1066 |
Query Processing and Optimization | p. 1069 |
Concurrency and Recovery | p. 1074 |
System Architecture | p. 1078 |
Data Access | p. 1080 |
Distributed Heterogeneous Query Processing | p. 1081 |
Replication | p. 1082 |
Server Programming in .NET | p. 1084 |
XML Support in SQL Server 2005 | p. 1089 |
SQL Server Service Broker | p. 1094 |
Data Warehouse and Business Intelligence | p. 1096 |
Bibliographical Notes | p. 1100 |
Appendices | |
Network Model (contents online) | |
Basic Concepts | p. A1 |
Data-Structure Diagrams | p. A2 |
The DBTG CODASYL Model | p. A7 |
DBTG Data-Retrieval Facility | p. A13 |
DBTG Update Facility | p. A20 |
DBTG Set-Processing Facility | p. A22 |
Mapping of Networks to Files | p. A27 |
Summary | p. A31 |
Exercises | p. A32 |
Bibliographical Notes | p. A35 |
Hierarchical Model (contents online) | |
Basic Concepts | p. B1 |
Tree-Structure Diagrams | p. B2 |
Data-Retrieval Facility | p. B13 |
Update Facility | p. B18 |
Virtual Records | p. B21 |
Mapping of Hierarchies to Files | p. B22 |
The IMS Database System | p. B24 |
Summary | p. B25 |
Exercises | p. B26 |
Bibliographical Notes | p. B29 |
Advanced Relational Database Design (contents online) | |
Multivalued Dependencies | p. C1 |
Join Dependencies | p. C5 |
Domain-Key Normal Form | p. C8 |
Summary | p. C10 |
Exercises | p. C10 |
Bibliographical Notes | p. C11 |
Bibliography | p. 1101 |
Index | p. 1129 |
Table of Contents provided by Ingram. All Rights Reserved. |