[Php-avanzado] Normalizacion BD Registro Cursadas
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Mar Dic 4 23:59:37 ART 2012
Hola Cesar,
te hago unos comentarios intercalados sobre la normalización:
El mar, 04-12-2012 a las 00:16 -0300, CesarMM andrada escribió:
> *Bases de Datos Registro de Cursadas
>
>
> -Carreras: #id, nombre.
>
> -Materias: #id, nombre.
>
> -Carreras_Materias: #id, id_Carreras, id_Materias.
Estás planteando entre Carreras y Materias una relación N-N, pero según
tu SRS la relación es 1-N.
La tabla Carreras_Materias está de más, porque basta con agregar a la
tabla Materias un campo que haga referencia a la Carrera.
> -Localidad: #id, Código Postal, nombre.
>
> -Alumnos: #id, DNI, Apellido, Nombre, fecha de nacimiento, Dirección,
> Teléfono, E-mail, id_Localidad.
>
> -Profesores: #id, matricula, Apellido, Nombre, Dirección, Teléfono,
> E-mail, id_Localidad.
>
> -Inscripciones: #id, fecha, id_Alumno, id_Carrera.
Acá, al tener solo una referencia al alumno y la carrera, y por tu
especificación, deberías poner más datos del alumno y de la carrera, ya
que si se borra alguno de ellos te quedaría una inconsistencia.
Me parece que en este problema el guardar una inscripción es algo
bueno, y este dato entonces debería quedar independientemente de que
existan o no los alumnos y las carreras.
Si es de otra manera, dame más contexto para entender mejor el alcance
del sistema.
> -Días: #id, día.
>
> -Cursadas Profesores: #id, id_día, horario inicio, horario finalizado,
> id_Materias, id_Profesores.
Es un detalle, pero es importante que los nombres de los campos estén
en singular, porque sino uno se distrae y le parece que en vez de un
dato se referencia a varios datos.
> -Cursadas Alumnos: #id, id_Cursadas_Profesores, id_Alumnos.
>
> -Tipos Evaluaciones: #id, descripción.
>
> //ej.: tipos de evaluaciones:1°parcial, 2°parcial,
> final.
>
> -Planificaciones Evaluaciones: #id, fecha y hora,
> id_Tipo_Evaluaciones, id_Cursadas_Profesores.
>
> -Registros de Notas: #id, Nota, id_Planificaciones_Evaluaciones,
> id_Cursadas_Alumnos.
No podés guardar acá solo ID, porque especificás que las cursadas de
alumnos y las planificaciones de evaluaciones (que en tu SRS se llaman
"exámenes de cursada") se pueden gestionar, es decir editar y borrar,
por lo que se te pierde la información relacionada de la cursada y de
todo lo relacionado con ella: te queda una nota huérfana, y las notas
solo se registran y muestran.
Para terminar, poné también las tablas referentes al RNF del login, así
veo todo en conjunto.
Saludos!
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
Web: http://leonardo.tadei.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-avanzado