13/02/2015, 09:37
|
| Moderador criollo | | Fecha de Ingreso: noviembre-2007 Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años Puntos: 2658 | |
Respuesta: duda con mostrar datos php ¿Y no puedes hacer una inferencia, y adaptar la idea a tus estructuras?
Vamos a lo básico:
Una relación N:N entre dos entidades, es una relación donde cada elemento de una se relaciona con otra entre cero y N veces, y donde la segunda se relaciona también con la primera de la misma forma.
Lo que tienes es usuarios que pueden tener N servicios, y tipos de servicio que se relacionan con N usuarios, en diferentes momentos del tiempo.
Eso es una relación N:N, y en Bases de Datos relacionales obligatoriamente requiere la existencia de una tercera tabla. En esa tabla las PK de cada una de las otra tabla componen la PK de esa tabla.
¿Eso lo enteindes?
Yo usé "username", por la simple razon de sugerirte que si tienes un usuario, y ese usuario es único, no tiene ningún sentido desperdiciar espacio en la tabla creando un ID numerico para el usuario, ya que el username (o como quieras llamarlo) es único, sempre. Ergo, puedes usar el propio nombre de usuario como PK...
Pero, bueno es tu decisión.
Ahora bien, lo que quiero que te quede claro es que USUARIO se relaciona con SERVICIO sólo a través de la relación con la tabla USUARIO_SERVICIO, pero no con SERVICIO directamente, y viceversa.
Eso esería diseñar bien la relación.
Si quieres ponerle otros nombres, no hay problema. Ponle "TIPO_SERVICIO" a la que yo llamé "SERVICIO", y "SERVICIO" a la que yo llamé "USUARIO_SERVICIO", eso lo decides tu. Pero haz la inferencia razonada de lo que te propongo conceptualmente.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |