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
1.6 SQL sandbox
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. Conceptual Design
4.1 Entity-relationship model
4.2 Discovery
4.3 Cardinality
4.4 Strong and weak entities
4.5 Supertype and subtype entities
4.6 Case study: Discovery
4.7 Case study: Cardinality
4.8 Case study: Supertype and weak entities
4.9 Alternative modeling conventions
5. Logical Design
5.1 Implementing entities
5.2 Implementing relationships
5.3 Implementing attributes
5.4 Case study: Implementing entities
5.5 Case study: Implementing relationships
5.6 Case study: Implementing attributes
5.7 Functional dependence
5.8 First, second, and third normal form
5.9 Boyce-Codd normal form
5.10 Normalization and denormalization
6. Physical Structures
6.1 Storage media
6.2 Table structures
6.3 Single-level indexes
6.4 Multi-level indexes
6.5 Other index types
6.6 SQL for indexes
6.7 Tablespaces and partitions
7. Transaction Management
7.1 Transactions
7.2 Schedules
7.3 Concurrency
7.4 Recovery
7.5 SQL for transactions
8. Database Architecture
8.1 MySQL architecture
8.2 Cloud databases
8.3 Distributed databases
8.4 Replicated databases
8.5 Data warehouses and data marts
8.6 Other database architectures
9. Complex Data Types
9.1 Simple and complex types
9.2 Collection types
9.3 Document types
9.4 Spatial types
9.5 Object types
10. Database Programming
10.1 Programming languages
10.2 Embedded SQL
10.3 Procedural SQL
10.4 Application programming interfaces
10.5 Database programming with Python
10.6 Database programming with Java
10.7 Database programming for the web
11. NoSQL Databases
11.1 Big data
11.2 Key-value databases
11.3 Wide-column databases
11.4 Document databases
11.5 Graph databases
11.6 MongoDB
12. MySQL Workbench
12.1 Workbench installation
12.2 Workbench import and export
12.3 Workbench stored procedures and functions
Easily customize database content
Build content that meets your course goals
Teach Databases with this interactive zyBook with customizable zyLabs
Database Systems with SQL provides a highly interactive introduction to databases. Topics include database theory, architecture, design, and programming.
- Emphasis on relational databases, but the material also covers NoSQL databases
- Features a comprehensive tutorial on the SQL language
- Entity-relationship diagrams have been updated to industry-standard crow’s foot notation
- A detailed case study illustrates database design, including data modeling and implementation of the model in SQL
- Includes new zyLab IDE that simplifies how students write and submit their lab solutions
- Adopters have access to a test bank with over 350 questions
What is a zyBook?
Database Systems with SQL is an interactive learning solution that helps students visualize concepts, enabling them to learn more effectively than with a traditional textbook. Check out our research.
- Instructor Benefits
- Customize your course by reorganizing existing content or adding your own
- Continuous publication model updates your course with the latest content and technologies
- Robust reporting gives you insight into students’ progress, reading and participation
- Save time with auto-graded labs and challenge activities that seamlessly integrate with your LMS gradebook
- Student Benefits
- Learning questions and other content serve as an interactive form of reading
- Instant feedback on labs and homework
- Concepts come to life through extensive animations embedded into the interactive content
- Save chapters as PDFs to reference the material at any time
Author Paul Winsberg shows the zyLabs interface
Author
Paul Winsberg
Professor of Computer Science, Berkeley City College
Senior Contributor
Frank McCown
Professor of Computer Science, Harding University





