Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/02/2013, 10:58
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: ¿Qué es mejor o peor? FK como PK

Tu ejemplo es un modelo de herencia. En realidad tienes tres tablas:

Cita:
VEHICULO(
ID_VEHICULO (PK)
TIPO_VEHICULO
MARCA
MODELO
MOTOR
CILINDRADA
FECHA_ALTA
...)

COCHE(
ID_VEHICULO (PK,FK)
NUM_PUERTAS
...)

MOTO(
ID_VEHICULO (PK,FK)
...)
Esto es porque toda moto y todo auto son vehículos, tienen motores, los que tienen cilindrada, son de un modelo, una marca y tienen una fecha de alta.
Es decir que todos los atributos que puedan aparecer en todos los tipos de vehículos, deben estar sólo en la tabla padre y no en el resto.
EN las tablas hijas sólo deben aparecer en un caso los atributo propio de un auto (parabrisas, volante, pedales, asientos, puertas, etc), mientras que en la moto únicamente los propios (manubrio, etc.)
Ahora bien, este modelo que propones sólo apunta a una descripción de modelos genéricos, pero no se puede usar así nomás para la administración de datos de motos y autos vendidos, porque cada uno de los vehículos puede tener adicionales, extras y componentes no incluidos en el modelo genérico. En ese caso este modelo es sólo una parte de las relaciones.
En un modelado extenso, para registrar vehículos reales, el detalle de elementos del vehículo si tiene su propia PK, y en ese caso el IDVEHICULO es un atributo no clave de esa entidad (referencia el modelo del vehículo que se vende).

¿Se entiende?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)