La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Capítulo 7 USO DE BASES DE DATOS OBJETO- RELACIONALES.

Presentaciones similares


Presentación del tema: "Capítulo 7 USO DE BASES DE DATOS OBJETO- RELACIONALES."— Transcripción de la presentación:

1 Capítulo 7 USO DE BASES DE DATOS OBJETO- RELACIONALES

2 ÍNDICE CAPÍTULO 1 I  Introducción a las bases de datos orientadas a objetos  El modelo estándar ODMG Modelo de objetos Lenguajes de objetos

3 ÍNDICE CAPÍTULO 1 II  Extensión SQL para objetos Tipos estructurados definidos por el usuario Atributos y métodos Herencia Polimorfismo Tipos tabla

4 ÍNDICE CAPÍTULO 1 III  Sistemas gestores objeto-relacionales Tipos de objetos Tablas de objetos Colecciones Tipos de objetos y referencias Herencia de tipos Manipulación de objetos Transformación de jerarquías

5 Introducción modelo de datos orientados a objetos I Objeto= atributos + funciones o métodos El proceso de diseño de bases orientadas a objetos

6 Introducción modelos de datos orientados a objetos II  Modelo de objetos estándar ODMG Objetos Instancias de una entidad del mundo real o sistema que se modela -Tipo Interface: definen el comportamiento (métodos) abstracto de un objeto -Tipo clase: definen el estado (atributos) y comportamiento de un tipo de objeto

7 Introducción modelos de datos orientados a objetos III  Modelo de objetos estándar ODMG Herencia Es similar al concepto de jerarquía pero incluyendo métodos o comportamiento Se permite herencia simple y múltiple mediante las interfaces  Lenguajes de objetos Lenguaje ODL (Object Definition Language)=DDL Lenguaje OQL (Object Query Language)=SQL

8 Extensión SQL para objetos Un sistema orientado a objetos debe cumplir: 1.La existencia de tipos de datos abstractos 2.Herencia o habilidad para compartir estructura y comportamiento por parte de los distintos tipos 3.Identidad de objetos 4.Sobrecarga o polimorfismo de métodos

9 Estándar SQL1999 para objetos Tipos estructurados definidos por el usuario  UDT (User Defined Type) Simples: int, char, etc. Tipo array: varios elementos del mismo tipo Tipo estructurado: varios elementos de distinto tipo

10 Estándar SQL1999 para objetos Atributos y métodos  Los UDT permiten inclusión de rutinas Éstas dotan de comportamiento al objeto Normalmente los atributos solo se modifican mediante estas rutinas Hay rutinas para consultar propiedades: accesores Las que permiten modificar el estado del objeto (sus atributos) se denominan mutadores

11 Estándar SQL1999 para objetos Herencia  Capacidad de heredar atributos y comportamiento  Con SQL1999 aparece la herencia de comportamiento  No se permite herencia múltiple  Distinguimos herencia de tipos (atributos y métodos) y de tablas (sólo atributos)

12 Estándar SQL1999 para objetos Polimorfismo  Capacidad de distingue entre dos métodos con el mismo nombre  Un método se identifica por su signatura  SIGNATURA=nombre, número de parámetros, tipo y tipo devuelto

13 Estándar SQL1999 para objetos Tipos Tabla  Existen tipos UDT estructurados que pueden formar parte de tablas como un campo más  También se pueden definir como tipos objeto que se instancian en objetos con identidad propia  Así, cada fila de la tabla es una instancia de un objeto de un tipo dado

14 Sistemas objeto–relacionales: ORACLE Tipos Tabla  Los SGBDOR surgen por el ‘fracaso’ de los sistemas de objetos puros  Oracle y PostgreSQL entre otros son ejemplos de este tipo de sistemas

15 Sistemas objeto–relacionales: ORACLE Tipos de objetos

16 Sistemas objeto–relacionales: ORACLE Creación de tipos de objetos

17 Sistemas objeto–relacionales: ORACLE Atributos en ORACLE  Cualquiera de los tipos soportados por ORACLE menos: LONG y LONG RAW NCHAR, NCLOB y NVARCHAR2 MLSLABEL y ROWID Los tipos específicos de PL/SQL: BINARY_INTEGER, BOOLEAN, PLS_INTEGER, RECORD, REF CURSOR, %TYPE y %ROWTYPE Los tipos definidos en los paquetes PL/SQL.

