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

Í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 EVOLUCIÓN DE TIPOS • La evolución de tipos es un mecanismo que permite al usuario cambiar la definición de un tipo y propagar esos cambios a otros objetos del esquema que usen el tipo modificado. • Estos objetos se denominan dependientes del tipo y pueden ser, por ejemplo, una tabla, otro tipo o subtipo, una unidad de programación o bloque PL/SQL (procedimiento, función, paquete o disparador), etc. • La evolución de tipos permite realizar las siguientes modificaciones sobre un tipo definido por el usuario: – Añadir y eliminar atributos. – Añadir y eliminar métodos. – Modificar un atributo de tipo numérico, cambiando su longitud, precisión o escala. – Modificar un atributo de tipo carácter de tamaño variable, para incrementar el tamaño que admite. – Cambiar las propiedades final e instantiable de un tipo. 28

EVOLUCIÓN DE TIPOS • Pero, ¿qué sucede con un objeto dependiente cuando se modifica el tipo del que depende? Esto estará en función de la naturaleza del objeto y de la modificación efectuada. • Por ejemplo, si el objeto es una tabla, por cada atributo añadido al tipo se añaden a la tabla una o varias columnas, según el tipo del nuevo atributo añadido al tipo (esos nuevos atributos se añaden con valor nulo). • En el caso de eliminar atributos en el tipo, las columnas del objeto dependiente asociadas con esos atributos son eliminadas, y si lo que se hace es modificar la definición del atributo (escala, tamaño...), se realizan las mismas modificaciones en las columnas del objeto dependiente asociadas con dicho atributo. EVOLUCIÓN DE TIPOS • Introducir estas modificaciones en los objetos dependientes requiere: – por un lado, modificar los metadatos (información sobre la estructura de una tabla, que describe sus columnas y los tipos de éstas), lo cual no consume demasiado tiempo, y, – por otro, modificar los datos de la tabla para reflejar la redefinición del tipo; si hay una gran cantidad de datos, esta modificación puede consumir una importante cantidad de tiempo, por ello, Oracle proporciona opciones para la sentencia ALTER TYPE (empleada para redefinir un tipo), que posponen estas modificaciones en los datos hasta que sean actualizados. 29

<strong>ÍNDICE</strong><br />

• LOBS<br />

• TIPOS ANY<br />

• TIPOS DEFINIDOS POR EL USUARIO<br />

– TIPOS ESTRUCTURADOS<br />

– TIPOS REF<br />

– MÉTODOS<br />

– HERENCIA<br />

– TIPOS COLECCIÓN: NESTED TABLES Y VARRAYS<br />

– EVOLUCIÓN DE TIPOS<br />

EVOLUCIÓN DE TIPOS<br />

• La evolución de tipos es un mecanismo que permite al usuario<br />

cambiar la definición de un tipo y propagar esos cambios a otros<br />

<strong>objeto</strong>s del esquema que us<strong>en</strong> el tipo modificado.<br />

• Estos <strong>objeto</strong>s se d<strong>en</strong>ominan dep<strong>en</strong>di<strong>en</strong>tes del tipo y pued<strong>en</strong> ser,<br />

por ejemplo, una tabla, otro tipo o subtipo, una unidad de<br />

programación o bloque PL/SQL (procedimi<strong>en</strong>to, función, paquete o<br />

disparador), etc.<br />

• La evolución de tipos permite realizar las sigui<strong>en</strong>tes modificaciones<br />

sobre un tipo definido por el usuario:<br />

– Añadir y eliminar atributos.<br />

– Añadir y eliminar métodos.<br />

– Modificar un atributo de tipo numérico, cambiando su longitud, precisión<br />

o escala.<br />

– Modificar un atributo de tipo carácter de tamaño variable, para<br />

increm<strong>en</strong>tar el tamaño que admite.<br />

– Cambiar las propiedades final e instantiable de un tipo.<br />

28

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

Saved successfully!

Ooh no, something went wrong!