-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
1/60
Unidad 1 Modelos emergentes de
bases de datos
Tpicos avanzados de base de datos
1
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
2/60
Objetivo
El estudiante investigar y conocer las tecnologasemergentes de bases de datos.
Identificar la aplicacin de las distintas tecnologas
emergentes de base de datos.
2
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
3/60
Contenido
1.1 Bases de datos orientadas a objetos. 1.1.1 Definicin y conceptos de las BDOO.
1.1.2 El modelo de datos orientado a objetos.
1.1.3 El estndar ODMG.
1.1.4 Encapsulamiento, herencia y polimorfismo enBDOO.
1.1.5 Persistencia, concurrencia y recuperacin enBDOO.
3
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
4/60
1.1 Base de datos orientadas a
objetos
Tpicos selectos de base de datos
4
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
5/60
1.1.1 Introduccin
A medida que los sistemas de bases de datos se fueronaplicando a un rango mas amplio de aplicaciones, como eldiseo asistido por computadora (CAD) y los sistemas deinformacin geogrfica, las limitaciones impuestas por el
modelo relacional se convirtieron en un obstculo.
5
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
6/60
Debilidades de modelos anteriores
Pobre representacin de las entidades del mundo real.
Sobrecarga y poca riqueza semnticas.
Estructura de datos homognea
Operaciones limitadas Dificultades para gestionar las consultas recursivas
Problemas asociados a la concurrencia, cambios en los
esquemas y el inadecuado acceso navegacional. No ofrecen soporte para tipos definidos por el usuario
6
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
7/60
Necesidades de las aplicaciones
actuales
Soporte para objetos complejos y datos multimedia Identificadores nicos Soporte a referencias e interrelaciones Manipulacin navegacional y de conjunto de registros
Jerarquas de objetos o tipos y herencia Integracin de los datos con sus procedimientos
asociados Modelos extensibles mediante tipos de datos definidos
por el usuario Facilidades de evolucin Interconexin e interoperabilidad
7
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
8/60
Ejemplo
Considrense, un conjunto de direcciones. Mientras una direccin completa puede ser vista como un
elemento de datos atmico de tipo cadena de caracteres,esta forma de verlo escondera detalles como la:
Calle, nmero, ciudad y cdigo postal que podran serinteresantes para las consultas.
idCliente Nombre Direccion
C123 Mario Cortez Dom. Particular: Jurez #35Oficina: Hidalgo #56
C124 Celia Vazques Dom. Particular: Madero #156Oficina: Morelos # 89
8
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
9/60
Ejemplo cont
La solucin fue la introduccin de bases de datos basadasen objetos, que permiten trabajar con tipos de datoscomplejos.
create type Persona as (
identificacion varchar(20),
apellido varchar(30),
nombre varchar(20)
) not final
9
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
10/60
1.1.2.1 Base de datos orientadas a
objetos (BDOO)
Las BDOO son aquellas cuyo modelo de datos estorientado a objetos, almacenan y recuperan objetos enlos que se almacena estado y comportamiento.
10
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
11/60
1.1.2.1 Base de datos orientadas a
objetos (BDOO)
Las BDOO se han diseado para que se puedan integrardirectamente con aplicaciones desarrolladas con lenguajesorientados a objetos, habiendo adoptado muchos de losconceptos de estos lenguajes.
Objetos
11
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
12/60
1.1.2.2 Origen de las BDOO
Las bases de datos orientadas a objetos surgenpara
Evitar los problemas de representacin de cierta
informacin.
Aprovechar las ventajas del paradigma orientado aobjetos en el campo de las bases de datos.
Evitar transformaciones entre modelos de datos(usar el mismo modelo de objetos).
12
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
13/60
Utilidad de las BDOO
El uso de BDOO es ms ventajoso si se presentaen alguno de los siguientes escenarios:
Un gran nmero de tipos de datos diferentes
Un gran nmero de relaciones entre los objetos
Objetos con comportamientos complejos
13
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
14/60
Caractersticas de las BDOO Los caractersticas asociadas a las BDOO son:
En una BDOO los datos se almacenan como objetos. La potencia que proporcionan al diseador al permitirle
especificar tanto la estructura de objetos complejos, comolas operaciones que se pueden aplicar sobre dichos objetos.
La forma de identificar objetos es mediante un identificadorde objetos (OID)
Encapsulamiento Tipos y clases
Herencia Polimorfismo, sobrecarga y ligadura tarda Objetos complejos
14
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
15/60
Sistema Gestor de Base de Datos
Orientado a Objetos (SGBDOO) Un SGBDOO es un sistema de objetos y un sistema de
bases de datos. Se puede entonces decir que unSGBDOO es un SGBD que almacena objetos,permitiendo concurrencia, persistencia ,recuperacin eintegridad, ...
Los SGBDOO se clasifican en:
SGBDOO puros: son SGBD basados completamente en elmodelo orientado a objetos.
SGBD hbridos u objetorelacionales: son SGBD relacionalesque permiten almacenar objetos en sus relaciones (tablas).
15
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
16/60
Ventajas de los SGBDOO
Las ventajas de un SGBDOO son:
Mayor capacidad de modelado. El modelado de datosorientado a objetos permite modelar la realidad de una manera
mucho ms fiel.
Ampliacin de tipos: Se pueden construir nuevos tipos dedatos a partir de los ya existentes.
Lenguaje de consulta ms expresivo. El acceso navegacionaldesde un objeto al siguiente es la forma ms comn de acceso a
datos en un SGBDOO.
16
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
17/60
Ventajas de los SGBDOO (cont..) Adecuacin a las aplicaciones avanzadas de base de
datos: Hay muchas reas en las que los SGBD tradicionalesno han tenido excesivo xito como:
Diseo y fabricacin en ingeniera(CASE, CAD/ CAM)
Bases de datos grficas y de imgenes. Bases de datos cientficas. Sistemas de informacin geogrfica. Bases de datos multimedia.
Mayores prestaciones. Los SGBDOO proporcionanmejoras significativas de rendimiento con respecto a losSGBD relacionales.
17
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
18/60
Desventajas de los SGBDOO
Los inconvenientes de un SGBDOO son: Carencia de experiencia: Todava no se dispone del nivel de
experiencia del que se dispone para los sistemas tradicionales (BDRelacionales).
Carencia de estndares. Existe una carencia de estndares
general para los SGBDOO. Competencia.Con respecto a los SGBDR y los SGBDOO. Estos
productos tienen una experiencia de uso considerable. SQL es unestndar aprobado y ODBC es un estndar de facto.
La optimizacin de consultas compromete la encapsulacin:
La optimizacin de consultas requiere una compresin de laimplementacin de los objetos, para poder acceder a la base dedatos de manera eficiente. Sin embargo, esto compromete elconcepto de encapsulacin
18
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
19/60
SGBDR vs SGBDOO
19
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
20/60
1.1.2 El modelo de datos orientado a
objetos
El modelos de datos orientado a objetos es unaadaptacin para los sistemas de bases de datos delparadigma de la programacin orientada a objetos.
El paradigma orientado a objetos est basado en el
encapsulamiento de los datosy del cdigo relacionadoscon cada objeto en una sola unidad cuyo contenido no esvisible desde el exterior
20
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
21/60
Modelo de datos orientado a
objetos (OODM)
Cuando menos un OODM debe: Soportar la representacin de objetos complejos. Ser extensible, es decir, debe ser capaz de definir tipos de
datos nuevos, as como las operaciones a ser realizadas conellos.
Soportar encapsulado, es decir, la representacin de datos yla ejecucin del mtodo debe ser ocultado a las entidadesexternas.
Exhibir herencia, es decir, un objeto debe ser capaz de
heredar la propiedades (datos y mtodos) de otros objetos. Soportar la nocin de identidad de objeto
21
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
22/60
Modelo de datos orientado a
objetos (OODM)
El OODM modela entidades reales como objetos.
Cada objeto se compone de atributos y un conjunto demtodos.
Cada atributo puede hacer referencia a otro objeto oconjunto de objetos.
Los atributos y la ejecucin del mtodo se ocultan,encapsulan, de otros objetos.
22
Comparacin de los componentes
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
23/60
Comparacin de los componentes
de los modelos OO y ER
MODELO DE DATOS OO MODELO E-RTipo Definicin de entidadObjeto EntidadClase Conjunto de entidadesVariable de instancia AtributoN/A Clave principalOID
N/A
Mtodo N/A
Jerarqua de clase Diagrama E-R23
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
24/60
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
25/60
Objetos
Un objeto es una representacin conceptual de unaentidad real que incorpora una representacin de losdatos (atributos) y un comportamiento (mtodos)
Los objetos pueden ser simples o complejos
Los objetos pueden ser reales o imaginarios
25
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
26/60
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
27/60
Identidad del objeto Oid (Object Identifier)
Cada objeto posee un oid. El oid establece la identidaddel objeto y tiene las siguientes caractersticas:
Constituye un identificador nico y global para cada objeto
dentro del sistema La OID es asignada por el sistema al momento de la
creacin del objeto, y no puede ser cambiada.
Es independiente de la localizacin fsica del objeto, es
decir, provee completa independencia de localizacin La OID puede ser eliminada solo si el objeto es
eliminado
27
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
28/60
Atributos
Valores o caractersticas de los objetos Permiten definir el estado del objeto u otras cualidades
28
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
29/60
Estado de un objeto
El estado de un objeto es el conjunto de valoresque los atributos del objeto tienen en un momentodado.
Aunque el estado del objeto puede cambiar, su OIDpermanece igual.
Si desea cambiarse el estado de un objeto deben
cambiarse los valores de sus atributos, paracambiarlos deben enviarse mensajes al objeto. stemensaje invocar un mtodo
29
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
30/60
Mtodos (u operaciones)
Un objeto puede realizar una serie de acciones
30
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
31/60
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
32/60
Clases
Una clase es la plantilla que usamos para crear los
objetos, es decir se pueden definir muchos objetos apartir de una clase.
Una clase contiene la descripcin de la estructura de
los datos y los detalles de ejecucin del mtodopara los objetos en esa clase.
32
123
245
12
245
Objeto
Objeto
Clase
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
33/60
Protocolo
El conjunto de mensajes de clase, cada uno identificadopor un nombre de mensaje.
El protocolo representa el aspecto publico de un objeto,es decir, es conocido por otros objetos lo mismo que porotros usuarios.
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
34/60
Resumen de conceptos de OO
Aspecto privado
Aspecto publico
La clase define
Variables de
instanciaMtodos
Protocolo
Conjunto de
Mensajes
Que activa un
Son los
nombres de
Ejecutado por
un conjunto de
Pertenece
a una
Define un
conjunto de
valores de su
tiene
Objeto
Estado Compor-tamiento
OID
(nica)
34
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
35/60
Modelo de datos relacional
orientados a objetos
El modelo de datos relacional orientado a objetosextiende al modelo de datos relacional ofreciendo unsistema de tipos mas rico que incluye tipos de datos mascomplejos y orientacin a objetos.
35
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
36/60
Relaciones anidadas
36
El modelo relacional anidado es una extensin delmodelo relacional en la que los dominios pueden seratmicos o de relacin.
Por tanto, el valor de las tuplas de los atributos puede seruna relacin, y las relaciones pueden guardarse en otrasrelaciones.
De este modo, se genera la posibilidad de guardar objetos
ms complejos en una sola tabla con referencias a otrasrelaciones, con lo que se acerca ms al paradigma deprogramacin orientada a objetos.
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
37/60
Ejemplo de una relacin anidada
37
El ejemplo es extrado de una biblioteca.
Considrese que para cada libro se almacena lainformacin siguiente: Ttulo del libro
Lista de autores Editorial
Lista de palabras clave
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
38/60
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
39/60
Especificaciones del tipo de objeto
39
Las especificacin de un objeto se define con lainstruccin CREATE TYPE, cuya sintaxis es la siguiente:CREATE [OR REPLACE] TYPEnombre_objeto AS OBJECT (
Variables_instancia tipo_dato ,
[CONSTRUCTOR FUNCTION nombre_constructor[( parametros )] RETURN RESULT AS SELF]
, [{MEMBER | STATIC} FUNCTIONnombre_funcion
[( parametros )] RETURN { tipo_dato }]
, [{MEMBER | STATIC} PROCEDUREnombre_procedimiento [( parametros)]],
)[NOT] INSTANTIABLE [NOT] FINAL;
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
40/60
Cuerpo del tipo del objeto
40
El cuerpo del tipo se crea con la orden CREATE TYPE BODY, cuya sintaxis es la siguiente:
CREATE [OR REPLACE]TYPE BODY nombre_objeto {IS|AS}[ CONSTRUCTOR FUNCTION nombre_constructor[( parametros )] RETURN RESULT AS SELF ISBEGINsentencias;
END [nombre_constructor]];{MEMBER | STATIC} FUNCTIONnombre_funcion[(parametros )] RETURN { tipoDato } ISBEGINsentencias;
END [nombre_funcion];{MEMBER | STATIC} PROCEDUREnombre_proc[(parametros)]IS
BEGINsentencias;
END [nombre_proc];END;
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
41/60
Modificacin de objetos
41
Es posible modificar un tipo de objeto existenteutilizando la orden ALTER TYPE.
Esta orden se puede utilizar para compilar el cuerpo oespecificacin del tipo o para aadir mtodos a un tipo.
La sintaxis para compilacin es la siguiente: ALTER TYPE nombre_objeto COMPILE [ESPECIFICATION| BODY];
Si no aparecen ESPECIFICATION o BODY, se volver a compilar
tanto la especificacin como el cuerpo del objeto Ejemplo:
ALTER TYPE cliente_t COMPILE BODY;
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
42/60
Modificacin de objetos (cont..)
42
La sintaxis resumida para aadir mtodos es la siguiente: ALTER TYPE nombre_objeto REPLACE AS OBJECT (
especificacion_tipo_objeto);
El tipo que hay que modificar es nombre_objetoy
especificacion_tipo_objeto es una definicin completa del estilode la establecida en CREATE TYPE.
La nueva definicin debe ser igual a la original excepto por laadicin de los nuevos mtodos y deben incluirse los tipos yatributos originales.
Si existe un cuerpo del tipo, quedar invalidado, puesto que nodefine los nuevos mtodos.
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
43/60
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
44/60
Eliminacin de tipos
44
Si se quiere borrar nicamente el cuerpo de un tipo deobjeto dejando intactas la especificacin y cualquierobjeto dependiente se debe utilizar la orden DROP TYPEBODY cuya sintaxis es la siguiente:
DROP TYPE BODY nombre_objeto;
Ejemplo:
DROP TYPE BODY cliente_t;
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
45/60
Mas conceptos de OO
45
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
46/60
Persistencia
Es persistente aquel objeto que esta almacenado en la base dedatos, mientras que son transitorios los objetos locales a unbloque de instrucciones que se destruyen cuando caen fuerade su mbito o termina la ejecucin del bloque de
instrucciones.
Los objetos persistentes estn disponibles hasta que se borranexplcitamente y se almacenan en tablas de la base de datos.
46
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
47/60
Persistencia
47
Se pueden almacenar los objetos en una tabla de dosformas:
Objetos de fila: ocupan una fila completa de una tabla de labase de datos, de modo que la fila contiene slo un objeto yno tiene ninguna otra columna.
Objetos de columna: son una nica columna de la tabla. Paracrear una tabla con un objeto de columna, sencillamente se usael tipo de objeto para el tipo de una columna en la orden decreacin de la tabla.
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
48/60
Tablas de objetos
48
Para definir una tabla de objetos se hace con lainstruccin CREATE TABLE y la sintaxis es la siguiente: CREATE TABLE nombre_tabla OF nombre_objeto;
Para definir una tabla en la cual se va a almacenar objetos
de columna se utiliza la instruccin CREATE TABLE consu sintaxis estndar: CREATE TABLE nombre_tabla(
columna tipodato,
objetoColumna nombreObjeto,);
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
49/60
Ejemplos de Tablas de objetos
49
CREATE TABLE clientes_tab OF cliente_t; CREATE TYPE ordenes_t AS OBJECT (
ordnum NUMBER,cliente REF clientes_t,
fechpedido DATE,direcentrega direccion_t); CREATE TABLE ordenes_tab (
orden ordenes_t,
total float,SCOPE FOR (cliente) IS clientes_tab););
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
50/60
Manipulacin de objetos
50
Todas las operaciones DML en tablas que contienenobjetos de fila o de columna funcionan de la misma formaque las operaciones relacionales.
Para insertar objetos en una tabla se utiliza la instruccin:
Insert: Se puede usar el constructor de objetos o unavariable de objeto que contenga el objeto que se va ainsertar. Sintaxis:
Insert into nombre_tabla[(lista_col)] values(lista_valores) Ejemplo:
insert into cliente values(cliente_t(1,'Juan Preez',direccion_t('5 demayo','Zamora',2,'59780'),'123-123-1234',sysdate));
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
51/60
Manipulacin de objetos (cont..)
51
Para modificar los atributos de un objeto en una tabla deobjetos se utiliza la instruccin Update :
Update: Los objetos pueden usar variables de instanciaen las clusulas WHERE y SET
Sintaxis: UPDATEnombre_tabla alias_tabla SET
objeto.var_instancia=expresion [WHERE condicion]
Ejemplo:
UPDATE cliente c SET c.clinomb='Juan Perez'WHERE c.clinum=1
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
52/60
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
53/60
Manipulacin de objetos (cont..)
53
Para consultar objetos de una tabla se utiliza lainstruccin SELECT dependiendo de la forma en como seguardaron los objetos en la tabla:
Objetos de columna en SELECT: Si el objeto esalmacenado como objeto de columna se recupera utilizando lasintaxis estndar de la instruccin SELECT siempre y cuandose cualifique el objeto por completo.
Objetos de fila en SELECT: Para recuperar el objeto o unareferencia al objeto hay que usar los operadores VALUE o REF
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
54/60
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
55/60
Referencia entre objetos
55
La sintaxis para declarar una referencia de objeto en unaseccin declarativa o una definicin de tabla es lasiguiente:
nombre_variableREF tipo_objeto;
El nombre de la referencia es nombre_variable y el tipo deobjeto es tipo_objeto
Las referencias de objeto se usan slo en bloques PL/SQLy en rdenes SQL con los operadores VALUE y REF
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
56/60
Operador REF
56
El operador REF se utiliza para obtener una referencia a un
objeto. Toma como argumento una variable de correlacin(una fila o alias de tabla asociado a una fila en una tabla deobjetos).
Sintaxis:
REF(var_correlacion) Ejemplo:
declarerefcliente ref Cliente_t;
begin
SELECT REF(c)into refCliente FROM cliente c WHEREc.clinum=1;
end;
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
57/60
Operador VALUE
57
Como es de esperar, el operador VALUE devuelve el valorde un objeto.
VALUE requiere como argumento una variable de
correlacin.
Sintaxis: VALUE(var_correlacion)
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
58/60
Operador DEREF
58
No es posible navegar a travs de referencias enprocedimientos SQL. Para esto es necesario utilizar eloperador DEREF.
DEREF toma como argumento una referencia a un objetoy devuelve el valor de dicho objeto.
Sintaxis: DEREF(variable_referencia);
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
59/60
Soporte de herencia en Oracle
59
Oracle solo soporta la herencia simple y para llevarla acabo lo hace a travs de las siguientes instruciones: UNDER: Crea un subtipo de un tipo existente.
FINAL: Indica que no se pueden crear subtipos del tipo.
INSTANTIABLE: Indica que pueden ser construidas instanciasdel tipo
Ejemplo: Create type persona as object
() not final instantiable; Create type empleado under persona
()final instantiable;
-
7/29/2019 Unidad 1 Modelos emergentes de bases de datos_feb_jul_2013.pdf
60/60
Soporte de polimorfismo en Oracle Oracle soporta el polimorfismo con la sobrecarga de
mtodos y la sobreescritura de mtodos (OVERRIDING). Ejemplo:
CREATE TYPE ellipse_typ AS OBJECT (...,MEMBER PROCEDURE calculate(x NUMBER, x NUMBER),
MEMBER PROCEDURE calculate(),) NOT FINAL;
CREATE TYPE circle_typ UNDER ellipse_typ (,
MEMBER PROCEDURE calculate(x NUMBER),OVERRIDING MEMBER PROCEDURE calculate(),
);