Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porcarlos carnero Modificado hace 5 años
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
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.