Cita:
Iniciado por neodani
Buenas,
Tengo una duda al crear una tabla que pretende llevar la relación de los amigos de cada usuario. Me imagino un tabla donde tenga el identificador del usuario ligado al identificador del amigo (que no deja de ser otro usuario de la web).
Podéis darme vuestra opinión sobre esta tabla amigos? haríais esta modelo?
Las dudas las tengo en que tanto el usuario como el amigo son usuarios de la web y por tanto no se si deben haber dos claves foraneas a la tabla usuarios y que estas a su vez fuesen primarias de la tabla amigos, o si véis otra manera de enfocarlo.
Muchas gracias de antemano
Hola,
Si los amigos son usuarios, es una relación many-to-many, por lo tanto necesitas una tabla intermedia para usuarios-usuarios.
Ademas el password veo que lo vas a meter en md5 con un VARCHAR de 32, yo lo meteria con un CHAR de 40 caracteres y usaria como has un sha1 (un poco mas seguro que md5), al ser seguro que el sha1 tiene una longitud fija de 40 caracteres, no hay razón para guardarlo como VARCHAR, ya que utilizas espacio innecesario en la base de datos al definir la columna.
Otra cosa, no necesitas 2 primary keys, necesitas 2 foreign keys apuntando a la tabla usuario, ademas necesitas 2 unique index, para que no se repita el e-mail ni el apodo, ya que estos datos deberían ser únicos.
Te adjunto el esquema como quedaría.
Saludos