Updates

Latest Tweet



What's New?

Check out for latest innovation, a computer based training video collection


Like this Page

Object-Oriented Oracle (Solutions for It Professionals) Review by P. Cherryl

Explains how to use Object-Relational features of Oracle if you really want to

This is a 300 page advanced student course book on using the SQL:1999 (aka. SQL3) object model as implemented by Oracle (including features added in Oracle9i). It starts with a brief introduction to object modeling using some example UML class diagrams, then comments briefly on some of the different approaches to storing objects in the relational databases that dominate the market today. Chapter 2 outlines the object SQL extensions in Oracle: user defined types (ie. classes) with inheritance and access control, collections, refs and clusters. Chapter 3 discusses implementing subtypes, association and aggregation, first using a traditional relational approach, then using types, refs, clusters and nested tables. Chapter 4 addresses data encapsulation, comparing stored procedures and grants in a relational environment versus member methods supported by user defined types. Chapter 5 describes patterns to use for 'generic' methods that insert and delete objects with subtypes, associations and aggregations, and Chapter 6 describes querying the resulting object hierarchies. Chapters 7 and 8 provide a pair of non-trivial example program applications, each with about 20 classes and a total of more than 50 pages of code listings. The first of these has a simple command line interface and the second uses Oracle Forms - there is no mention anywhere of SQLJ or JDBC.

This book is unique in that it focuses on an area of Oracle functionality that is relatively little understood. Object oriented development is popular amongst enterprise developers using Java or C#, but adoption has been slow amongst database developers and DBAs. It doesn't help that leading PL/SQL author Steve Feuerstein describes object oriented development as greatly over-rated. This book teaches neither object-oriented analysis and design nor PL/SQL, but it does address the specific issue of implementing and using an object design using modern SQL, and the authors deserve credit for seeking to teach the next generation of developers and DBAs. Having said that the presentation could be more polished, the formatting and layout of the listings could be improved, and section numbering would help also.