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

Consulta sobre el diseño de una BD

Estas en el tema de Consulta sobre el diseño de una BD en el foro de Mysql en Foros del Web. Buenas!! antes que nada feliz año nuevo!! Una consulta... estoy haciendo un control de asistencia para unas 10 personas..para luego ver si se implementa de ...
  #1 (permalink)  
Antiguo 01/01/2013, 11:54
 
Fecha de Ingreso: diciembre-2012
Mensajes: 33
Antigüedad: 11 años, 3 meses
Puntos: 0
Consulta sobre el diseño de una BD

Buenas!! antes que nada feliz año nuevo!!
Una consulta... estoy haciendo un control de asistencia para unas 10 personas..para luego ver si se implementa de forma masiva a casi 600 personas.
Estoy teniendo dificiultades al diseñar la BD, no en la creacion en si, sino en como la puedo estructurar para que sea mas eficiente.
Al dia de hoy tengo una tabla donde estan los datos
ID_partedeasistencia
Empleado1
Empleado2
Empleado3...
Fecha

Cada vez que inicio el sistema en PHP, hago click en un checkbox para los que estan y actualizo los valores y los pasa a "presente". Luego, aquellos empleados que no tengan "presente" son mostrados como ausentes en el informe diario al responsable del area.
La consulta es... como puedo diseñar correctamente la BD? Hasta ahora funciona todo... y es practico para 10 personas... pero tiene que haber una mejor forma de hacer el diseño de la misma. Alguna sugerencia?
  #2 (permalink)  
Antiguo 02/01/2013, 06:06
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años
Puntos: 58
Respuesta: Consulta sobre el diseño de una BD

Si describes un poco mejor lo que quieres hacer mejor porque puedo darte ideas pero tal vez no las que tu tenías en mente.

Cómodo sería darles una tarjeta con un código QR o código de barras y que lo pasaran por el ordenador al llegar y se pusiera automáticamente como asistencia. O incluso una simple clave que cada empleado tenga que poner en el ordenador al entrar. A no ser que no usen ordenador.

Claro, 600 empleados tienen su miga, por eso digo que lo ideal es que cada uno vea por si mismo. Ahora, si lo tiene que hacer otra persona y sin lo del código de barras, una opción es poner unas fotos bien grandes, si es que tienes, y nombre de cada empleado en una única pantalla. Al ir pinchando en cada una que se vayan marcando como que han asistido y también que desaparezcan de dicha pantalla.

En cuanto a la base de datos por lo que solo te interesa saber día a día quien asiste o no. Yo creo que algo así iría bien. No se puede hacer en una única tabla porque habría un montón de datos duplicados.

Tabla persona
id_persona
nombre
etc

Tabla fecha
id_fecha
fecha (Con un datetime y sabrás también a que hora entró)

Luego si buscas un día en concreto te saldrán los empleados que hayan ido ese día. Podrás filtrar por año, meses o lo que quieras y contar el número de asistencias totales etc...
  #3 (permalink)  
Antiguo 02/01/2013, 06:12
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Consulta sobre el diseño de una BD

En referencia a la bbdd

Tabla persona
id_persona
nombre
etc

Tabla fecha
id_persona
fecha (Con un datetime y sabrás también a que hora entró o salió)

Supongo que fue un error.

Con esto se puede hacer un control de entradas y salidas....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #4 (permalink)  
Antiguo 02/01/2013, 06:19
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años
Puntos: 58
Respuesta: Consulta sobre el diseño de una BD

Si, de hecho estaba intentando editar pero ya ví que era tarde.

Aunque la verdad iba a poner
Tabla fecha
id_fecha
fecha
id_persona

Pero es cierto que con id_persona llega
  #5 (permalink)  
Antiguo 02/01/2013, 06:43
 
Fecha de Ingreso: diciembre-2012
Mensajes: 33
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Consulta sobre el diseño de una BD

Buen dia! Antes que nada gracias por las respuestas, me estan orientando muy bien.
REespecto a lo de las fotos... estaria bueno hacerlo! pero me parece que excede mis conocimientos! Lo del codigo QR me parece mas aplicable, lo voy a proponer!
Mientras tanto, aclaro la pregunta asi pueden seguir ayudandome.

La idea es que el jefe del area, todos los dias, tenga un sistema en PHP con los nombres de los empleados a su cargo con un checkbox.
Actualmente la intranet tiene un sistema de login, mensajes, privilegios, etc.
Luego de hacer click en los empleados que estan presentes, se registra y se emite el parte de asistencia diaria donde solamente aparecen los ausentes. Este parte es enviado al area de personal para su conocimiento, siempre por medio de intranet.

Respecto del diseño de la BD todavia es un gran dolor de cabeza para mi, ya que de momento, con el diseño que hice funciona muy bien.. esta tarde voy a probar las propuestas de ustedes a ver si me resulta practico.

Una vez que funcione, tengo que ir filtrando y optimizandolo, ya que hay una alta rotacion de personal (el personal no está demasiado tiempo en el mismo lugar, por lo que, el jefe que debe informar su asistencia, va a cambiar constantemente)..pero bueno..eso es otra historia.. por lo pronto quiero centrarme en tener al menos, un diseño basico que funcione eficientemente.

Si tienen alguna otra sugerencia me vendria muy bien! de todos modos voy a probar lo que me sugirieron recien. Un abrazo!
  #6 (permalink)  
Antiguo 02/01/2013, 06:49
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Consulta sobre el diseño de una BD

TablaPersonal
id_persona (not null)
nombre
...

TabalDepartamentos
idDepartamento (not null)
nombreDep (not null)
...

TablaRelacionPersonalDepartamento <--- periodos de pertenencia de una persona a un departamento
id_persona (not null)
idDepartamento (not null)
fechaAlta (not null)
fechaBaja
cargo <---- 1 jefe 0 empleado (not null)

TablaAsistencia
id_persona (not null)
fecha (not null)

Esto te permitirá una relacion N:M entre personas y departamentos y saber quien es el jefe y quienes sus empleados en un dia determinado.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 02/01/2013 a las 07:14

Etiquetas: bd, diseño, php, tabla
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 04:15.