Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/10/2016, 11:48
udok
 
Fecha de Ingreso: diciembre-2013
Mensajes: 16
Antigüedad: 10 años, 4 meses
Puntos: 1
¿Por qué no se puede repetir una PK en cada fila?

Hola, Entiendo que un principio de la informática es no repetir datos, pero porqué no puedo tener tener la misma PK en cada fila , para los productos que formen parte de la factura? Ya sé que las PK siempre van con enteros, pero esto solo es un ejemplo.
Código:
PRODUCTOS(
  idProducto, 
  nombre, 
  precio);

FACTURAS(
  idFactura,
  fecha, 
  producto,
  FOREIGN KEY (producto) references PRODUCTOS(idProducto) 
  );
FACTURAS
idFac | fecha | producto
1 | 11/1 | prod1
1 | 11/1 | prod2
2 | 11/2 | prod5
2 | 11/2 | prod2

Según vi por internet , separan la tabla productos de facturas y las unen en una 'detalles' que tenga idDetalle, idFactura, idProducto.
[URL="http://www.hermosaprogramacion.com/2014/07/sistema-facturacion-base-datos/"]http://www.hermosaprogramacion.com/2014/07/sistema-facturacion-base-datos/[/URL]
Pero tambien repiten la idFactura en la tabla detalles. ¿Porqué es mejor ese método?
No lo comprendo