| Lesson 3 || Object-oriented terms |
| Objective || Understand the different terms for Oracle objects. |
Object Oriented Terms within Oracle
The commonly used object-oriented terms within Oracle conObject Terms include object type, object, attribute, method, and object table.
The following SlideShow illustrates each term in detail:
- If you are familiar with object terminology, an object type is similar to a class.
- The variables that constitute the data structure are called attributes.
- This example defines the physical address of a customer as an object type.
- An object is an instance of an object type.
- The following example defines a customer object.
- An attribute is an integral part of an Oracle object, similar to a column within a table.
- A method is a procedure or function, usually implemented within PL/SQL
- An object table is a table defined on an object or a set of objects.
Object Oriented Databases
PL/SQL Object Characterization
Generally, you can think of the relationship between objects and object tables in the following way:
- Classes (object types), which represent entities, map to object tables.
- Attributes map to columns.
- Objects map to rows.
Viewed in this way, each object table is an implicit type whose objects (specific rows) have the same attributes (column values). Creating explicit user-defined data types and object tables introduces a new level of functionality.
The following example defines CUSTOMER_OBJ_TABLE
based on the CUSTOMER_TYPE
CREATE TABLE CUSTOMER_OBJ_TABLE
PRIMARY KEY (CUST_ID)
Many Rooms in the Oracle House
Most of the common Oracle objects (1. stored programs, 2. tables, 3. indexes) are owned by individual Oracle accounts.
When user scott creates a stored procedure, it goes into his own "room" inside Oracle and his place is known as a schema. You cannot see into his schema unless he (or the administrator) lets you in through the door.
The "walls" separating them are a set of rules that the database enforces.
By default, a stored procedure can read or write from any table in the same schema, but not from tables in another schema.
However, if goodguy so wishes, he can let you view or even modify the contents of his tables.
He can also give you permission to execute his PL/SQL programs. If he does not give you these rights, you probably will not even know that his tables and programs exist. You have no way of "seeing" into his account even to determine whether he owns anything interesting unless you have received administrator-level privileges. And of course, the reverse is also true; he cannot see your data unless he has been specifically authorized.
In the next lesson, the basic techniques used to query object tables will be discussed.