13.08.2013 Views

Modelo objeto-relacional en Oracle ÍNDICE

Modelo objeto-relacional en Oracle ÍNDICE

Modelo objeto-relacional en Oracle ÍNDICE

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

HERENCIA<br />

CREATE TYPE tipoPersona AS<br />

OBJECT<br />

(DNI VARCHAR(9),<br />

nombre VARCHAR(25),<br />

fecha_nac DATE,<br />

direccion VARCHAR(1000),<br />

MEMBER FUNCTION edad<br />

RETURN NUMBER)<br />

NOT INSTANTIABLE NOT FINAL<br />

/<br />

CREATE TYPE tipoEstudiante UNDER<br />

tipoPersona<br />

(estudios VARCHAR(50))<br />

/<br />

CREATE TYPE tipoEmpleado UNDER<br />

tipoPersona<br />

(empresa VARCHAR(50))<br />

/<br />

Estudiante<br />

estudios: String<br />

HERENCIA<br />

Persona<br />

DNI: String<br />

nombre: String<br />

fecha_nac: Date<br />

direccion: String<br />

edad(): Integer<br />

Empleado<br />

empresa: String<br />

• La her<strong>en</strong>cia simple de tipos que contempla<br />

<strong>Oracle</strong> implica que cualquier subtipo hereda de<br />

su padre los métodos y atributos que posea.<br />

• Así, para el ejemplo pres<strong>en</strong>tado, los subtipos<br />

tipoEstudiante y tipoEmpleado pose<strong>en</strong> los dos la<br />

función edad().<br />

• Por tanto, esta función podrá ser invocada sobre<br />

cualquier instancia de estos tipos, es decir,<br />

cuando se defina una tabla de cualquiera de los<br />

dos subtipos, podremos llamar a la función<br />

edad() sobre cualquiera de las filas de la tabla<br />

(que no son sino <strong>objeto</strong>s).<br />

20

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

Saved successfully!

Ooh no, something went wrong!