Modelo objeto-relacional en Oracle ÍNDICE
Modelo objeto-relacional en Oracle ÍNDICE
Modelo objeto-relacional en Oracle ÍNDICE
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