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 The relational model
2.2 Tables, columns, and rows
2.3 Null values
2.4 Primary and foreign keys
2.5 Referential integrity
2.6 Inner and outer joins
2.7 View tables
2.8 Normal form
3. Database Design
3.1 Entities, relationships, and attributes
3.2 Discovery
3.3 Cardinality
3.4 Independent and dependent entities
3.5 Supertype and subtype entities
3.6 Implementing entities
3.7 Implementing relationships
3.8 Implementing attributes
3.9 Normalization
4. Structured Query Language
4.1 Introduction to SQL
4.2 Creating and dropping databases
4.3 Creating and dropping tables
4.4 Primary and foreign key constraints
4.5 Column constraints
4.6 Inserting, updating, and deleting rows
4.7 Selecting rows
4.8 Selecting rows: Additional capabilities
4.9 Functions
4.10 Subqueries
4.11 Complex queries
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 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. Additional Material
11.1 MySQL Workbench: Import and export
11.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