Preface

Oracle is the most widely used database system in the world. It runs on virtually all platforms ranging from the PC to the mainframes. It also comes with an array of programming tools and environments and provides access to the database from a variety of high-level programming languages.

In recent years, more and more universities in the United States are using Oracle in their database courses as the primary vehicle to illustrate database concepts and principles. This has resulted in the need for a concise book on Oracle programming to supplement the traditional text in the database courses. The main motivation for writing this book is to satisfy this need. This book can also be used by a non-academic professional who is interested in learning about SQL, PL/SQL, embedded-SQL programming and JDBC in the context of Oracle.

The topics discussed in this book are Oracle SQL, PL/SQL, embedded programming with Pro*C and JDBC. To work with Oracle, it is absolutely essential to learn about SQL and PL/SQL, the two languages at the core of the Oracle database engine. Embedded-SQL (Pro*C) and JDBC access to Oracle are two of the important environments to develop applications in. Java is an emerging language which will have a signifcant impact in computing in the coming years and Oracle is investing in this technology by providing JDBC drivers and other tools to develop applications, expecially on the Web. Embedded- SQL is part of the SQL standards and is also an important technique for database programmers to learn.

Two sample databases are introduced early in the book and most of the chapters use these two databases for illustration purposes. Several application programs are developed in their entirety in the different programming environments discussed in the text.1.

Book Use

This book is suitable as a supplemental text for an introductory database course which covers the relational model and uses Oracle as the database system for the course projects and assignments. Course projects can be developed using embedded-SQL (Pro*C) or JDBC. An entire chapter is devoted to suggestions for course projects. These course projects are typically assigned in introductory database courses where a team of students start with a problem statement, write the problem specifications, design the database, create the database in Oracle, and write application programs that access the database. Some of the chapters also have review problems for the reader to go over to consolidate their understanding of the concepts presented in these chapters.

This book is also appropriate for a non-academic individual who is interested in learning about Oracle. He or she can find materials on SQL, PL/SQL, Pro*C and JDBC, all in one text. This book can be considered a starting point in the exploration of what Oracle has to offer.

World Wide Web Support

Most of the code presented in the book can also be found at the following World Wide Web site:
Addison Wesley Longman Web Page
In addition, the author will attempt to include other related materials to be developed in the near future at this ftp site.

Acknowledgements

First of all, I would like to acknowledge the persistence shown by Maite Suarez-Rivas at Addison-Wesley in encouraging me to write this book. Maite, along with Molly Taylor, Amy Wilcutt, Brooke Albright and Tom Ziolkowski at Addison-Wesley made the task of writing the book a pleasant experience for me. The reviewers, Louis Mazzucco (SUNY Institute of Technology), Panos Chrysanthis (University of Pittsburgh) and S. David Wu (Lehigh University) deserve special mention, as they made very useful and critical observations to improve the presentation and content of the book.

I would also like to acknowledge all my students who have diligently worked on various projects using Oracle over the past several years at Wichita State University and Georgia State University. Dr. Fred Massey, my departmental chair, also deserves special mention. His encouragement and genuine concern for my professional development has made my work at Georgia State University a pleasant experience. I would also like to acknowledge Dr. Mary Edgington at Wichita State University, who has always had a special place for me and my family in her heart.

Finally, I would like to acknowledge the support my family has shown to me during the writing of this book. Thank you, Radhu, for all the hardwork and understanding and thanks, Nannu and Nammi, for not troubling me too much while I was writing this book.


1 The programs and the applications presented in this book have been included for their instructional value. They have been tested with care but are not guaranteed for any particular purpose. The publisher does not offer any warranties or representations, nor does it accept any liabilities with respect to the programs or applications.