Modelo objeto-relacional en Oracle ÍNDICE

Modelo objeto-relacional en Oracle ÍNDICE Modelo objeto-relacional en Oracle ÍNDICE

alarcos.inf.cr.uclm.es
from alarcos.inf.cr.uclm.es More from this publisher
13.08.2013 Views

TIPOS REF • De este modo, las relaciones podrán seguir implementándose mediante claves ajenas, o bien utilizar referencias. • Para las consultas que involucren a dos tablas, en el primer caso se seguirán realizando mediante joins, mientras que en el caso de haberlas relacionado mediante referencias se realizarán utilizando la notación “punto”: SELECT nombre, e.pertenece_a.nombre_Dep FROM Empleado e WHERE DNI=9687452; que devolvería el nombre del empleado con DNI 9687452, así como el nombre del departamento al que pertenece. ÍNDICE • LOBS • TIPOS ANY • TIPOS DEFINIDOS POR EL USUARIO – TIPOS ESTRUCTURADOS – TIPOS REF – MÉTODOS – HERENCIA – TIPOS COLECCIÓN: NESTED TABLES Y VARRAYS – EVOLUCIÓN DE TIPOS 16

MÉTODOS • Es posible asociar comportamiento a los tipos de objetos, definiendo la cabecera de los métodos como parte de la definición del tipo: CREATE OR REPLACE TYPE tipoEmpleado AS OBJECT ( DNI NUMBER, nombre VARCHAR2(30), fecha_nac DATE, pertenece_a REF tipoDepartamento, MEMBER FUNCTION edad RETURN NUMBER) / CREATE TABLE Empleado OF tipoEmpleado; MÉTODOS • Los métodos de un tipo se declaran como funciones miembro y no como métodos. El cuerpo del método se define por separado. CREATE TYPE BODY tipoEmpleado AS MEMBER FUNCION edad RETURN NUMBER IS BEGIN ... RETURN edad; END; END; / 17

MÉTODOS<br />

• Es posible asociar comportami<strong>en</strong>to a los tipos<br />

de <strong>objeto</strong>s, defini<strong>en</strong>do la cabecera de los<br />

métodos como parte de la definición del tipo:<br />

CREATE OR REPLACE TYPE tipoEmpleado AS OBJECT<br />

( DNI NUMBER,<br />

nombre VARCHAR2(30),<br />

fecha_nac DATE,<br />

pert<strong>en</strong>ece_a REF tipoDepartam<strong>en</strong>to,<br />

MEMBER FUNCTION edad RETURN NUMBER)<br />

/<br />

CREATE TABLE Empleado OF tipoEmpleado;<br />

MÉTODOS<br />

• Los métodos de un tipo se declaran como<br />

funciones miembro y no como métodos. El<br />

cuerpo del método se define por separado.<br />

CREATE TYPE BODY tipoEmpleado AS<br />

MEMBER FUNCION edad RETURN NUMBER IS<br />

BEGIN<br />

...<br />

RETURN edad;<br />

END;<br />

END;<br />

/<br />

17

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!