Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   BD para ingreso porteria segun permisos (https://www.clubdelphi.com/foros/showthread.php?t=83517)

mjjj 26-06-2013 13:37:00

BD para ingreso porteria segun permisos
 
Estimados, utilizo Firebird 2.5, y se me presenta el problema de como estructurar mi BD para desarrollar una aplicación de permisos de usuarios.

Tengo el desafio de desarrollar una aplicación que registre en ingreso de distintos usuarios a algunas porterias, según permisos asignados.
Las tablas que ya tengo definidas son:

USUARIOS: id_usuario, nombres, apellido...
PORTERIAS: id_porteria, nombre...
USUARIO_PORTERIA: id_usuario, id_porteria, desde, hasta... (tabla que autoriza el ingreso, donde desde y hasta de tipo timestamp)

Esta estructura me funciona bastante bien para algunos usuarios, por ejemplo:
- Usuario 10, utiliza porteria 1 desde 01.01.2013-00:00:00 hasta 31.12.2013-23:59:59
- Usuario 2, utiliza porteria 2 desde 15.08,2013-00:08:00 hasta 18.08.2013-17:00:00
- Usuario 20, puede utilizar porterias 1, de lunes a viernes de 8 am hasta 17 pm (aqui se complica, ya que tendría que insertar un registro por cada día de semana del año, por usuario)

Como puedo plantear la estructura de la BD para evitar tener tantos registros?

Ojala se haya entendido mi problema, y me puedan ayudar a resolver esto de la mejor manera.
Gracias.

ElDioni 26-06-2013 16:50:31

Hola,

Podrías añadir otro campo a la tabla Usuario_Porteria que fuera DiasSemana de tipo VarChar, en tu programa tendrías checks con los días de la semana para marcar a que días corresponde el período que estás introduciendo, para guardarlos los guardarías con su inicial LMXJVSD, un caracter por día, si el horario fuera solo los lunes, miércoles y sabados se guardaría LXS, luego podría utilizar la función DayOfWeek (o algo así) que te dice que día de la semana es una fecha concreta.

Saludos.


La franja horaria es GMT +2. Ahora son las 04:39:06.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi