Bases de Datos Orientadas a Objetos
Clasificado en Informática
Escrito el en español con un tamaño de 2,8 KB
Las bases de datos relacionales se basan en relaciones entre datos, mientras que las bases de datos orientadas a objetos tratan de almacenar datos de objetos completos.
Objetos Definidos por el Usuario
Estos objetos pueden ser:
- Un objeto (OBJECT TYPE)
- Una colección (COLLECTION TYPE)
Pueden ser usados como una columna más de una tabla relacional, o como variables.
Estructura de un Tipo de Dato Objeto
- Nombre: Permite identificar el objeto.
- Atributos: Definen su estructura. Pueden ser de tipo básico (NUMBER, VARCHAR, etc) o definido por el usuario (SIMPLE o COLECCIÓN).
- Métodos: Pueden ser escritos en PL/SQL y almacenados en la base de datos. Si se escriben en otros lenguajes, como C, se almacenan de forma externa.
- Constructor: Está implícitamente definido en un tipo de datos objeto, pero se puede redefinir.
Se pueden referenciar (REFERENCES) atributos de objetos, pero también es posible referenciar columnas de tablas.
Tipos de Colecciones
- VARRAYs: Colección ordenada de elementos de tamaño fijo.
- NESTED TABLES: Colección no ordenada de elementos, de tamaño variable.
Cuándo usar VARRAYs
Usaremos VARRAY cuando necesitemos:
- Almacenar una cantidad fija de elementos.
- Acceder a los elementos en orden.
- Recuperar y manipular la colección entera como un valor.
Cuándo usar NESTED TABLES
Usaremos NESTED TABLE cuando necesitemos:
- Realizar QUERIES eficientes sobre la colección.
- Manejar un número arbitrario de elementos.
- Llevar a cabo operaciones INSERT, UPDATE, DELETE sobre la colección.
VARRAYs
Un VARRAY es una colección ordenada de elementos. Todos los elementos de un VARRAY son del mismo tipo de datos (o subtipos) que el tipo de datos declarado en su definición. Cada elemento tiene un índice, que es el número correspondiente a la posición del elemento en el array. El índice se usa para acceder a un elemento en concreto.
NESTED TABLES
Una tabla anidada es un conjunto de elementos del mismo tipo sin ningún orden predefinido. Estas tablas solamente pueden tener una columna que puede ser de un tipo de datos básico de Oracle, o de un tipo de objeto definido por el usuario. En este último caso, la tabla anidada también puede ser considerada como una tabla con tantas columnas como atributos tenga el tipo de objeto.
Métodos de Colección
Un método colección es una función o procedimiento ya construido que opera sobre colecciones y que se llama mediante la sintaxis: collection_name.method_name