Ver Mensaje Individual
  #2 (permalink)  
Antiguo 30/03/2011, 15:56
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: Duda al crear relación identifying o no-identifying

Una relación identificadora (identifying) es una relación de dependencia formal, en la que la tabla dependiente hereda la PK de la tabla origen, y al mismo tiempo es parte de su PK.
El caso concreto es el de una factura de venta, en la que los items se almacenan en una tabla distinta (cosas de la normalización). La PK de DetalleFactura está compuesta por NroFactura + NroItem.

Una relación no identificatoria (non-identifying) se establece entre dos tablas cuya relación es opcional, y no compone la clave primaria, pero cuyo valor debe cumplir la integridad referencial.
Podríamos imaginar el caso de una tabla que represente un documento de pago, en el que se exista una columna asignada a tipos de tarjetas de crédito. Si el pago no se realiza por tarjeta, el campo no se usa, pero si se paga con tarjeta, el tipo debe corresponder a uno de los valores almacenados en la tabla TiposTarjeta, por ejemplo.

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