| |
| |
(All chapters begin with an Introduction end with a Summary, Exercises, and Reference and Bibliography) | |
| |
| |
| |
Preliminaries | |
| |
| |
| |
An Overview of Database Management | |
| |
| |
What is a database system? | |
| |
| |
What is a database? | |
| |
| |
Why database? | |
| |
| |
Data independence | |
| |
| |
Relational systems and others | |
| |
| |
| |
Database System Architecture | |
| |
| |
The three levels of the architecture | |
| |
| |
The external level | |
| |
| |
The conceptual level | |
| |
| |
The internal level | |
| |
| |
Mappings | |
| |
| |
The database administrator | |
| |
| |
The database management system | |
| |
| |
Data communications | |
| |
| |
Client/server architecture | |
| |
| |
Utilities | |
| |
| |
Distributed processing | |
| |
| |
| |
An Introduction to Relational Databases | |
| |
| |
An informal look at the relational model | |
| |
| |
Relations and relvars | |
| |
| |
What relations mean | |
| |
| |
Optimization | |
| |
| |
The catalog | |
| |
| |
Base relvars and views | |
| |
| |
Transactions | |
| |
| |
The suppliers-and-parts database | |
| |
| |
| |
An Introduction to SQL | |
| |
| |
Overview | |
| |
| |
The catalog | |
| |
| |
Views | |
| |
| |
Transactions | |
| |
| |
Embedded SQL | |
| |
| |
Dynamic SQL and SQL/CLI | |
| |
| |
SQL is not perfect | |
| |
| |
| |
The Relational Model | |
| |
| |
| |
Types | |
| |
| |
Values v Variables | |
| |
| |
Types v Representations | |
| |
| |
Type Definition | |
| |
| |
Operators | |
| |
| |
Type generators | |
| |
| |
SQL facilities | |
| |
| |
| |
Relations | |
| |
| |
Tuples | |
| |
| |
Relation types | |
| |
| |
Relation values | |
| |
| |
Relation variables | |
| |
| |
SQL facilities | |
| |
| |
| |
Relational Algebra | |
| |
| |
Closure revisited | |
| |
| |
The original algebra: Syntax | |
| |
| |
The original algebra: Semantics | |
| |
| |
Examples | |
| |
| |
What is the algebra for? | |
| |
| |
Further points | |
| |
| |
Additional operators | |
| |
| |
Grouping and ungrouping | |
| |
| |
| |
Relational Calculus | |
| |
| |
Tuple calculus | |
| |
| |
Examples | |
| |
| |
Calculus vs. algebra | |
| |
| |
Computational capabilities | |
| |
| |
SQL facilities | |
| |
| |
Domain calculus | |
| |
| |
Query-By-Example | |
| |
| |
| |
Integrity | |
| |
| |
A closer look | |
| |
| |
Predicates and propositions | |
| |
| |
Relvar predicates and database predicates | |
| |
| |
Checking the constraints | |
| |
| |
Internal v external constraints | |
| |
| |
Correctness v consistency | |
| |
| |
Integrity and views | |
| |
| |
A constraint classification scheme | |
| |
| |
Keys | |
| |
| |
Triggers (a digression) | |
| |
| |
SQL facilities | |
| |
| |
| |
Views | |
| |
| |
What are views for? | |
| |
| |
View retrievals | |
| |
| |
View updates | |
| |
| |
Snapshots (a digression) | |
| |
| |
SQL facilities | |
| |
| |
| |
Database Design | |
| |
| |
| |
Functional Dependencies | |
| |
| |
Basic definitions | |
| |
| |
Trivial and nontrivial dependencies | |
| |
| |
Closure of a set of dependencies | |
| |
| |
Closure of a set of attributes | |
| |
| |
Irreducible sets of dependencies | |
| |
| |
| |
Further Normalization I: 1NF, 2NF, 3NF, BCNF | |
| |
| |
Nonloss decomposition and functional dependencies | |
| |
| |
First, second, and third normal forms | |
| |
| |
Dependency preservation | |
| |
| |
Boyce/Codd normal form | |
| |
| |
A note on relation-valued attributes | |
| |
| |
| |
Further Normalization II: Higher Normal Forms | |
| |
| |
Multi-valued dependencies and fourth normal form | |
| |
| |
Join dependencies and fifth normal form | |
| |
| |
The normalization procedure summarized | |
| |
| |
A note on denormalization | |
| |
| |
Orthogonal design (a digression) | |
| |
| |
Other normal forms | |
| |
| |
| |
Semantic Modeling | |
| |
| |
The overall approach | |
| |
| |
The E/R model | |
| |
| |
E/R diagrams | |
| |
| |
Database design with the E/R model | |
| |
| |
A brief analysis | |
| |
| |
| |
Transaction Management | |
| |
| |
| |
Recovery | |
| |
| |
Transactions | |
| |
| |
Transaction recovery | |
| |
| |
System recovery | |
| |
| |
Media recovery | |
| |
| |
Two-phase commit | |
| |
| |
Savepoints (a digression) | |
| |
| |
SQL facilities | |
| |
| |
| |
Concurrency | |
| |
| |
Three concurrency problems | |
| |
| |
Locking | |
| |
| |
The three concurrency problems revisited | |
| |
| |
Deadlock | |
| |
| |
Serializability | |
| |
| |
Recovery revisited | |
| |
| |
Isolation levels | |
| |
| |
Intent locking | |
| |
| |
ACID dropping | |
| |
| |
SQL facilities | |
| |
| |
| |
Further Topics | |
| |
| |
| |
Security | |
| |
| |
Discretionary access control | |
| |
| |
Mandatory access control | |
| |
| |
Statistical databases | |
| |
| |
Data encryption | |
| |
| |
SQL facilities | |
| |
| |
| |
Optimization | |
| |
| |
A motivating example | |
| |
| |
An overview of query processing | |
| |
| |
Expression transformation | |
| |
| |
Database statistics | |
| |
| |
A divide-and-conquer strategy | |
| |
| |
Implementing the relational operators | |
| |
| |
| |
Missing Information | |
| |
| |
An overview of the 3VL approach | |
| |
| |
Some consequences of the foregoing scheme | |
| |
| |
Nulls and keys | |
| |
| |
Outer join (a digression) | |
| |
| |
Special values | |
| |
| |
SQL facilities | |
| |
| |
| |
Type Inheritance | |
| |
| |
Type hierarchies | |
| |
| |
Polymorphism and substitutability | |
| |
| |
Variables and assignments | |
| |
| |
Specialization by constraint | |
| |
| |
Comparisons | |
| |
| |
Operators, versions, and signatures | |
| |
| |
Is a circle an ellipse? | |
| |
| |
Specialization by constraint revisited | |
| |
| |
SQL facilities | |
| |
| |
| |
Distributed Databases | |
| |
| |
Some preliminaries | |
| |
| |
The twelve objectives | |
| |
| |
Problems of distributed systems | |
| |
| |
Client/server systems | |
| |
| |
DBMS independence | |
| |
| |
SQL facilities | |
| |
| |
| |
Decision Support | |
| |
| |
Aspects of decision support | |
| |
| |
Database design for decision support | |
| |
| |
Data preparation | |
| |
| |
Data warehouses and data marts | |
| |
| |
Online analytical processing | |
| |
| |
Data mining | |
| |
| |
SQL facilities | |
| |
| |
| |
Temporal Databases | |
| |
| |
What is the problem? | |
| |
| |
Intervals | |
| |
| |
Packing and unpacking relations | |
| |
| |
Generalizing the relational operators | |
| |
| |
Database work design | |
| |
| |
Integrity constraints | |
| |
| |
| |
Logic-Based Databases | |
| |
| |
Overview | |
| |
| |
Propositional calculus | |
| |
| |
Predicate calculus | |
| |
| |
A proof-theoretic view of databases | |
| |
| |
Deductive database systems | |
| |
| |
Recursive query processing | |
| |
| |
| |
Objects, Relations, And Xml | |
| |
| |
| |
Object Databases | |
| |
| |
Objects, classes, methods, and messages | |
| |
| |
A closer look | |
| |
| |
A cradle-to-grave example | |
| |
| |
Miscellaneous issues | |
| |
| |
| |
Object / Relational Databases | |
| |
| |
The First Great Blunder | |
| |
| |
The Second Great Blunder | |
| |
| |
Implementation issues | |
| |
| |
Benefits of true rapprochement | |
| |
| |
SQL facilities | |
| |
| |
| |
The World Wide Web and XML | |
| |
| |
The Web and the Internet | |
| |
| |
An overview of XML | |
| |
| |
XML data definition | |
| |
| |
XML data manipulation | |
| |
| |
XML and databases | |
| |
| |
SQL facilities | |
| |
| |
Appendixes | |
| |
| |
| |
The TransRelational��� Model | |
| |
| |
Three levels of abstraction | |
| |
| |
The basic idea | |
| |
| |
Condensed columns | |
| |
| |
Merged columns | |
| |
| |
Implementing the relational operators | |
| |
| |
| |
SQL Expressions, Table Expressions, and Boolean Expressions | |
| |
| |
| |
Abbreviations, Acronyms, and Symbol | |
| |
| |
| |
Online storage structures and access methods, database access: an overview, page sets and files, indexing, hashing, pointer chains, and compression techniques | |
| |
| |
Index | |