Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/05/2011, 10:28
alexitech
 
Fecha de Ingreso: junio-2009
Mensajes: 51
Antigüedad: 14 años, 10 meses
Puntos: 1
Pregunta Relacionar Tablas

Hola, necesito de su ayuda otra vez :P

Tengo 3 tablas que son: usuarios, urls, permisos.

usuarios ->id, nombre, email, pass
urls->id, url
permisos->id, action

En permisos las acciones son CREAR, ELIMINAR, EDITAR, VER

Lo que quiero hacer es poder asignarle permisos a los usuarios segun la pagina del sistema y mi pregunta concreta seria como relacionar estas tablas de la forma mas eficiente.

Tenia pensado hacerlo de estas dos formas pero no se si sean correctas.

Forma 1
Crear una tabla mas y relacionar el id de usuario, el id de la url y el id del permiso en cuestion. La tabla quedaria de la siguiente manera:

permisos_asignados->usuarios_id, urls_id, permisos_id

El problema que le veo es que si a un usuario le asigno los 4 permisos, tendria que crear 4 entradas en esa tablas....1 por permiso.... y no creo que eso sea lo mas optimo.

Forma 2
Crear una tabla mas y relacionar el id de usuario, el id de la url y crear 4 campos mas de tipo BOOL uno para cada permiso. La tabla quedaria asi:

permisos_asignados->usuarios_id, urls_id, crear, eliminar, ver, editar

El problema es que si agrego otro permiso mas tendria que modificar esta tabla otra ves .....

En lo personal creo que las dos maneras que se me ocurren estan incorrectas, asi que les pido su ayuda xDDD :P