Table of Contents
Introduction 1
Book 1: Getting Started with SQL 5
Chapter 1: Understanding Relational Databases 7
Chapter 2: Modeling a System 29
Chapter 3: Getting to Know SQL 53
Chapter 4: SQL and the Relational Model 65
Chapter 5: Knowing the Major Components of SQL 75
Chapter 6: Drilling Down to the SQL Nitty-Gritty 99
Book 2: Developing Relational Databases 133
Chapter 1: System Development Overview 135
Chapter 2: Building a Database Model 151
Chapter 3: Balancing Performance and Correctness 169
Chapter 4: Creating a Database with SQL 203
Book 3: Writing SQL Queries 217
Chapter 1: Values, Variables, Functions, and Expressions 219
Chapter 2: SELECT Statements and Modifying Clauses 249
Chapter 3: Querying Multiple Tables with Subqueries 295
Chapter 4: Querying Multiple Tables with Relational Operators 323
Chapter 5: Cursors 345
Book 4: Securing Your Data 357
Chapter 1: Protecting Against Hardware Failure and External Threats 359
Chapter 2: Protecting Against User Errors and Conflicts 391
Chapter 3: Assigning Access Privileges 419
Chapter 4: Error Handling 431
Book 5: Programming with SQL 447
Chapter 1: Database Development Environments 449
Chapter 2: Interfacing SQL to a Procedural Language 455
Chapter 3: Using SQL in an Application Program 461
Chapter 4: Designing a Sample Application 477
Chapter 5: Building an Application 497
Chapter 6: Understanding SQL’s Procedural Capabilities 513
Chapter 7: Connecting SQL to a Remote Database 531
Book 6: Working with Advanced Data Types in SQL: XML, JSON, and PGQ 545
Chapter 1: Using XML with SQL 547
Chapter 2: Storing XML Data in SQL Tables 575
Chapter 3: Retrieving Data from XML Documents 599
Chapter 4: Using JSON with SQL 617
Chapter 5: Exploring Property Graph Queries 633
Book 7: Optimizing Your Database 645
Chapter 1: Tuning the Database 647
Chapter 2: Tuning the Environment 659
Chapter 3: Finding and Eliminating Performance Bottlenecks 681
Book 8: Appendixes 709
Chapter 1: SQL:2023 Reserved Words 711
Chapter 2: Glossary 721
Index 731