The book contains seventeen chapters presented in six parts. There are also twelve appendixes.
The three chapters in Part I introduce you to SQL — the standard language of relational databases. Chapter 1 describes the history of the language and relational database systems (RDBMS), and Chapters 2 and 3 provide a high-level overview of the major principles upon which SQL is built, as well as an in-depth discussion of SQL data types. We emphasize the differences between the SQL standard and that of the three major RDBMS implementations — Oracle 9i, IBM DB2 UDB 8.1, and Microsoft SQL Server 2000.
Part II's two chapters continue with a thorough explanation of database objects — tables, views, indices, sequences, and the like. They include SQL syntax for creating, modifying, and destroying database objects, again highlighting differences between the standard and its specific implementations.
In Part III, Chapter 6 introduces you to Data Manipulation Language (DML), which handles inserting, updating, and deleting records in database tables. It also discusses in detail advanced MERGE and TRUNCATE statements. Once again, we give special consideration to differences among the Oracle, IBM, and Microsoft RDBMS implementations. Chapter 7 explains sessions, transactions, and locking mechanisms in a multiuser environment from the point of the view of the SQL standard and compares it with the actual implementations.
Part IV introduces one of the most important SQL statements — SELECT — in Chapters 8 and 9. We proceed from simple single-table queries to advanced multitable SELECT statements, explaining the differences between vendor-specific implementations. Chapter 10 is dedicated to the SQL functions. It covers dozens of functions either mandated by the SQL standard or supplied by RDBMS vendors. We cross-reference the most common functions for all three major implementations. Chapter 11 discusses SQL operators, their implementation across the RDBMS vendors, and their uses in different contexts.
One cannot underestimate the importance of information security in our increasingly interconnected world. Chapter 12 introduces the key concepts of database security, including basic security through SQL and advanced security incorporated by the vendors into their respective products. Chapter 13 looks at the issue of accessing metadata information in the RDBMS through SQL standard–mandated INFORMATION_SCHEMA and system catalogs.
The chapters in Part VI deal with the topics that are not the domain of SQL proper, such as procedural extensions (like Oracle's PL/SQL and Microsoft's Transact SQL) for creating stored procedures, functions, and triggers. Here you'll find a comprehensive overview of both Embedded and Dynamic SQL that delves into the complex topic of RDBMS access interfaces (like ODBC, OLEDB, ADO.NET, and JDBC) with programming examples in C, Visual Basic, Java, and C#. The last chapter is dedicated to new developments taking place today in the SQL world: XML integration, OLAP business intelligence, and object-oriented features of RDBMS.
The appendixes provide "How-to" guides and reference material too voluminous and dry for the main text.
Appendix A describes the contents of the CD-ROMs.
Appendix B describes the ACME sample database structure used in virtually every example in the book.
Appendix C discusses the basics of relational database design.
Appendixes D, E, and F explain in detail how to install RDBMS software, how to access the RDBMS of your choice, and how to install the ACME sample database (the full SQL scripts are included with the book's CD-ROM).
Appendix G lists more than 500 SQL functions for Oracle, IBM DB2 UDB, and Microsoft SQL Server 2000, with a brief description of the functionality of each.
Appendix H provides the syntax reference for SQL for quick lookup of needed statements.
Appendix I is a list of all SQL reserved keywords that should not be used in your programming as identifiers.
Appendix J provides a comparison between the SQL99 standard and its actual implementation by the "big three" vendors.
Appendix K lists dozens of different RDBMS products that you could use besides those developed by Oracle, IBM, and Microsoft.
Appendix L provides a brief introduction to the theory of sets and discrete math, which will be helpful to you in understanding the general principles that govern SQL.
As noted previously, the book includes a CD-ROM. For detailed information on its content, see Appendix A.