Register your product to gain access to bonus material or receive a coupon.
SQL was, is and always will be the database language for relational database systems such as Oracle, DB2, Sybase, Informix and Microsoft SQL Server. Introduction to SQL describes in depth the full capacity of SQL as it is implemented by the commercial databases, without neglecting the most recent changes to the standard, bringing the book up to date and fully compliant with SQL3. Unique in the extent of its coverage, this book takes you from the beginning to the end of SQL, the concepts to the practice, the apprentice to the master. Learn how to:
* Query data
* Update data
* Create tables and views
* Specify primary and foreign keys
* Use indexes
* Secure your data
* Develop stored procedures and triggers
* Develop applications with embedded SQL and ODBC
* Carry out transactions
* Optimize statements
* Deal with object-relational concepts such as subtables, references, sets and user-defined data types. NEW
section devoted to stored procedures and triggers
NEW
coverage of object-oriented concepts
NEW
information on application development with pre-programmed SQL
NEW
chapter on using SQL in combination with ODBC The best way to learn a language is to work with it and the accompanying CD-ROM contains an SQL product called SOLID, chosen because it employs every aspect of SQL covered in the text. Experiment using the exercises in the book.
1. Introduction to SQL1
2. The Tennis Club Sample Database
3. Working with SOLID
4. SQL in a Nutshell
5. SELECT Statement: Common Elements
6. Clauses of the SELECT Statement
7. The SELECT Statement: the FROM Clause
8. SELECT Statement: the WHERE Clause
9. SELECT Statement: the SELECT Clause and Functions
10. SELECT Statement: GROUP BY and HAVING
11. SELECT Statement: the ORDER BY Clause
12. Combining SELECT Statements
13. The Subquery
14. The FROM Clause Extended
15. Updating Tables
16. Creating Tables
17. Specifying Constraints
18. Designing Tables
19. Using Indexes
20. Views
21. Users and Data Security
22. Catalog Tables
23. Introduction to Embedded SQL
24. Transactions and Multi-User Usage
25. Introduction to ODBC
26. Optimization of Statements
27. Stored Procedures
28. Triggers
29. User-defined Data Types, Functions and Operators
30. Inheritance, References and Collections
31. The Future of SQL
Preface
SQL was, is and always will be the database language for relational database systems such as Oracle, DB2, Sybase, Informix and Microsoft SQL Server. This book contains a complete description of the database language SQL (Structured Query Language). It should be seen primarily as a textbook in the active sense. After reading this book you should be able to use SQL efficiently and effectively.
SQL supports a small, but very powerful, set of statements for manipulating, managing, and protecting data stored in a database. This power has resulted in its tremendous popularity. In the early eighties there were only ten to twenty SQL products, but today there are at least twice as many. Almost every database product supports SQL or a dialect of the language. Currently, SQL products are available for every kind of computer, from microcomputer to mainframe, and for every operating system, including DOS, Microsoft Windows and UNIX. Since 1987 there has been an official international standard for SQL. This has developed into what Michael Stonebraker, an authority in the field of databases, once expressed as intergalactic dataspeak.
Topics
In this book every aspect of SQL will be discussed thoroughly and critically. The aspects of SQL that are covered include:
querying data (joins, functions and subqueries)
updating data
creating tables and views
specifying primary and foreign keys and other constraints
using indexes
data security
developing stored procedures and triggers
application development with embedded SQL and ODBC
transactions
optimization of statements
dealing with object relational concepts, such as subtables, references, sets and user-defined data types in the catalog.
For whom is this book intended?
We recommended this book to those who want to use the full power of SQL effectively and efficiently in practice. This book is therefore suitable for the following groups of people:
students in higher education, including those in technical colleges, polytechnics, universities and sixth-form colleges;
programmers who develop or intend to develop applications with the help of an SQL product;
designers, analysts and consultants who need to deal, directly or indirectly, with SQL or another relational database language and want to know its features and limitations;
owners of microcomputers who want to learn SQL with the help of SOLID;
home students who are interested in SQL in particular or in relational databases in general;
users who have the authority to use SQL to query the database of the company or establishment where they work.
A practical book
This book should be seen primarily as a textbook in the active sense, and less as a reference work. To this end, it contains many examples and exercises (with answers). Do not ignore the exercises. Experience shows that you will learn the language more completely and more quickly by practising often and doing many exercises.
Practising with SOLID
This book includes an SQL product called SOLID. This is a complete SQL pro-duct, which is available for almost every microcomputer on which Windows 95, 98 or NT has been installed. We advise you to install this product and do as many exercises as possible with the help of SOLID.
Prerequisite knowledge
Some general knowledge of programming languages and database management systems is required.
The third edition
This book is a completely revised third edition of Introduction to SQL, which was first published in 1988. The second edition (van der Lans, 1992) was also a complete revised edition. However, in recent years SQL has evolved considerably. The number of products supporting SQL is still growing, the third version of the international SQL standard will probably appear within the foreseeable future and the functionality of some SQL products has increased considerably. These seemed good enough reasons to revise Introduction to SQL completely.
For teachers who use Introduction to SQL in their classes, the major differences are summarized below:
the sequence of the chapters has been changed somewhat; on one hand, this was done so that the new subjects could be added in logical places and, on the other hand, so that the book could be split into separate sections;
a new section is devoted to stored procedures and triggers; these concepts have been implemented by many vendors and this has made it necessary to consider them in this book;
another new section is devoted to concepts coming from the object-oriented world; there are not at present many products that support object orientation, but it is to be expected that many products will do so in the not too distant future;
the chapter that describes how SOLID must be installed and used is, of course, completely new; in the previous edition we used a different product called Quadbase;
the chapter on application development with pre-programmed SQL has been extended considerably; we devote a whole section to this subject and have included an additional chapter on using SQL in combination with ODBC;
in each chapter the same database is used for most of the examples and exercises; we have made some changes to this because of the new topics; the naming of some tables and columns has also been changed to make it possible to implement the database with SOLID;
the chapter on developing reports has been removed; this is because SOLID itself does not offer reporting facilities; furthermore, report generation is not part of SQL.
And finally ...
I would like to use this preface to thank a number of people and companies for their contributions to this book.
I am grateful to Solid Information Technology for providing the software for inclusion with the book. I think that this product is invaluable for anyone who wants to learn SQL. The best way to learn a language is still to work with it!
It does not matter how many times a writer reads through his own work; editors remain indispensable. A writer does not read what he has written, but what he thinks he has written. In this respect writing is like programming. That is why I owe a great deal to the following people for reviewing the manuscript or parts of it, for making critical comments and giving very helpful advice: Nok van Veen, Aad Speksnijder, Ed Jedeloo, Corine Cools, Andrea Gray, Josien van der Laan, Richard van Dijk, Onno de Maar, Sandor Nieuwenhuijs, Wim Frederiks, Ian Cargill and Marc van Cappellen.
I would also like to thank the hundreds of students who have studied SQL with me over the past few years. Their comments and recommendations have been invaluable in revising this book. In addition, a large number of readers of the previous edition responded to my request to send comments and suggestions. I want to thank them for the trouble they took to put these in writing.
For the first and second editions Diane Cools did much of the typing and corrected many errors. I am still grateful for that, because working with WordStar version 1 on a PC/XT without a hard disk looked like a luxury then. I would like to thank her again for her work on this new edition, but in another way. For a writer it is reassuring to know that there is someone who, especially in difficult times, keeps stimulating and motivating you. Thanks, Diane!
Finally, I would again like to ask readers to send comments, opinions, ideas and suggestions concerning the contents of the book to the publisher: Addison-Wesley at Pearson Education, 128 Long Acre, London, WC2E 9AN, England, marked for the attention of Rick F. van der Lans, 'Introduction to SQL'. Many thanks, in anticipation, of your cooperation.
Rick F. van der Lans
The Hague, March 1999