Uniones estables de hecho: el concubinato
1NF
Los atributos tienen dominio atómico
El modelo relacional anidado es una extensión del modelo relacional en la que los dominios pueden ser atómicos o no. Por tanto el valor de las tuplas de los atributos puede ser una relación, y las relaciones pueden guardarse en otras relaciones. Por tanto los objetos complejos se pueden representar mediante una única tupla de las relaciones anidadas.
1. Relaciones Anidadas
Ej: Considérese un sistema para la recuperación de documentos en el que se guardan, por cada documento, la siguiente información:
Título del documento Lista de autores Fecha de obtención Lista de palabras clave Puede verse que si se define una relación para la información anterior, varios de …ver más…
Los sistemas de tipos complejos suelen permitir otros tipos de colecciones, arrays y multicojuntos (colecciones no ordenadas en las que un elemento puede figurar varias veces)
array-de-autores Micadena[10] número-de-impresiones multiset(integer)
2.3 La herencia
La herencia puede hallarse en el nivel de los tipos o en el nivel de las tablas. Consideremos primero la herencia de los tipos: create type Persona ( nombre MiCadena, dni integer)
Estudiantes, Profesores create type Estudiante create type Profesor ( curso MiCadena, ( sueldo integer, departamento MiCadena) departamento MiCadena) under Persona under Persona
2.3 La herencia
Supongase que se desea guardar información sobre los ayudantes, que son estudiantes y profesores a la vez, quizás incluso en departamentos diferentes. Si el sistema permite herencia múltiple create type Ayudante under Estudiante, Profesor
Problema: hereda atributos que se hallan presentes en ambas superclases. Pero esos atributos se heredan de un origen común así que no se provoca ningún conflicto.
2.3 La herencia
Sin embargo, el atributo departamento se define de manera separada en Estudiante y en Profesor. Para evitar este conflicto se renombra el atributo create type Ayudante under Estudiante with (departamento as dep-estudiante) Profesor with (departamento as dep-profesor)
En la mayor parte de los lenguajes de programación, las entidades deben tener exactamente el tipo más específico; es