Está en la página 1de 32

1

2
Hay tres formas de implantar subtipos en la base de datos. Las tres se tratarán en esta lección.

3
4
Supertipo: forma de clasificar una entidad que tiene subtipos.

5
6
Salary y hourly_rate son opcionales, incluso aunque el ERD los tiene como obligatorios. Dpt_id
puede seguir siendo obligatorio, porque proviene de la relación con el supertipo EMPLEADO.
Agy_id proviene de una relación con el subtipo y se tiene que convertir en opcional.

Epe_type es la columna discriminadora. Puede tener los valores FTE o PTE.

Tenga en cuenta que mgr_id representa la relación recursiva para EMPLEADO. Se trata de una
columna de clave ajena y normalmente se denomina epe_id, después de la tabla principal. Sin
embargo, tiene sentido renombrarla en esta etapa, para facilitar la comprensión.

7
8
Una nota sobre el subtipo OTRO:
Se recomienda un subtipo OTRO en el modelo conceptual para asegurarse de que los subtipos
son exhaustivos. Sin embargo, en el momento de iniciar la fase de diseño, deberíamos haber
hecho un análisis extenso para determinar si otro subtipo es realmente necesario. Si es así, se
debe asignar un nombre a este subtipo y especificar sus atributos. Si no es así, el subtipo OTRO
no forma parte del proceso de transformación.

9
10
11
12
Es elegante y adecuada para la mayoría de las situaciones y se debería considerar como
primera opción.
Normalmente creará una vista para cada subtipo, que muestre solo las columnas
pertenecientes a dicho subtipo concreto. Las filas correctas se seleccionan con una condición
basada en la columna discriminadora.

Las vistas se tratarán en el curso más adelante.

13
Subtipo: aquello en lo que se puede dividir una entidad según los atributos y/o relaciones
comunes.

14
15
La opcionalidad original de los atributos y las relaciones se propaga a las columnas y las claves
ajenas,
por lo que no es necesaria una restricción de control, ya que está en la implantación de una
sola tabla.
Si fuera necesario tener valores únicos de la clave primaria (ID) en ambas tablas, sería necesaria
programación adicional.

16
Id, material y mnr_id provienen de atributos de relaciones OR con el supertipo. Por lo tanto,
aparecen en ambas tablas.

17
Id, material y mnr_id provienen de atributos de relaciones OR con el supertipo. Por lo tanto,
aparecen en ambas tablas.

18
Normalmente, debe crear una vista adicional que represente el supertipo y que muestre todas
las columnas del supertipo y los distintos subtipos

19
20
21
Las relaciones son 1:1 obligatorias y exclusivas:
Cada CAMISETA debe ser una pieza de ROPA. Cada ZAPATO debe ser una pieza de ROPA.
Por el contrario, cada pieza de ROPA debe ser un ZAPATO o una CAMISA, pero no ambos.

22
Las relaciones son 1:1 obligatorias y exclusivas:
Cada CAMISETA debe ser una pieza de ROPA. Cada ZAPATO debe ser una pieza de ROPA.
Por el contrario, cada pieza de ROPA debe ser un ZAPATO o una CAMISA, pero no ambos.

23
24
25
26
27
En este caso, es muy poco probable que se elija la implantación de un arco y solo se muestra
para demostrar que es una opción a tener en cuenta.
Necesita una restricción de control sobre ROPA para forzar que (sht_id is not null and she_id is
null) OR (sht_id is null and she_id is not null).

28
29
30
31
32

También podría gustarte