I spend the bulk of my time working with Oracle database
software and, more to the point, with people who use this software. Over the
last 18 years, I’ve worked on many projects—successful ones as well as complete
failures—and if I were to encapsulate my experiences into a few broad
statements, they would be
* An application built around the
database—dependent on the database—will succeed or fail based on how it uses
the database. Additionally, in my experience, all applications are built around
databases. I cannot think of a single useful application that does not store
data persistently somewhere.
* Applications come, applications go. The data,
however, lives forever. In the long term, the goal is not about building
applications; it really is about using the data underneath these applications.
* A development team needs at its heart
a core of database-savvy developers who are responsible for ensuring the
database logic is sound and the system is built to perform from day one. Tuning
after the fact (tuning after deployment) typically means you did not give
serious thought to these concerns during development.
These may seem like surprisingly obvious statements, but I
have found that too many people approach the database as if it were a black
box—something that they don’t need to know about. Maybe they have a SQL
generator that they figure will save them from the hardship of having to learn
the SQL language. Maybe they figure they will just use the database like a flat
file and do keyed reads. Whatever they figure, I can tell you that thinking
along these lines is most certainly misguided: you simply cannot get away with
not understanding the database and how best to work with it.
That is where this book comes in – it provides a balanced
view of how a Java programmer can approach the Oracle database and use it
successfully. Where and when database
features such as stored procedures make sense – and how they fit in. The author explains how things work – which
leads to an understanding of when to use a particular feature; and as
importantly when not to use a particular feature.
That is what I like best about this book – it explains how
things work. It does not just prescribe
methods of doing something, it explains in detail the inner workings. With this knowledge you yourself will be
able to make the judgment call as to whether a particular feature of Oracle is
something you should or should not be using in your application. Additionally - the exposure to these features, many of which you might not
otherwise be exposed to – is important as well. If you don’t know something exists – you will never use it.
If you are a Java programmer looking to exploit Oracle, or
a database developer looking to exploit Java – this is the book for you.
Thomas Kyte
Vice President, Oracle Corporation