> For the complete documentation index, see [llms.txt](https://doc.velneo.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.velneo.com/31/velneo-vdevelop/analisis-de-bases-de-datos-para-aplicaciones-de-velneo/gestion-de-un-colegio.md).

# Gestión de un colegio

## Gestión de un colegio

### Conceptos a tratar

* Enlaces [singular](/31/velneo-vdevelop/proyectos-objetos-y-editores/proyecto-de-datos/tabla/enlace.md#maestro) y [plural](/31/velneo-vdevelop/proyectos-objetos-y-editores/proyecto-de-datos/tabla/plural.md).
* Tablas [arboladas](/31/velneo-vdevelop/proyectos-objetos-y-editores/proyecto-de-datos/tabla.md#maestro-normal-con-clave-arbolada) y [submaestras](/31/velneo-vdevelop/proyectos-objetos-y-editores/proyecto-de-datos/tabla.md#submaestro).
* [Tablas estáticas](/31/velneo-vdevelop/proyectos-objetos-y-editores/proyecto-de-datos/tabla-estatica.md).

### Descripción

Realizamos el análisis de una base de datos que permitirá gestionar la organización de un colegio. Dicha aplicación debe relacionar los aspectos fundamentales de un colegio: alumnos, profesores, materias, asignaturas, cursos, secciones, aulas, días lectivos y horarios. Esta aplicación debe responder, entre otras muchas, a consultas como: ¿cuál es el cuadro semanal de clases de un alumno?, ¿y el de un profesor?, ¿cuáles son los alumnos de un profesor?, ¿y los profesores de un alumno?, etc.

### Esquema de la aplicación

![](/files/-M7D7CmoJZD2MWoBPxj4)

Hemos de crear las tablas siguientes: ESTUDIANTES, PROFESORES, MATERIAS, ASIGNATURAS, CURSOS, SECCIONES y AULAS.

Los registros de las tablas CURSOS, ESTUDIANTES, MATERIAS, PROFESORES, AULAS y ASIGNATURAS necesitan identificarse uno a uno de forma inconfundible, de modo que las tablas han de definirse como [maestras de tipo normal con clave numérica](https://doc.velneo.com/31/velneo-vdevelop/analisis-de-bases-de-datos-para-aplicaciones-de-velneo/pages/-M7D76ml9ceGyVOhCei4#maestro-normal-con-clave-numérica), con la salvedad de la tabla MATERIAS. MATERIAS podría recoger, por ejemplo, el ciclo educativo, la materia en sí y el curso de impartición de una asignatura. Para este fin son ideales las tablas [arboladas](/31/velneo-vdevelop/proyectos-objetos-y-editores/proyecto-de-datos/tabla.md#maestro-normal-con-clave-arbolada), en las que el campo código se comporta del siguiente modo:

* El primer dígito del código actúa como dígito raíz.
* Cada uno de los valores que recibe el primer dígito abre nuevas ramas del árbol.
* De igual modo, los nuevos dígitos que añadimos al código abren nuevas sub-ramas del árbol (por ejemplo, el código PL2 podría indicar: ciclo primario, materia literatura, 2º curso del ciclo).

Las asignaturas de un curso se definen con la materia, el profesor y el aula en que se imparten, por lo que estableceremos un enlace singular-plural con cada una de las tablas correspondientes, incluyendo la tabla CURSOS.

Las secciones en las que se divide un curso y que agrupan a los alumnos no pueden existir si no es perteneciendo a un curso, por lo que declararemos la tabla SECCIONES como [submaestra](/31/velneo-vdevelop/proyectos-objetos-y-editores/proyecto-de-datos/tabla.md#submaestro) de CURSOS. De esta forma, el código de una sección se formará con el código de la tabla maestra (CURSOS) y el propio código de la tabla SECCIONES.

Aún nos falta por introducir en el análisis los días lectivos y los horarios. Para ello haremos uso de dos tablas estáticas, una en la que guardaremos los días de la semana (tabla DIAS) y otra en la que cada registro indicará el horario del colegio (tabla HORARIO) con un formato del tipo 8:15 a 9:00, 9:15 a 10:00, etc.

Una vez introducidas las tablas estáticas crearemos dos campos en la tabla ASIGNATURAS, uno llamado DIA, enlazado a la tabla estática DIAS, y otro al que llamaremos HORA, enlazado a la tabla estática HORAS.
