Ver Mensaje Individual
  #4 (permalink)  
Antiguo 30/01/2013, 15:03
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: Porque no me deja crear estas tablas

Un campo "subtotal" no puede ser un campo UNIQUE en una factura. Eso no tiene sentido.
Es imposible que puedas pretender que un valor como ese sea único entre todas las facturas posibles.
La cosa tiene dos errores:
1) No es necesario un concepto de "subtotal", porque eso es un dato calculable, y por regla del modelo, los datos calculables no se almacenan.
2) No puedes pretender crear una FK contra un campo no clave. MySQL Admite sólo las PK (definición del modelo) y los UNIQUE, que fungen de claves candidatas. Y ese campo no cumple con ninguna.

Además, resulta bastante incorrecto usar un VARCHAR como campo donde almacenes el numero de factura. Incluso si se usaran códigos alfanuméricos para las facturas, ese diseño no es correcto.

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