Modelo objeto-relacional en Oracle ÍNDICE
Modelo objeto-relacional en Oracle ÍNDICE Modelo objeto-relacional en Oracle ÍNDICE
Í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
- Page 1 and 2: Modelo objeto-relacional en Oracle
- Page 3 and 4: LOBS • Generalmente la informaci
- Page 5 and 6: TIPOS ANY • Oracle permite crear
- Page 7 and 8: TIPOS DEFINIDOS POR EL USUARIO •
- Page 9 and 10: SQL:2003 TIPOS DISTINTOS CREATE TYP
- Page 11 and 12: TIPOS ESTRUCTURADOS • Un ejemplo
- Page 13 and 14: ÍNDICE • LOBS • TIPOS ANY •
- Page 15 and 16: TIPOS REF • Un tipo estructurado
- Page 17 and 18: MÉTODOS • Es posible asociar com
- Page 19 and 20: ÍNDICE • LOBS • TIPOS ANY •
- Page 21 and 22: HERENCIA • La característica [NO
- Page 23 and 24: HERENCIA • Pero, además de que l
- Page 25 and 26: TIPOS COLECCIÓN • Desde una sent
- Page 27: TIPOS COLECCIÓN • Las principale
- Page 31: EVOLUCIÓN DE TIPOS A continuación
<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