
03/11/2008, 07:05
|
 | Moderador criollo | | Fecha de Ingreso: noviembre-2007 Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 2 meses Puntos: 2658 | |
Respuesta: problema con Mysql... No. Porque estás confundiendo la tabla de usuarios con la tabla que guarda los días elegidos.
Una clave primaria es un campo que NUNCA se repite, y en tu caso, el username puede repetirse al permitir que cada usuario pueda aparecer vinculado a diferentes días al mismo tiempo.
El tema es que en un sistema con usuarios, debe existir una tabla que almacene los datos de usuarios. En esa el username sería PK.
Pero si el username se usa como elemento de identificación de otro dato (supongamos sesiones), cada sesión está asociada a un usuario, pero un usuario puede tener muchas sesiones. Esa relación se denomina 1:N y se expresa en una tabla diferente, haciendo que el username se combine con otro campo (supongamos la fecha y hora de inicio de casa sesión), con la condición que nunca se de otra combinación igual.
En ese caso la PK se construye con AMBOS campos como PK. De esta forma se genera, a nivel de DER una relación y entidad débil, y a nivel físico, una tabla independiente de Usuarios.
¿Se comprende 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) |