M2 - Bases de dades / Apunts UF4 : BDOR1

De wikiserver
La revisió el 15:31, 3 maig 2018 per Rsort (Discussió | contribucions) (Definición de tipos de objeto)
Dreceres ràpides: navegació, cerca

Características de las bases de datos objeto-relacionales

  • Las bases de datos objeto-relacionales son aquellas que han evolucionado desde el modelo relacional tradicional a un modelo híbrido que utiliza además la tecnología orientada a objetos.
  • Las clases, objetos, y herencia son directamente soportados en los esquemas de la base de datos y el lenguaje de consulta y manipulación de datos.
  • La base de datos de Oracle implementa el modelo orientado a objetos como una extensión del modelo relacional, siguiendo soportando la funcionalidad estándar de las bases de datos relacionales.
  • El modelo objeto-relacional ofrece las ventajas de las técnicas orientadas a objetos en cuanto a mejorar la reutilización y el uso intuitivo de los objetos, a la vez que se mantiene la alta capacidad de concurrencia y el rendimiento de las bases de datos relacionales.
  • Los tipos de objetos, así como las características orientadas a objeto, proporcionan un mecanismo para organizar los datos y acceder a ellos a alto nivel. Por debajo de la capa de objetos, los datos seguirán estando almacenados en columnas y tablas.
  • La reutilización de objetos permite desarrollar aplicaciones de bases de datos más rápidamente y de manera más eficiente. Al ofrecer la base de datos de Oracle soporte nativo para los tipos de objetos, permite a los desarrolladores de aplicaciones con lenguajes orientados a objetos, acceder directamente a las mismas estructuras de datos creadas en la base de datos.
  • Las tablas de bases de datos relacionales sólo contienen datos. En cambio, los objetos pueden incluir la posibilidad de realizar determinadas acciones sobre los datos.

Tipos de datos objeto

  • Un tipo de dato objeto es un tipo de dato compuesto definido por el usuario. Representa una estructura de datos así como funciones y procedimientos para manipular datos.
  • Las variables que formen la estructura de datos de un tipo de dato objeto reciben el nombre de atributos (que se corresponde con sus propiedades). Las funciones y procedimientos del tipo de dato objeto se denominan métodos(que se corresponde con sus acciones).
  • Aunque los atributos son públicos, es decir, visibles desde otros programas cliente, los programas deberían manipular los datos únicamente a través de los métodos (funciones y procedimientos) que se hayan declarado en el tipo objeto, en vez de asignar u obtener sus valores directamente. Esto es debido a que los métodos pueden hacer un chequeo de los datos de manera que se mantenga un estado apropiado en los mismos.
  • Durante la ejecución, la aplicación creará instancias de un tipo objeto, es decir, referencias a objetos reales con valores asignados en sus atributos.

Definición de tipos de objeto

  • La estructura de la definición o declaración de un tipo de objeto está dividida en una especificación y un cuerpo. La especificación define el interfaz de programación, donde se declaran los atributos así como las operaciones (métodos) para manipular los datos. En el cuerpo se implementa el código fuente de los métodos.
  • En la especificación de un tipo de objeto, todos los atributos se deben declarar antes que los métodos. Si la especificación de un tipo de objeto sólo declara atributos, no es necesario que

declarar el cuerpo.No se pueden declarar atributos en el cuerpo.

  • Todas las declaraciones realizadas en la especificación del tipo de objeto son públicas, es

decir, visibles fuera del tipo de objeto.

  • No se pueden declarar en la especificación constantes (CONSTANTS), excepciones (EXCEPTIONS), cursores (CURSORS) o tipos (TYPES).
  • Para definir un objeto en Oracle debes utilizar la sentencia CREATE TYPE que tiene el siguiente formato:
CREATE TYPE nombre_tipo AS OBJECT (
  Declaración_atributos
  Declaración_métodos);

Declaración de atributos

Definición de métodos

Parámetro SELF

Sobrecarga

Métodos Constructores

Utilización de objetos

Declaración de objetos

Inicialización de objetos

Acceso a los atributos de objetos

Llamada a los métodos de los objetos

Herencia