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

Niveles de usuario

Estas en el tema de Niveles de usuario en el foro de Mysql en Foros del Web. Hi Me encuentro haciendo una base de datos donde tengo que tener niveles de usuarios . Mi pregunta es si en la tabla Usuarios, donde ...
  #1 (permalink)  
Antiguo 27/04/2006, 08:57
Avatar de GERMANCIN  
Fecha de Ingreso: junio-2004
Mensajes: 151
Antigüedad: 19 años, 10 meses
Puntos: 0
Pregunta Niveles de usuario

Hi
Me encuentro haciendo una base de datos donde tengo que tener niveles de usuarios .

Mi pregunta es si en la tabla Usuarios, donde existen los campos:
User_codigo
User_name
User_nick
User_mail
User_nivel ------> le pongo el campo user nivel? y asi luego con php restringirlo?

Ó Creo una tabla aparte que se llame Niveles?
  #2 (permalink)  
Antiguo 27/04/2006, 09:46
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 18 años
Puntos: 2
Si querés almacenar alguna otra información para cada nivel te conviene crear otra tabla nivel donde guardes todos los niveles y sus datos. Y en la tabla usuarios agregas un campo "nivel" que sea una clave foranea referenciando a la tabla nivel.
Pero si cada nivel esta definido por un único dato (como en este caso, un número) te conviene que el campo nivel de la tabla usuario contenga el valor del nivel en lugar de una referencia a otra tabla.
Por lo que veo, en tu caso, el nivel esta definido solo por un número, por lo que creo que la primer opción que mencionaste es la mejor.
Saludos.
  #3 (permalink)  
Antiguo 27/04/2006, 11:04
Avatar de GERMANCIN  
Fecha de Ingreso: junio-2004
Mensajes: 151
Antigüedad: 19 años, 10 meses
Puntos: 0
Información Niveles de usuarios

En realidad los niveles son :

Promotores
usuarios normales
Musicos
Clubes y bares


cada uno de estos niveles o clase de usuarios tienen diferentes interfaces para subir su informacion personal a la pagina.

En total los usuarios podran subir fotos(galery), eventos, volantes de clubs, etc. Pero por ejemplo Los promotores no podran subir fotos, pero si podran subir eventos.. y como los musicos que podran subir fotos(Galery) pero no podran subir volantes de clubes. Entonces


¿¿¿¿¿¿La base de datos la hago asi ?????:

tabla usuarios
user_codigo
user_name
user_nick
user_clave
user_type ----> este es el typo de usuario que es : Promotor, musico, Clubes y bares

Tengo aparte las tablas:
Eventos Galery(fotos) Clubs


entonces luego relaciono los usuarios a la tabla que ese usurio pertenece.

usuario relacionado con eventos... porque ese usuario solo podra subir eventos.

Esta bien como he pensado para hacer la base??

Me ayudarion millon. de antemano agradezo a Notwen

y los demas que me vayan a contestar .
  #4 (permalink)  
Antiguo 27/04/2006, 11:16
Avatar de PequeñoMauro  
Fecha de Ingreso: abril-2006
Ubicación: Lima - Perú
Mensajes: 600
Antigüedad: 18 años
Puntos: 3
Una consulta, con que objetivo crearias esas tablas, tan solo para saber a que grupo pertenece???

Saludos...
__________________
"Nada en mis manos traigo tan solo a tu cruz me aferro....."
  #5 (permalink)  
Antiguo 27/04/2006, 11:35
 
Fecha de Ingreso: abril-2006
Mensajes: 268
Antigüedad: 18 años
Puntos: 2
Podrias crear una tabla permisos, donde con un campo boolean para cada accion (subir fotos, subir eventos, etc) donde ese campo indique si ese nivel tiene permiso para realizar esa accion. La tabla seria mas o menos asi:

Tabla permisos:
id --> id del nivel
desc --> descripcion textual del nivel (promotor, musico, etc)
subirfoto --> campo booleano que indica si ese nivel tiene permiso para subir fotos
subirevento --> igual al anterior
y asi para todas las acciones.

Y tu tabla de usuarios tendria un campor "nivel" que referenciar a la tabla permisos anterior. De esta manera podrás saber que permisos tiene cada usuario.
Saludos.
  #6 (permalink)  
Antiguo 27/04/2006, 12:04
Avatar de PequeñoMauro  
Fecha de Ingreso: abril-2006
Ubicación: Lima - Perú
Mensajes: 600
Antigüedad: 18 años
Puntos: 3
That's good Notwen, buena propuesta, bueno, yo te diria mas o menos como lo hacemos aqui donde trabajo Germancin, puedes quedarte con cualquiera de las dos, o las que los demás digan:

tendrias la tabla permiso (buena sugerencia), pero puedes crearte otra tabla eventos, en donde puedes guardar los eventos que se podrian hacer (subir fotos, subir música, etc).
En la tabla permiso iria:
permiso
id_permiso
id_evento
id_usuario
id_flag (si gustas puedes usar eso, 1 que pueda realizar el evento, 0 para que no lo haga) te preguntaras para que este campo?, quizás tengas un usuario que tenga un evento asignado, no se, quieres bloquearlo para que no suba nada por un determinado tiempo, entonces lo actualizas como 0, pero pasa un tiempo y quieres que nuevamente suba información, lo actualizas a 1, solo para no eliminar al usuario de la tabla.

evento
id_evento
nom_evento

niveles
id_nivel
nom_nivel
--Depende de ti si quieres usar esto

usuario
id_usuario
nom
id_nivel
etc....

En este caso yo crearia la tabla evento, por si tuvieras más eventos que realizar, es una exageración claro esta, pero imaginate que un usuario va a realizar 50 eventos, tendrias que crear 50 columnas....
Como repito, es una exageración, todo depende de lo que se necesite....

Bueno, espero que me hayas entendido, y que te ayude en algo....
Saludos
__________________
"Nada en mis manos traigo tan solo a tu cruz me aferro....."
  #7 (permalink)  
Antiguo 27/04/2006, 12:45
Avatar de GERMANCIN  
Fecha de Ingreso: junio-2004
Mensajes: 151
Antigüedad: 19 años, 10 meses
Puntos: 0
Esta clarisimo todo

Perfecto muchas gracias ..
Definitivamente podria hacer cualquiera de las dos opciones ...


Ahora tengo la base clarisima ... y las demas cosas las voy a restringir desde php .. eso no hay inconveniente.

muchas gracias muchachos
  #8 (permalink)  
Antiguo 27/04/2006, 13:36
Avatar de deadlykyo  
Fecha de Ingreso: noviembre-2005
Ubicación: Cbba - Bolivia
Mensajes: 747
Antigüedad: 18 años, 5 meses
Puntos: 5
Holas a todos, como comentario a las aportaciones que te hicieron ambas ideas son interesantes, pero me inclinaria mas por la PequeñoMauro, me parece mas extensible, ya que si alguna vez necesitas registrar un nuevo nivel, o otra combinacion de permisos, es mucho mas facil que tengas que registrar una fila nueva que modificar tu tabla, y asi te evita incluso el hecho de modificar tu codigo, pero ya tomando en cuenta todo el ambito de tus requerimientos puedes ver cual cubra todos tus requerimientos actualmente y pensando en futuro, saludos, cya
__________________
"El Conocimiento es de todos, no solo de algunos"
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:35.