[Php-avanzado] Normalizacion

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Lun Dic 12 23:16:11 ART 2011


Hola Pablo,

	recién puedo ver esto.

	Te paso unas correcciones:

- en asistencias, si bien tal y como pusiste hace falta guardar el
nombre del taller y del plan, también guardá los IDs de ambas cosas,
porque si no no se pueden distinguir homónimos.
	Las horas y las fechas, si no entiendo mal lo que estás planteando, te
va a dar problemas así (además de que no respeta la normalización.
Deberías tener un campo hora_entrada y otro hora_salida de tipo
datetime, y no extra de tipo fecha.
	Si después no lo querés mostrar así, lo parseás y lo mostrás
diferente... la visualización de la información siempre es acomodable.

- en faltas_justificadas te falta el id_evento, y te sobra nombre y
apellido del alumno: como los registrás, no se pueden borrar, y como en
"asistencias" no tiene sentido el campo.

- en planes, renombrá el campo hora_por-dia a hora_por_dia... ese guión
te va a traer 4 dolores de cabeza...

	El resto se ve bien!

	Para qué usás formato InnoDB si no definís ninguna integridad
referencial ?


	Saludos!


El vie, 02-12-2011 a las 11:33 -0300, pablo beroiza escribió:
> Leo! Te adjunto el archivo .sql.
> 
> 
> Saludos!!!
> 
> El 30 de noviembre de 2011 16:17, Leonardo Tadei - Pegasus Tech Supply
> <leonardot en pegasusnet.com.ar> escribió:
>         Hola Pablo,
>         
>         El dom, 27-11-2011 a las 17:34 -0300, pablo beroiza escribió:
>         > Hola Leo! Te envio las correcciones. Reemplace el nombre de
>         la entidad
>         > "CURSO" por "PROMOCION" nose si es la adecuada, si no,
>         tirame unos
>         > nombres y la cambio.
>         
>         
>                "Promoción" a mi me suena mucho mejor que "Curso".
>                Tal vez revolviendo un poco surja una palabra mejor,
>         pero no manejo
>         tanto el lenguaje escolar para sugerir una ahora :(
>         
>         
>                La Normalización se ve bien y acorde con la SRS.
>                La guardo para futura referencia.
>         
>                Adelante con las pantallas y con la lógica de la
>         aplicación!
>         
>         
>         PD: si querés, enviame una exportación de las tablas creadas
>         para ver
>         los tipos de campos que usaste.
>         
>         
>         > Saludos!
>         >
>         >
>         > Control de entrada y salida
>         >
>         >
>         > Este sistema se realiza con el fin de optimizar el proceso
>         de
>         > recoleccion, actualizacion y administracion de los datos de
>         hora
>         >
>         >
>         > de entrada y hora de salida de cada taller.
>         > La realizacion de este sitema se basa en la creciente
>         necesidad de
>         > gestionar la informacion desde cualquier pc en la intranet.
>         > Los usuarios finales obtendran al usar este producto la
>         ventaja de
>         > tener la informacion de las horas trabajadas en el momento
>         >
>         >
>         > y lugar que se requiera por intermedio de una aplicacion
>         web.
>         >
>         >
>         > Requerimientos funcionales
>         >
>         >
>         > 1 - El sistema debe gestionar jefes.
>         > 2 - El sistema debe gestionar talleres con su jefe[1].
>         > 3 - El sistema debe gestionar planes.
>         > 4 - El sistema debe gestionar promocines
>         > 5 - El sistema debe registrar alumnos con sus talleres[2] ,
>         su
>         > plan[3], su promocion[4].
>         > 6 - El sistema debe modificar alumnos con sus talleres[2] ,
>         su
>         > plan[3], su promocion[4].
>         > 7 -  El sistema debe gestionar dias no laborables.
>         > 8 - El sistema debe gestionar periodos de tiempo.
>         > 9 - El sistema debe registrar asistencia de los alumnos.
>         > 10 - El sistema debe mostrar las horas trabajadas por
>         alumno.
>         > 11 - El sistema debe gestionar eventos.
>         > 12 - El sistema debe registrar las faltas justificadas con
>         su
>         > evento[10], por alumno.
>         > 13 - El sistema debe manejar promocion de un curso.
>         >
>         >
>         > Requerimientos no funcionales
>         >
>         >
>         > 1 - El ingreso al sistema estara restringido por usuario y
>         contraseña.
>         >
>         >
>         > Diccionario
>         >
>         >
>         > JEFESTALLERES (nombre, apellido, fecha_nac)
>         > TALLERES (nombre, jefe)
>         > PROMOCIONES (nombre) Nivel de secundario (Ej.1º,2º, 5°,
>         pase,
>         > egresadoetc)
>         > PLANES (nombre, hora_por_dia) Los alumnos cumplen horas
>         independiente
>         > de los talleres que asisten.
>         > PERIODOS (fecha_inc, fecha_fin) Fecha predefinida para una
>         consulta
>         > (Ej. 01/02/211 - 30/05/2011)
>         > FERIADOS (fecha,nombre) Dias que no se sumarian
>         > ALUMNOS (nombre, apellido, fecha_nac, taller, fecha_ingreso,
>         plan,
>         > curso, alumno_activo)
>         > ASISTENCIAS (alumno, taller, plan, hora_entrada,
>         hora_salida,
>         > comentario,)
>         > EVENTOS (nombre) Nombre de la falta (Ej. campamento, salida
>         coro, etc)
>         > FALTAS_JUSTIFICADAS (alumno, fecha, evento)
>         >
>         >
>         >
>         >
>         > Cardinalidad
>         > TALLERES 1------1 JEFESTALLERES
>         > TALLERES N------M ALUMNOS
>         > CURSOS 1--------N ALUMNOS
>         > PLANES 1--------N ALUMNOS
>         > EVENTOS 1------1 FALTAS_JUSTIFICADAS
>         >
>         >
>         > Normalizacion:
>         >
>         >
>         > EVENTOS (id_evento, nombre)   FALTAS_JUSTIFICADAS
>         (id_falta_just,
>         > nombre_evento, alumno, fecha )
>         >
>         >
>         > PERIODOS (id_periodo, fecha_inc, fecha_fin)   FERIADOS
>         (id_feriado,
>         > fecha, nombre)
>         >
>         >
>         > JEFESTALLERES (id_jefe_taller, nombre, apellido, fecha_nac)
>          TALLERES
>         > (id_taller, id_jefe_taller, nombre )
>         >
>         >
>         > PROMOCIONES  (id_curso, nombre)  PLANES (id_plan, nombre,
>         > hora_por_dia)
>         >
>         >
>         > TALLER_ALUMNO (id_taller_alumno, id_taller, id_alumno)
>         Entidad que une
>         > "alumnos" y "talleres"
>         >
>         >
>         > ALUMNOS (id_alumno, nombre, apellido, fecha_nac,
>         fecha_ingreso,
>         > id_plan, id_curso, alumno_activo)
>         >
>         >
>         > ASISTENCIAS(id_asistencia, id_alumno, taller, nombre_plan,
>         > Horas_por_dia, hora_entrada, hora_salida, comentario)
>         >
>         > El 25 de noviembre de 2011 22:16, Leonardo Tadei - Pegasus
>         Tech Supply
>         > <leonardot en pegasusnet.com.ar> escribió:
>         >         Hola Pablo,
>         >
>         >         El vie, 25-11-2011 a las 12:29 -0300, pablo beroiza
>         escribió:
>         >         > Hola Leo! Mando la normalización con los cambios
>         que
>         >         charlamos el
>         >         > Jueves. Hay una cosa que no entendi con respecto a
>         las
>         >         promociones de
>         >         > los alumnos, si había que ponerle un atributo mas
>         a la
>         >         entidad
>         >         > "ALUMNO". Si me lo podes explicar lo hago.
>         >
>         >
>         >                No era un atributo más al alumno. Lo que
>         charlamos fue
>         >         sobre
>         >         generalizar (y ponerle un nombre más adecuado) a la
>         tabla
>         >         Cursos para
>         >         que puedan contener 1ro, 2do, 3ro, 4to, 5to, Pase y
>         Egresado,
>         >         de manera
>         >         tal de poder mantener el registro de las horas de
>         los talleres
>         >         incluso
>         >         para alumnos que egresen o que cambien de escuela.
>         >
>         >                Pasando a la normalización, a la tabla
>         Alumnos le sobra
>         >         el campo
>         >         id_taller: si es una relación N-M se almacena tal y
>         como
>         >         hiciste en una
>         >         tabla aparte, ergo el campo no tiene sentido en la
>         tabla
>         >         Alumnos.
>         >
>         >                El resto se ve bien!
>         >
>         >                Con estos ajustes, la versión que viene
>         debería ser la
>         >         última!!
>         >
>         >
>         >         >
>         >         > Control de entrada y salida
>         >         >
>         >         >
>         >         > Este sistema se realiza con el fin de optimizar el
>         proceso
>         >         de
>         >         > recoleccion, actualizacion y administracion de los
>         datos de
>         >         hora de
>         >         > entrada y hora de salida de cada taller.
>         >         > La realizacion de este sitema se basa en la
>         creciente
>         >         necesidad de
>         >         > gestionar la informacion desde cualquier pc en la
>         intranet.
>         >         > Los usuarios finales obtendran al usar este
>         producto la
>         >         ventaja de
>         >         > tener la informacion de las horas trabajadas en el
>         momento y
>         >         lugar que
>         >         > se requiera por intermedio de una aplicacion web.
>         >         >
>         >         >
>         >         > Requerimientos funcionales
>         >         >
>         >         >
>         >         > 1 - El sistema debe gestionar jefes.
>         >         > 2 - El sistema debe gestionar talleres con su
>         jefe[1].
>         >         > 3 - El sistema debe gestionar planes.
>         >         > 4 - El sistema debe gestionar cursos.
>         >         > 5 - El sistema debe registrar alumnos con sus
>         talleres[2] ,
>         >         su
>         >         > plan[3], su curso[4].
>         >         > 6 - El sistema debe modificar alumnos con sus
>         talleres[2] ,
>         >         su
>         >         > plan[3], su curso[4].
>         >         > 7 -  El sistema debe gestionar dias no laborables.
>         >         > 8 - El sistema debe gestionar periodos de tiempo.
>         >         > 9 - El sistema debe registrar asistencia de los
>         alumnos.
>         >         > 10 - El sistema debe mostrar las horas trabajadas
>         por
>         >         alumno.
>         >         > 11 - El sistema debe gestionar eventos.
>         >         > 12 - El sistema debe registrar las faltas
>         justificadas con
>         >         su
>         >         > evento[10], por alumno.
>         >         > 13 - El sistema debe manejar promocion de un
>         curso.
>         >         >
>         >         >
>         >         > Requerimientos no funcionales
>         >         >
>         >         >
>         >         > 1 - El ingreso al sistema estara restringido por
>         usuario y
>         >         contraseña.
>         >         >
>         >         >
>         >         > Diccionario
>         >         >
>         >         >
>         >         > JEFESTALLERES (nombre, apellido, fecha_nac)
>         >         > TALLERES (nombre, jefe)
>         >         > CURSOS (nombre) Nivel de secundario (Ej.1º,2º,
>         etc)
>         >         > PLANES (nombre, hora_por_dia) Los alumnos cumplen
>         horas
>         >         independiente
>         >         > de los talleres que asisten.
>         >         > PERIODOS (fecha_inc, fecha_fin) Fecha predefinida
>         para una
>         >         consulta
>         >         > (Ej. 01/02/211 - 30/05/2011)
>         >         > FERIADOS (fecha,nombre) Dias que no se sumarian
>         >         > ALUMNOS (nombre, apellido, fecha_nac, taller,
>         fecha_ingreso,
>         >         plan,
>         >         > curso, alumno_activo)
>         >         > ASISTENCIAS (alumno, taller, plan, hora_entrada,
>         >         hora_salida,
>         >         > comentario,)
>         >         > EVENTOS (nombre) Nombre de la falta (Ej.
>         campamento, salida
>         >         coro, etc)
>         >         > FALTAS_JUSTIFICADAS (alumno, fecha, evento)
>         >         >
>         >         >
>         >         >
>         >         >
>         >         > Cardinalidad
>         >         > TALLERES 1------1 JEFESTALLERES
>         >         > TALLERES N------M ALUMNOS
>         >         > CURSOS 1--------N ALUMNOS
>         >         > PLANES 1--------N ALUMNOS
>         >         > EVENTOS 1------1 FALTAS_JUSTIFICADAS
>         >         >
>         >         >
>         >         > Normalizacion:
>         >         >
>         >         >
>         >         > EVENTOS (id_evento, nombre)   FALTAS_JUSTIFICADAS
>         >         (id_falta_just,
>         >         > nombre_evento, alumno, fecha )
>         >         >
>         >         >
>         >         > PERIODOS (id_periodo, fecha_inc, fecha_fin)
>         FERIADOS
>         >         (id_feriado,
>         >         > fecha, nombre)
>         >         >
>         >         >
>         >         > JEFESTALLERES (id_jefe_taller, nombre, apellido,
>         fecha_nac)
>         >          TALLERES
>         >         > (id_taller, id_jefe_taller, nombre )
>         >         >
>         >         >
>         >         > CURSOS  (id_curso, nombre)  PLANES (id_plan,
>         nombre,
>         >         hora_por_dia)
>         >         >
>         >         >
>         >         > TALLER_ALUMNO (id_taller_alumno, id_taller,
>         id_alumno)
>         >         Entidad que une
>         >         > "alumnos" y "talleres"
>         >         >
>         >         >
>         >         > ALUMNOS (id_alumno, nombre, apellido, fecha_nac,
>         id_taller,
>         >         > fecha_ingreso, id_plan, id_curso, alumno_activo)
>         >         >
>         >         >
>         >         > ASISTENCIAS(id_asistencia, id_alumno, taller,
>         nombre_plan,
>         >         > Horas_por_dia, hora_entrada, hora_salida,
>         comentario)
>         >         >
>         >         >
>         >
>         >         > _______________________________________________
>         >         > Php-avanzado mailing list
>         >         > Php-avanzado en pato2.fi.mdp.edu.ar
>         >         >
>         >
>         http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>         >
>         >         --
>         >         Leonardo Tadei
>         >         leonardot en pegasusnet.com.ar
>         >         Blog: http://blog.pegasusnet.com.ar
>         >         Firma pública:
>         >
>         http://www.pegasusnet.com.ar/LeonardoTadei-public.key
>         >
>         >         _______________________________________________
>         >         Php-avanzado mailing list
>         >         Php-avanzado en pato2.fi.mdp.edu.ar
>         >
>         http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>         >
>         > _______________________________________________
>         > Php-avanzado mailing list
>         > Php-avanzado en pato2.fi.mdp.edu.ar
>         >
>         http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>         
>         --
>         Leonardo Tadei
>         leonardot en pegasusnet.com.ar
>         Blog: http://blog.pegasusnet.com.ar
>         Firma pública:
>         http://www.pegasusnet.com.ar/LeonardoTadei-public.key
>         
>         _______________________________________________
>         Php-avanzado mailing list
>         Php-avanzado en pato2.fi.mdp.edu.ar
>         http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado
>         
> 
> 
> _______________________________________________
> Php-avanzado mailing list
> Php-avanzado en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado

-- 

Leonardo Tadei
leonardot en pegasusnet.com.ar
Pegasus Tech Supply
Tel: (+54)(+223) 471-2880
La Salle 1131 - Mar del Plata - Argentina
http://www.pegasusnet.com.ar / http://blog.pegasusnet.com.ar
http://www.prometeustech.com.ar / http://www.grupopegasus.com
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key



Más información sobre la lista de distribución Php-avanzado