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. 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: Discovery
11.2 Case study: Cardinality
11.3 Case study: Supertype and weak entities
11.4 Case study: Implementing entities
11.5 Case study: Implementing relationships
11.6 Case study: Implementing attributes
12. MySQL Workbench
12.1 Workbench installation
12.2 Workbench import and export
12.3 Workbench stored procedures and functions
Teach Databases with this interactive zyBook, now updated with advanced 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 a web-native, interactive zyBook that helps students visualize concepts to learn faster and more effectively than with a traditional textbook. (Check out our research.)
Since 2012, over 1,700 academic institutions have adopted web-native zyBooks to transform their STEM education.
- 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 new advanced zyLabs interface:
Author
Paul Winsberg
Professor of Computer Science, Berkeley City College
Senior Contributor
Frank McCown
Professor of Computer Science, Harding University