Table of Contents
1. Introduction to Databases
1.1 Database basics
1.2 Database systems
1.3 Query languages
1.4 Database design and programming
1.5 MySQL
2. Relational Databases
2.1 Relational model
2.2 Structured Query Language
2.3 Managing databases
2.4 Tables
2.5 Data types
2.6 Selecting rows
2.7 Null values
2.8 Inserting, updating, and deleting rows
2.9 Primary keys
2.10 Foreign keys
2.11 Referential integrity
2.12 Constraints
3. Complex Queries
3.1 Special operators and clauses
3.2 Simple functions
3.3 Aggregate functions
3.4 Join queries
3.5 Equijoins, self-joins, and cross-joins
3.6 Subqueries
3.7 Complex query example
3.8 View tables
3.9 Relational algebra
4. Database Design
4.1 Entities, relationships, and attributes
4.2 Discovery
4.3 Cardinality
4.4 Strong and weak entities
4.5 Supertype and subtype entities
4.6 Alternative modeling conventions
4.7 Implementing entities
4.8 Implementing relationships
4.9 Implementing attributes
4.10 First, second, and third normal form
4.11 Boyce-Codd normal form
4.12 Applying normal form
5. Data Storage
5.1 Storage media
5.2 Table structures
5.3 Single-level indexes
5.4 Multi-level indexes
5.5 Other indexes
5.6 Tablespaces and partitions
5.7 Physical design
6. Transaction Management
6.1 Transactions
6.2 Schedules
6.3 Concurrency
6.4 Recovery
6.5 Transactions with SQL
7. Database Architecture
7.1 MySQL architecture
7.2 Cloud databases
7.3 Distributed databases
7.4 Replicated databases
7.5 Data warehouses
7.6 Data warehouse design
7.7 Other database architectures
8. Complex Data Types
8.1 Simple and complex types
8.2 Collection types
8.3 Document types
8.4 Spatial types
8.5 Object types
9. Database Programming
9.1 Programming languages
9.2 Embedded SQL
9.3 Procedural SQL
9.4 Application programming interfaces
9.5 Database programming with Python
9.6 Database programming with Java
9.7 Database programming for the web
10. NoSQL Databases
10.1 Big data
10.2 Key-value databases
10.3 Wide column databases
10.4 Document databases
10.5 Graph databases
10.6 MongoDB
11. Case Study
11.1 Case study: Diagram conventions
11.2 Case study: Discovery
11.3 Case study: Cardinality
11.4 Case study: Supertype and weak entities
11.5 Case study: Implementing entities
11.6 Case study: Implementing relationships
11.7 Case study: Implementing attributes
12. Additional Material
12.1 MySQL Workbench: Import and export
12.2 MySQL Workbench: Stored procedures and functions
What You’ll Find In This zyBook:
More action with less text.
This zyBook provides a highly interactive introduction to databases. Topics include database theory, architecture, design, and programming.
- The emphasis is on relational databases, but the material also covers NoSQL databases.
- Features a comprehensive tutorial on the SQL language.
- Includes hundreds of animations, learning questions, programming exercises, and automatically graded homework.
- Multiple-choice test questions, suitable for formal exams, are available to instructors.
Author
Paul Winsberg
Professor of Computer Science, Berkeley City College
Senior Contributor
Frank McCown
Associate Professor of Computer Science, Harding University