Ver Mensaje Individual
  #5 (permalink)  
Antiguo 28/12/2014, 19:31
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: 17 años
Puntos: 2658
Respuesta: tabla madre puede ser referenciada en una relacion?

Vamos por parte: Lo que estás definiendo, más allá de ser una relación Padre-Hijo entre tablas, es una relacion de dependencia funcioanl entre dos entidades. En consecuencia debes respetar esa dependencia, y por eso no puedes ingresar datos en las tablas hijas sin ingresarlos en la tabla padre primero.
Ahora bien, analizando lo que describes, una Pieza puede ser Procesador o TarjetaMadre. Esto implica que para ser una u otra primero se debe definir como Pieza, y en ese caso no Procesador ni TarjetaMadre tienen PK propia, sino heredada de Pieza.
¿Eso lo tienes claro?

Cita:
Pieza(pieza_id, modelo, nombre, fabricante_id)
Procesador(pieza_id, arquitectura, velocidad, capacidad)
TarjetaMadre(pieza_id, socket, puertos)
Compatibilidad(pieza_id_1, pieza_id_2)
Usando denominaciones mnemotécnicas así es más sencillo ver la relación.
En ese esquema, como dije, debes si o si ingresar primero la pieza, y luego el Procesador o TarjetaMadre. Es obligatorio.
Ahora bien, en este modelo te está faltando una entidad que represente al equipo que se construye, donde se aplicarán luego las reglas de negocio que expresen: Un equipo tiene un Procesador y una sola Tarjeta Madre", o cosas asi. Y ten en cuenta que no todas las reglas del negocio se administran en la base de datos. Muchas requieren interaccion entre la capa de negocio y la capa de datos.
¿Existe esa entidad en tu modelo de sistema?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)