The Structure of the Book
This chapter concludes with a description of the structure of this book. Because of the large number of chapters in the book, we divided it into sections.
Part I consists of several introductory topics and includes this chapter. Chapter 2, "The Tennis Club Sample Database," contains a detailed description of the database used in most of the examples and exercises. This database is modeled on the administration of a tennis club's competitions. Chapter 4, "SQL in a Nutshell," gives a general overview of SQL. After reading this chapter, you should have a general overview of the capabilities of SQL and a good idea of what awaits you in the rest of this book.
Part II is completely focused on querying and updating tables. It is largely devoted to the SELECT statement. Many examples illustrate all its features. We devote a great deal of space to this SELECT statement because, in practice, this is the statement most often used and because many other statements are based on it. The last chapter in this part describes how existing database data can be updated and deleted, and how new rows can be added to tables.
Part III describes the creation of database objects. The term database object is the generic name for all objects from which a database is built. For instance, tables; primary, alternate, and foreign keys; indexes; and views are discussed. This part also describes data security.
Part IV deals with programming in SQL. We describe embedded SQL: the development of programs written in languages such as C, COBOL, or Pascal in which SQL statements have been included. Another form in which SQL can be used is with CLIs as ODBC, to which we also devote a chapter. The following concepts are explained in this part: transaction, savepoint, rollback of transactions, isolation level, and repeatable read. And because performance is an important aspect of programming SQL, we devote a chapter to how execution times can be improved by reformulating an SQL statement.
Part V describes stored procedures and triggers. Stored procedures are pieces of code stored in the database that can be called from applications. Triggers are pieces of code as well, but they are invoked by the database server itself, for example, to perform checks or to update data automatically.
Part VI discusses a new subject. In SQL:1999, SQL has been extended with concepts originating in the object-oriented world. These so-called object relational concepts described in this book include subtables, references, sets, and self-defined data types. This part concludes with a short chapter on the future of SQL.
The book ends with a number of appendixes and an index. Appendix A, "Syntax of SQL," contains the definitions of all the SQL statements discussed in the book. Appendix B, "Scalar Functions," describes all the functions that SQL supports. Appendix C, "Bibliography," contains a list of references.