Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/04/2009, 15:45
Avatar de jm00092
jm00092
 
Fecha de Ingreso: mayo-2005
Ubicación: Ronda
Mensajes: 106
Antigüedad: 19 años, 6 meses
Puntos: 0
Indices y claves foraneas en mysql

Tengo una tabla de Facturas con el campo clave principal ID y demás datos como fecha, cliente, etc.

Otra tabla Detalle Factura con ID factura y ID Articulo como clave principal y demás datos como cantidades y precios. Lo hago así para que no me repitan artículos dentro de la misma factura.

El problema es que al crear las claves foráneas en phpmyadmin, ID factura apuntando a la tabla facturas y ID artículo a la de artículos, me da una advertencia de que el campo ID factura no puede pertenecer a la vez a la clave foránea y a la principal (¿será por usar dos campos como clave principal?), y lo mismo con el ID artículo.

¿Cual de estas soluciones sería la mejor?
- Pasar de la advertencia y crear todas las claves y referencias.
- Crear un campo ID en la tabla de detalle y usarlo como clave principal. Aunque no lo usaría para nada más.
- Dejar la tabla de detalles sin clave principal
- No usar claves foráneas y que lo controle todo el programa.
- Otra mejor

Gracias