How This Book Is Organized
The book contains seventeen chapters presentedin six parts. There are also twelve appendixes.
Part I: SQL Basic Concepts and Principles
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:
Creating and Modifying Database Objects
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.
Part III:
Data Manipulation and Transaction Control
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:
Retrieving and Transforming Data
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.
Part V: Implementing Security Using System
Catalogs
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.
Part VI: Beyond
SQL: Procedural Programming and Database Access Mechanisms
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.
Appendixes
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.
CD-ROM
As noted previously, the book includes a
CD-ROM. For detailed information on its content, see
Appendix
A.