| |
| |
| |
Introduction: Why a Database System? | |
| |
| |
| |
Databases and Database Systems | |
| |
| |
| |
Record Storage | |
| |
| |
| |
Multi-User Access | |
| |
| |
| |
Memory Management | |
| |
| |
| |
Data Models and Schemas | |
| |
| |
| |
Physical Data Independence | |
| |
| |
| |
Logical Data Independence | |
| |
| |
| |
Chapter Summary | |
| |
| |
| |
Suggested Reading | |
| |
| |
| |
Exercises | |
| |
| |
| |
Rational Databases | |
| |
| |
| |
Data Definition | |
| |
| |
| |
Tables | |
| |
| |
| |
Null Values | |
| |
| |
| |
Keys | |
| |
| |
| |
Foreign Keys and Referential Integrity | |
| |
| |
| |
Integrity Constraints | |
| |
| |
| |
Specifying Tables in SQL | |
| |
| |
| |
Chapter Summary | |
| |
| |
| |
Suggested Reading | |
| |
| |
| |
Exercises | |
| |
| |
| |
Data Design | |
| |
| |
| |
Designing Tables id Difficult | |
| |
| |
| |
Class Diagrams | |
| |
| |
| |
Transforming Class Diagrams to Tables | |
| |
| |
| |
The Design Process | |
| |
| |
| |
Relationships to Constraints | |
| |
| |
| |
Functional Dependancies and Normalization | |
| |
| |
| |
Chapter Summary | |
| |
| |
| |
Suggested Reading | |
| |
| |
| |
Exercises | |
| |
| |
| |
Data Manipulation | |
| |
| |
| |
Queries | |
| |
| |
| |
Relational Algebra | |
| |
| |
| |
SQL Queries | |
| |
| |
| |
SQL Updates | |
| |
| |
| |
Views | |
| |
| |
| |
Chapter Summary | |
| |
| |
| |
Suggested Reading | |
| |
| |
| |
Exercises | |
| |
| |
| |
Integrity and Security | |
| |
| |
| |
The Need for Integrity and Security | |
| |
| |
| |
Assertions | |
| |
| |
| |
Triggers | |
| |
| |
| |
Authorization | |
| |
| |
| |
Mandatory Access Control | |
| |
| |
| |
Chapter Summary | |
| |
| |
| |
Suggested Reading | |
| |
| |
| |
Exercises | |
| |
| |
| |
Improving Query Efficiency | |
| |
| |
| |
The Virtues of Controlled Redundancy | |
| |
| |
| |
Materialized Views | |
| |
| |
| |
Indexes | |
| |
| |
| |
Chapter Summary | |
| |
| |
| |
Suggested Reading | |
| |
| |
| |
Exercises | |
| |
| |
| |
Client-Server Database Systems | |
| |
| |
| |
Clients and Servers | |
| |
| |
| |
The Data-Sharing Problem | |
| |
| |
| |
Database Clients and Servers | |
| |
| |
| |
The Derby and SimpleDB Database Servers | |
| |
| |
| |
Running Database Clients | |
| |
| |
| |
The Derby ij Client | |
| |
| |
| |
The SimpleDB Version of SQL | |
| |
| |
| |
Chapter Summary | |
| |
| |
| |
Suggested Reading | |
| |
| |
| |
Exercises | |
| |
| |
| |
Using JDBC | |
| |
| |
| |
Basic JDBC | |
| |
| |
| |
Advanced JDBC | |
| |
| |
| |
Computing in Java vs. SQL | |
| |
| |
| |
Chapter Summary | |
| |
| |
| |
Suggested Reading | |
| |
| |
| |
Exercises | |
| |
| |
| |
Persistent Java Objects | |
| |
| |
| |
The Domain Model and View of a Client Program | |
| |
| |
| |
The Problem with Our Domain Model | |
| |
| |
| |
The Java Persistence Architecture | |
| |
| |
| |
The Java Persistence Query Language | |
| |
| |
| |
Downloading a JPA Implementation | |
| |
| |
| |
Chapter Summary | |
| |
| |
| |
Suggested Reading | |
| |
| |
| |
Exercises | |
| |
| |
| |
Data Exchange | |
| |
| |
| |
Sharing Database Data with Non-Users | |
| |
| |
| |
Saving Data in an XML Document | |
| |
| |
| |
Restructuring an XML Document | |
| |
| |
| |
Generating XML Data from the Database | |
| |
| |
| |
Chapter Summary | |
| |
| |
| |
Suggested Reading | |
| |
| |
| |
Exercises | |
| |
| |
| |
Webserver-Based Database Clients | |
| |
| |
| |
Types of Database Clients | |
| |
| |
| |
Interacting with a Web Server | |
| |
| |
| |
Basic Servlet Programming | |
| |
| |
| |
Managing Database Connections | |
| |
| |
| |
Configuring a Servlet Container | |
| |
| |
| |
Chapter Summ | |