El conflicto de la Relacion muchos a muchos

16/07/2009 - 04:58 por Alexa | Informe spam
Tengo muy claro lo que en el modelo Entidad Relación significa una relación
muchos a muchos, y que para romper esa relación es necesario crear una
tercera tabla que debe contener las llaves primarias de las otras dos
tablas.
También sé que las reglas de Normalización así lo disponen.

Supongamos sobre la base que tenemos dos tablas , en las cuales un USUARIO
puede tener uno o mas roles (administrador, profesor, editor, alumno) , y un
ROL puede ser desempeñado por uno o más USUARIOS , entonces ya tenemos
claramente establecida la relacion MUCHOS A MUCHOS :

TABLA USUARIO
-LoginUsuario
-PwdUsuario
-idRol

TABLA ROL
-idRol
-Descripcion

Lo que no entiendo, ¿ cual es realmente el problema de prescindir de esa
tercera tabla ?
En otras palabras, Ž¿ que "conflicto" podría existir en trabajar solo con
las dos tablas?

Preguntas similare

Leer las respuestas

#1 Carles Batet
16/07/2009 - 08:36 | Informe spam
Hola

Tienes la primera tabla con los usuarios pepito, juanito, francisco,
dolores.

Tienes la segunda tabla con los roles administrador, profesor, editor,
alumno.

Tal como está ahora sin ninguna tabla adicional, ¿Qué roles tiene el usuario
pepito?

La tercera tabla es la que relaciona un usuario con un rol; si no hay una
tabla que una los registros de las dos tablas, no tienes manera de saber que
roles tiene cada usuario.

Saludos


Carles Batet



" Alexa" escribió en el mensaje
news:
Tengo muy claro lo que en el modelo Entidad Relación significa una
relación muchos a muchos, y que para romper esa relación es necesario
crear una tercera tabla que debe contener las llaves primarias de las
otras dos tablas.
También sé que las reglas de Normalización así lo disponen.

Supongamos sobre la base que tenemos dos tablas , en las cuales un USUARIO
puede tener uno o mas roles (administrador, profesor, editor, alumno) , y
un ROL puede ser desempeñado por uno o más USUARIOS , entonces ya tenemos
claramente establecida la relacion MUCHOS A MUCHOS :

TABLA USUARIO
-LoginUsuario
-PwdUsuario
-idRol

TABLA ROL
-idRol
-Descripcion

Lo que no entiendo, ¿ cual es realmente el problema de prescindir de esa
tercera tabla ?
En otras palabras, ´¿ que "conflicto" podría existir en trabajar solo con
las dos tablas?
Respuesta Responder a este mensaje
#2 Carlos Sacristan
16/07/2009 - 09:36 | Informe spam
El problema no es que se cree un "conflicto", como tú lo llamas, sino que no
habría una forma eficiente de conseguir almacenar esos datos. Supongo que si
te planteas eso es porque has pensado hacerlo sin esa tercera tabla; ¿puedes
postear cómo lo harías tú?. Si lo haces te podríamos decir los problemas que
te puedes encontrar.

"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es fácil, si ambas están congeladas."
Edward V. Berard, ingeniero informático

http://blogs.solidq.com/es/elrincondeldba


" Alexa" wrote in message
news:
Tengo muy claro lo que en el modelo Entidad Relación significa una
relación muchos a muchos, y que para romper esa relación es necesario
crear una tercera tabla que debe contener las llaves primarias de las
otras dos tablas.
También sé que las reglas de Normalización así lo disponen.

Supongamos sobre la base que tenemos dos tablas , en las cuales un USUARIO
puede tener uno o mas roles (administrador, profesor, editor, alumno) , y
un ROL puede ser desempeñado por uno o más USUARIOS , entonces ya tenemos
claramente establecida la relacion MUCHOS A MUCHOS :

TABLA USUARIO
-LoginUsuario
-PwdUsuario
-idRol

TABLA ROL
-idRol
-Descripcion

Lo que no entiendo, ¿ cual es realmente el problema de prescindir de esa
tercera tabla ?
En otras palabras, Ž¿ que "conflicto" podría existir en trabajar solo con
las dos tablas?
Respuesta Responder a este mensaje
#3 Alexa
16/07/2009 - 20:04 | Informe spam
Creo que ya me voy dando cuenta de mi confusión :-), pero vamos con un
ejemplo para que me reafirmen lo que estoy pensando.
Tenemos las siguientes tablas con los siguientes regitros:

Tabla USUARIO (Login_Usuario Pwd_Usuario son la claves primarias)
-
Login_Usuario : Pepito Pwd_usuario: 123 id_Rol : Administrador
Login_Usuario : Pepito Pwd_usuario: 456 id_Rol : Profesor
Login_Usuario : Estela Pwd_usuario: 789 id_Rol : Alumno
Login_Usuario : Eva Pwd_usuario: 147 id_Rol : Alumno
Lgon_Usuario : Luisa Pwd_usuario: 459 id_Rol : Administrador

