|
 |
|
Coupling and Abstraction
Oracle Tips by Burleson Consulting |
High Performance Data Warehousing
Database Architectures For The 1990s
COUPLING OF DATA AND BEHAVIOR
The Oracle8 engine allows for the direct coupling of a database
entity (a table or object) with a set of predefined behaviors. In
this fashion, calls to Oracle will be made by specifying an object
name and the method associated with the object. For example:
CUSTOMER.add_new("Jones", 123, "other parms");
This call tells Oracle to invoke the add_new procedure attached to
the customer object using the supplied parms. As you might expect,
this new way of invoking database calls has important ramifications
for the developers and DBA staff.
For developers, applications will become SQL-less and will consist
of calls to stored procedures. Of course, this has the important
benefit of making applications portable across platforms, while also
making it very easy to find and reuse code. In addition, because
each method is encapsulated and tested independently, the pretested
methods can be assembled with other methods without worry of
unintended side effects.
For DBAs, the coupling of data with behaviors will dramatically
change the way DBAs perform database administration tasks. Instead
of only managing data and tables, the Oracle8 DBA will also be
responsible for managing objects and the methods associated with
each object. These new object administrator functions will need to
be defined so developers know the functions and parameters of each
method.
Abstraction
Abstraction within Oracle8 is defined as the conceptual (not
concrete) existence of classes within the database. For example, a
database may have a class hierarchy that includes classes without
objects. A military database may contain the conceptual entities of
division, battalion, squadron, and platoon. The function of the
database is to track the platoons, and the entity classes of
division, battalion, and squadron may not have any associated
objects. This is not to say that abstract classes have no purpose.
When a class is defined, it is associated with behaviors, which in
turn will be inherited by each object in the platoon class. From a
database perspective, there will be no instances of any objects
except platoon, but higher levels in the class hierarchy will
contain behaviors which the platoon objects inherit.
This is an excerpt from "High Performance
Data Warehousing", copyright 1997.
 |
If you like Oracle tuning, you may enjoy the book
Oracle Tuning: The Definitive Reference , with over
800 pages of BC's favorite tuning
tips & scripts.
You can buy it directly from the publisher and save 30%, and get
instant access to the code depot of Oracle tuning scripts. |
For Oracle
Emergency
DBA Support
call800-766-1884
(requires $1000 credit card retainer) |
|