Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Correspondencia en relaciones

Estas en el tema de Correspondencia en relaciones en el foro de Mysql en Foros del Web. Hola amigo, la verdad todavía no me manejo bien en las relaciones de base de datos y quisiera que me dieran su opinión acerca de ...
  #1 (permalink)  
Antiguo 22/06/2013, 09:56
 
Fecha de Ingreso: abril-2010
Ubicación: Chile
Mensajes: 76
Antigüedad: 14 años
Puntos: 3
Correspondencia en relaciones

Hola amigo, la verdad todavía no me manejo bien en las relaciones de base de datos y quisiera que me dieran su opinión acerca de este modelo EER



La idea es que un usuario puede pertenecer solo a una comuna, pero que una comuna pueda tener varios usuarios.
Una comuna pertenece a una región y una región tiene varias comunas.
Un usuario puede tener muchos avisos (cree la tabla intermedia para relacionarlos) y varios avisos pueden pertenecer a un usuario.
Un usuario tiene un rol, pero un rol lo pueden tener varios usuarios.

Que dicen ustedes, está bien?
  #2 (permalink)  
Antiguo 22/06/2013, 10:26
Avatar de 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, 4 meses
Puntos: 2658
Respuesta: Correspondencia en relaciones

A primera vista, la entidad "Comunas" no está bien definida, porque en ese contexto una comuna puede pertenecer a más de una Región, cosa absolutamente imposible.
La relación Región + Comuna es 1:N, caso en el que la FK va, tal como la pones, en Comuna, pero lo que no debe suceder es que esa FK sea parte de la PK. Es una FK común y silvestre, es decir una relación no identificatoria, pero NOT NULL (dato obligatorio).
Además, si id_region fuese parte de la PK de Comuna, entonces la FK de Comuna está mal definida en Usuario, porque una FK apunta a la clave completa, y no a una parte de ella.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 22/06/2013, 10:49
 
Fecha de Ingreso: abril-2010
Ubicación: Chile
Mensajes: 76
Antigüedad: 14 años
Puntos: 3
Respuesta: Correspondencia en relaciones

Modifique un poco el diagrama (me di cuenta que los tenia al revés las relaciones), y consideré tus puntos, entonces quedaría de esta forma, o no?

  #4 (permalink)  
Antiguo 22/06/2013, 11:52
Avatar de 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, 4 meses
Puntos: 2658
Respuesta: Correspondencia en relaciones

Ahora tienes Usuarios mal definido porque has puesto comunas_id_comuna y Roles_id_rol como parte de la PK. Eso está mal. Son relaciones no identificatorias.
Yo te dije únicamente de Comunas porque el resto estaba bien. Deshace lo que hiciste y deja solamente las modificaciones de Comunas.
Además, es muy conveniente que los nombres de los campos que son FK sean siempre iguales al nombre de su PK de origen. Eso es un defecto del Workbench, y es una mala práctica.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 22/06/2013, 16:15
 
Fecha de Ingreso: abril-2010
Ubicación: Chile
Mensajes: 76
Antigüedad: 14 años
Puntos: 3
Respuesta: Correspondencia en relaciones

Muchas gracias por tu ayuda gnzsoloyo, ahora si me quedo bien y además me enseñaste, de verdad muchas gracias
  #6 (permalink)  
Antiguo 22/06/2013, 16:22
Avatar de 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, 4 meses
Puntos: 2658
Respuesta: Correspondencia en relaciones



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

Etiquetas: correspondencia, relaciones, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:25.