Tabla Rol (id_Rol es la clave primaria)

id_Rol : Administrador
id_Rol: Profesor
id_Rol : Editor
id_Rol: Alumno

Se puede ver que Pepito tiene dos ROLES (Administrador y Profesor) y que el
ROL Alumno es desempeñado por dos usuarios distintos.



"Carlos Sacristan" escribió en el mensaje de
noticias:##
El problema no es que se cree un "conflicto", como tú lo llamas, sino que
no habría una forma eficiente de conseguir almacenar esos datos. Supongo
que si te planteas eso es porque has pensado hacerlo sin esa tercera
tabla; ¿puedes postear cómo lo harías tú?. Si lo haces te podríamos decir
los problemas que te puedes encontrar.

"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es fácil, si ambas están congeladas."
Edward V. Berard, ingeniero informático

http://blogs.solidq.com/es/elrincondeldba


" Alexa" wrote in message
news:
Tengo muy claro lo que en el modelo Entidad Relación significa una
relación muchos a muchos, y que para romper esa relación es necesario
crear una tercera tabla que debe contener las llaves primarias de las
otras dos tablas.
También sé que las reglas de Normalización así lo disponen.

Supongamos sobre la base que tenemos dos tablas , en las cuales un
USUARIO puede tener uno o mas roles (administrador, profesor, editor,
alumno) , y un ROL puede ser desempeñado por uno o más USUARIOS ,
entonces ya tenemos claramente establecida la relacion MUCHOS A MUCHOS :

TABLA USUARIO
-LoginUsuario
-PwdUsuario
-idRol

TABLA ROL
-idRol
-Descripcion

Lo que no entiendo, ¿ cual es realmente el problema de prescindir de esa
tercera tabla ?
En otras palabras, Ž¿ que "conflicto" podría existir en trabajar solo con
las dos tablas?



Respuesta Responder a este mensaje
#4 Carles Batet
17/07/2009 - 08:27 | Informe spam
Lo que sucede es que hay dos usuarios Pepito :-)
Esto complica el mantenimiento.
¿Que pasa si se cambia el nombre de este usuario? Hay que cambiarlo en dos
registros.
¿Es aconsejable que haya dos usuarios con el mismo nombre y diferente
password? Yo diría que no, ya que si se equivoca en el password puede entrar
con el rol inapropiado.

Saludos


Carles Batet


" Alexa" escribió en el mensaje
news:
Creo que ya me voy dando cuenta de mi confusión :-), pero vamos con un
ejemplo para que me reafirmen lo que estoy pensando.
Tenemos las siguientes tablas con los siguientes regitros:

Tabla USUARIO (Login_Usuario Pwd_Usuario son la claves primarias)
-
Login_Usuario : Pepito Pwd_usuario: 123 id_Rol : Administrador
Login_Usuario : Pepito Pwd_usuario: 456 id_Rol : Profesor
Login_Usuario : Estela Pwd_usuario: 789 id_Rol : Alumno
Login_Usuario : Eva Pwd_usuario: 147 id_Rol : Alumno
Lgon_Usuario : Luisa Pwd_usuario: 459 id_Rol : Administrador

Tabla Rol (id_Rol es la clave primaria)

id_Rol : Administrador
id_Rol: Profesor
id_Rol : Editor
id_Rol: Alumno

Se puede ver que Pepito tiene dos ROLES (Administrador y Profesor) y que
el ROL Alumno es desempeñado por dos usuarios distintos.



"Carlos Sacristan" escribió en el mensaje de
noticias:##
El problema no es que se cree un "conflicto", como tú lo llamas, sino que
no habría una forma eficiente de conseguir almacenar esos datos. Supongo
que si te planteas eso es porque has pensado hacerlo sin esa tercera
tabla; ¿puedes postear cómo lo harías tú?. Si lo haces te podríamos decir
los problemas que te puedes encontrar.

"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es fácil, si ambas están congeladas."
Edward V. Berard, ingeniero informático

http://blogs.solidq.com/es/elrincondeldba


" Alexa" wrote in message
news:
Tengo muy claro lo que en el modelo Entidad Relación significa una
relación muchos a muchos, y que para romper esa relación es necesario
crear una tercera tabla que debe contener las llaves primarias de las
otras dos tablas.
También sé que las reglas de Normalización así lo disponen.

Supongamos sobre la base que tenemos dos tablas , en las cuales un
USUARIO puede tener uno o mas roles (administrador, profesor, editor,
alumno) , y un ROL puede ser desempeñado por uno o más USUARIOS ,
entonces ya tenemos claramente establecida la relacion MUCHOS A MUCHOS :

TABLA USUARIO
-LoginUsuario
-PwdUsuario
-idRol

TABLA ROL
-idRol
-Descripcion

Lo que no entiendo, ¿ cual es realmente el problema de prescindir de
esa tercera tabla ?
En otras palabras, ´¿ que "conflicto" podría existir en trabajar solo
con las dos tablas?



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida