[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