18 Sistemas objeto–relacionales: ORACLE Métodos en ORACLE  Cláusula PRAGMA Sintaxis: PRAGMA RESTRICT REFERENCES ({DEFAULT | método},{RNDS, WNDS, RNPS, WNPS}, [RNDS, WNDS, RNPS, WNPS]); WNDS: no se permite al método modificar las tablas de la base de datos. WNPS: no se permite al método modificar las variables del paquete PL/SQL. RNDS: no se permite al método leer las tablas de la base de datos. RNPS: no se permite al método leer las variables de paquetes PL/SQL.

19 Sistemas objeto–relacionales: ORACLE Métodos en ORACLE  Métodos MAP y ORDER Para comparación de objetos

20 Sistemas objeto–relacionales: ORACLE Tablas de objetos  Una vez definido un tipo, este tiene 3 usos: 1.Definir nuevos tipos 2.Crear tablas que almacenen objetos de esos tipos 3.Ser parte de una tabla como un atributo más

21 Sistemas objeto–relacionales: ORACLE Colecciones  Formado por un número indefinido de elementos del mismo tipo.  Hay dos clases en ORACLE Tabla anidada: elementos ordenados de tipo objeto varray: elementos iguales y simples sin orden predefinido

22 Sistemas objeto–relacionales: ORACLE Tipos de objetos y referencias  Los objetos pueden ser referenciados desde atributos de otros objetos mediante tipos REF  Son cómo punteros al ID de un objeto  Permiten crear relaciones entre objetos (tipo 1:N)

23 Sistemas objeto–relacionales: ORACLE Herencia de tipos  Los tipos pueden heredar de otro tipo, tanto atributos como comportamiento  No se soporta herencia múltiple  Tipos definidos con la cláusula FINAL no permiten herencia  La redefinición de métodos se permite mediante la cláusula OVERRIDING  Objetos y métodos instanciables permiten el uso de constructores para su instanciación  Se permite sobrecarga mediante la cláusula OVERLOADING  Sustituibilidad o posibilidad de seleccionar entre subtipos y supertipos para realizar operaciones

24 Sistemas objeto–relacionales: ORACLE Manipulación de objetos  Una vez declarados, los objetos son manipulados como datos normales usando las sentencias de manipulación: INSERT/UPDATE/DELETE/SELECT  Para la creación de instancias de tipos de objetos se usan constructores

25 Sistemas objeto–relacionales: ORACLE Ejemplo manipulación datos en jerarquías I Creamos una jerarquía formada por el supertipo participante y los subtipos arbitro y jugador que especifican sus propios atributos. Primero creamos los tipos: CREATE TYPE tipo_participante AS OBJECT(id NUMBER, nombre VARCHAR2(30), direccion VARCHAR2(30)) NOT FINAL; CREATE TYPE tipo_subtipoarbitro UNDER participante(profesion VARCHAR2(10),experiencia INT) NOT FINAL; CREATE TYPE tipo_subtipojugador UNDER participante(altura FLOAT, peso INT);

26 Sistemas objeto–relacionales: ORACLE Ejemplo manipulación datos en jerarquías II Después las tablas de cada tipo para luego insertar datos: CREATE TABLE tabla_participante OF tipo_participante; CREATE TABLE tabla_subtipoarbitro OF tipo_subtipoarbitro; CREATE TABLE tabla_subtipojugador OF tipo_subtipojugador; INSERT INTO tabla_participante VALUES(tipo_participante(1,'Javier','C/Mayor,23')); INSERT INTO tabla_subtipoarbitro VALUES(tipo_subtipoarbitro(1,'Jose','C/Paz3','comercial',4)); INSERT INTO tabla_subtipojugador VALUES(tipo_subtipojugador(3,'Manuel','C/Mar,45',1.9,98));

27 Sistemas objeto–relacionales: ORACLE Ejemplo manipulación datos en jerarquías III Para ver los datos de la tabla subtipo tabla_subtipojugador: SELECT * FROM tabla_subtipojugador t; Para ver todos las instancias de subtipos de participantes: SELECT value(t) FROM tabla_participante t; Podemos ver la altura de los jugadores almacenados en el subtipo jugador (tipo_subtipojugador): SELECT TREAT(VALUE(p) AS tipo_subtipojugador).altura FROM tabla_participante p; Para ver el contenido de la tabla tabla_subtipojugador: SELECT VALUE(p) FROM tabla_participante p WHERE VALUE(p) IS OF (tipo_subtipojugador);

28 FIN CAPÍTULO 7


Descargar ppt "Capítulo 7 USO DE BASES DE DATOS OBJETO- RELACIONALES."

Presentaciones similares


Anuncios Google