Ver Mensaje Individual
  #3  
Antiguo 13-06-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Reputación: 25
Delphius Va camino a la fama
Hola luxus,
Lo que te ha dicho el compañero BlueSteel es lo básico a tener en cuenta. Pero deberás tener presente (muy presente) de como deben estructurarse tanto los permisos como los perfiles.
Y esto dependerá de como se trabaje en dicha empresa/negocio como así también del nivel de seguridad que se exige para el sistema.

Por ejemplo, el modo básico dice que para un perfil existe al menos un usuario. Pero un usuario tiene un sólo perfil. Es decir el esquema relacional vendría a ser 1-M desde Perfiles a Usuarios.

Pero el modelo del negocio puede impulsar una estructura basada no simplemente en perfiles sino también en funciones. En este caso, pueden darse el caso de que muy a pesar de existir un perfil no todos los usuarios para un mismo perfil cumplen las mismas funciones y/o actividades. De este modo estamos en una situación diferente. La estructura organizacional impone un nuevo diseño en la base de datos.
Tal vez se pueda conseguir haciendo un esquema de sub-perfiles. Es decir que un usuario tiene un perfil y además un sub-perfil. De este modo se podría hacer indicar con un sub-perfil cuales son las funciones que cumple.

Tal vez el esquema sea:

Perfiles -1---M- SubPerfil
Perfiles -1---M- Usuarios
SubPerfil -1--M-Funciones

El esquema es un ejemplo. Es para dar una idea.

¿Hemos terminado? No... Nos queda otra situación más extrema por analizar: ¿Puede existir el caso en que un usuario tenga muchos perfiles y a su vez, que cumpla ciertas funciones, no necesariamente obligatorias para un sólo perfil? Si. ¿Es tu caso?

Pues deberás analizar.
¿Porqué te comento esto? Pues por el modo en como has dado a conocer tu problema intuyo que el modelo más simple no te será de total agrado (al menos eso me indica un primer vistazo rápido de tu mensaje).

Si dices que si hay diferentes perfiles (el perfil de administrador es uno de ellos) y que cada uno tiene un nivel de acceso entonces es muy claro que deberás estructurar tus tablas de modo que:

1. Una persona tenga un perfil.
2. Una persona tenga un nivel de acceso.

Ahora me hago la pregunta ¿El nivel de acceso es dependiente sólo para los administradores? ¿O por el contrario, tiene cierto significado para otros perfiles?

Dependiendo de tu respuesta sabrás si existe alguna relación entre la tabla Perfil y la tabla NivelAcceso.

Si supongo que el nivel de acceso no depende del perfil se podría, en una primera aproximación, decir que:

NivelAcceso -1---M- Usuarios -M---1- Perfil

Como vez, el asunto obligadamente requiere de un análisis y deberá venir en última de ti.
Si tienes mayores dudas, puedes consultarnos. Aqui estaremos para asesorarte.

Mientras tanto busca definir que tan elaborado tiene que ser el manejo de los perfiles y esas particularidades.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita