unlimited choice. No one ever says, “You can’t do that in Oracle”; rather, they say, “How many
different ways would you like to do that in Oracle?” I hope that this book will help you make
the correct choice.
This book is aimed at those people who appreciate the choice but would also like some
guidelines and practical implementation details on Oracle features and functions. For example,
Oracle has a really neat feature called parallel execution. The Oracle documentation tells you
how to use this feature and what it does. Oracle documentation does not, however, tell you
when you should use this feature and, perhaps even more important, when you should not use
this feature. It doesn’t always tell you the implementation details of this feature, and if you’re
not aware of them, this can come back to haunt you (I’m not referring to bugs, but the way the
feature is supposed to work and what it was really designed to do).
In this book I strove to not only describe how things work, but also explain when and
why you would consider using a particular feature or implementation. I feel it is important to
understand not only the “how” behind things, but also the “when” and “why”—as well as the
“when not” and “why not”!
Who Should Read This Book
The target audience for this book is anyone who develops applications with Oracle as the
database back end. It is a book for professional Oracle developers who need to know how to
get things done in the database. The practical nature of the book means that many sections
should also be very interesting to the DBA. Most of the examples in the book use SQL*Plus to
demonstrate the key features, so you won’t find out how to develop a really cool GUI—but you
will find out how the Oracle database works, what its key features can do, and when they
should (and should not) be used.
This book is for anyone who wants to get more out of Oracle with less work. It is for any-
one who wants to see new ways to use existing features. It is for anyone who wants to see how
these features can be applied in the real world (not just examples of how to use the feature,
but why the feature is relevant in the first place). Another category of people who would find
this book of interest is technical managers in charge of the developers who work on Oracle
projects. In some respects, it is just as important that they understand why knowing the data-
base is crucial to success. This book can provide ammunition for managers who would like to
get their personnel trained in the correct technologies or ensure that personnel already know
what they need to know.
To get the most out of this book, the reader should have
• Knowledge of SQL. You don’t have to be the best SQL coder ever, but a good working
knowledge will help.
• An understanding of PL/SQL. This isn’t a prerequisite, but it will help you to “absorb”
the examples. This book will not, for example, teach you how to program a FOR loop or
declare a record type—the Oracle documentation and numerous books cover this well.
However, that’s not to say that you won’t learn a lot about PL/SQL by reading this book.
You will. You’ll become very intimate with many features of PL/SQL and you’ll see new
ways to do things, and you’ll become aware of packages/features that perhaps you
didn’t know existed.
■INTRODUCTIONxviii
5300FM.qxd 8/22/05 4:35 PM Page xviii