Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: gst129 en 09 de Abril 2018, 04:14
-
Buenas tengo algunas dudas respecto a mi diseño de base de datos... mis tablas son las siguientes
Nivel: CodigoNivel FK - Curso - Aula
Materia: CodigoMateria FK - CodigoNivel PK - CedulaDocente PK - NombreMateria
Docente: CedulaDocente FK - Nombre - Apellido - Contraseña
Alumno: CedulaAlumno FK - CodigoNivel PK - Nombre - Apellido - Contraseña
Nota: CodigoNota FK - CodigoMateria PK - CedulaAlumno FK - Trimestre - Nota
resulta que no se donde agregar y como el periodo escolar lo que seria el año para al momento de terminar el año escolar cambiar los alumnos a un nuevo curso como por ejemplo pasarlos de 7A a 8A y asi sucesivamente y que queden guardadas las notas del año escolar viejo
-
Buenas, por si alguien lee este hilo: para tener almacenadas las notas de los años escolares necesitamos almacenar junto a la nota el año escolar al que pertenece dicha nota. Por ejemplo supongamos que 20962097 significara año escolar dos mil noventa y seis - dos mil noventa y siete. Parece que lo más razonable sería almacenarlo en la tabla Nota, que tendría como campos:
Nota: CodigoNota FK - CodigoMateria PK - CedulaAlumno FK - Nota - Trimestre - AñoEscolar
De esta forma se podrían consultar las notas de cierto alumno para cierto año escolar (y trimestre si se quiere).
En lo referente al cambio de alumno de curso, dado que CodigoNivel está asociado a un curso y en la tabla Alumno CodigoNivel está presente, basta con cambiar el CodigoNivel en la tabla Alumno para cambiar el alumno de curso.
Desde mi punto de vista faltarían claves para tablas como docente o alumno. Cada docente creo que sería conveniente que llevara un IdDocente y cada alumno un IdAlumno. Podría pensarse en usar la cédula como clave, pero no es recomendable por varios motivos, entre otros que sería un dato a introducir por un humano y por tanto sería susceptible de error, cosa que no ocurre cuando se establece la clave como autoincremental en la base de datos.
Salu2