Formación informática

Java | Joomla | MySQL

Fundamentos de Desarrollo de Bases de Datos - Tema 5.6: solución de la Secretaría de Alumnos

Elección de entidades y sus atributos

De acuerdo al Universo del Discurso de nuestro problema, se deduce que va a haber un tipo de entidad alumnos, pero no cuáles son sus atributos.

En este punto nos surge una pregunta ¿Debe incluir las asignaturas en las que está matriculado? La respuesta es NO y hacerlo así sería un error grave. Aparte de la idea ‘filosófica’ (cada asignatura es un objeto con significado propio, es decir, una entidad), al mezclar en una sola entidad alumnos y asignaturas cometemos 4 errores:

  1. Un alumno no tiene una asignatura asociada sino un conjunto de asignaturas asociadas. En cambio, si tiene un DNI asociado, una dirección asociada, etc. Por tanto las entidades serán de la forma: {DNI=12345678V, Nomb.Ape=Luis Martínez, Telf.=01234567, Cod=MD, Titulo=Matemática Discreta, Créditos=9}; {DNI=12345678V, Nomb.Ape=Luis Martínez, Telf.=01234567, Cod=IS, Titulo=Ingeniería del Software, Créditos=X}; {DNI=12345678V, Nomb.Ape=Luis Martínez, Telf.=01234567, Cod=LPI, Titulo=Laboratorio de programación I, Créditos=X}. Además, tenemos el problema de la redundancia de datos.
  2. Las asignaturas son siempre las mismas, con lo que por cada alumno que se matricula en la misma asignatura hay que repetir toda la información:

{DNI=12345678V, Nomb.Ape=Luis Martinez, Telf.=01234567, …,

Asignaturas= {{Cod=MD, Titulo=…}, {COD=IS, Titulo=…}, {Cod=LPI, Titulo=…}}}

{DNI=0000001, Nomb.Ape=Eva Manzano, Telf.=01234567,…,

Asignaturas= {{Cod=MD, Titulo=…}, {COD=IS, Titulo=…}, {Cod=BDSI, Titulo=…}}}

Redundancia! (en la en. de las asignaturas).

  1. Por cada profesor hay que apuntar las asignaturas que imparte. La información de las asignaturas debe estar por tanto relacionada con la de los profesores, pero ya está incluida con los alumnos. Hay que repetir la información de las asignaturas. Esto implica más redundancia.
  2. No se pueden guardar los datos de una asignatura hasta que no se matricule un alumno en ella. Puede ser que en secretaria quieran meter los datos de las asignaturas antes de empezar el proceso de matrícula, pero de esta forma no pueden. Una solución sería incluirlos con los datos de los alumnos vacíos (nulos). Pero esto es una verdadera chapuza obra de Manolo y Benito. Por tanto, hay que distinguir entre el tipo de entidadalumnos y el tipo de entidad asignaturas. Ambas se relacionaran mediante un tipo de relaciónmatrícula.

De la misma forma, se puede comprender que el resto de entidades son los profesores y las aulas o clases dónde se imparten las asignaturas.

Para determinar los atributos de cada tipo de entidad, tenemos que saber la información que se quiere recoger de cada una de las entidades. Esto es lo que determina el número de atributos de cada entidad. Cada dato que se quiera recoger, dará lugar a un atributo.

  • Alumnos: DNI, Apellidos y Nombre, Domicilio, teléfono y COU.
  • Asignaturas: Código, Nombre y número de créditos.
  • Profesores: DNI, Apellidos y nombre, Domicilio y teléfono.
  • Aulas: Edificio, numero de clase.

Aún nos falta un atributo, que es la nota. ¿Dónde la ponemos? En alumnos NO puesto que un alumno tiene muchas notas relaciona. En asignaturas tampoco porque una asignatura la cursan muchos alumnos. La forma de representarlo es como un atributo del tipo de relación matrícula.

Elección de relaciones

El primer tipo de relación es matrícula que relaciona cada alumno con las asignaturas en las que está matriculado. Además, esta relación tiene un atributo, nota, que se asocia a cada tupla de la relación.

El segundo tipo de relación es supervisa que va de profesores a profesores y que incluye los papeles supervisor y supervisado.

La última es doble. Por un lado está la relaciona cada profesor con la asignatura que imparte y por otro el aula en la que da esa asignatura. Aquí también surgen varias posibilidades:

  1. Hacer 2 relaciones binarias. Por ejemplo: profesor imparte asignatura y asignatura se imparte en aulas.
  2. Hacer una relaciónternaria entre profesores, aulas y asignaturas.
  3. Hacer 3 relaciones binarias profesor-asignatura, profesor-aula, asignatura-aula.

Razones las diferencias existentes en cada caso:

  1. En las opciones a) y c) se permite que un profesor imparta una asignatura que aún no tiene aula. Pudiendo ser esto deseable o no.
  2. El problema de la opción a) es el siguiente. Rellenos unas tuplas para verlos mejor. Profesor-asignatura = { ({DNI=6666666, NombreYApe=Romulo Melon},{Cod=MD,….}) …} Asignatura-Aula = { ({Cod=MD….},{Edif=Mates, NumAula=S103}), ({Cod=MD….},{Edif=Biologicas, NumAula=104}) }

Estas relaciones son posibles, hay más de un curso de primero y por eso la misma asignatura se imparte en varias aulas. Ahora bien, Don Rómulo quiere saber en qué aula debe dar su clase de discreta, y pare ello pregunta en secretaria. ¿Que se le contesta?

Sin embargo, con la propuesta b) si se le puede asignar a cada profesor un aula concreta para cada una de sus asignaturas.

El problema de c) sigue siendo el mismo: Profesor-asignatura = { ({DNI=6666666, NombreYApe=Romulo Melon,…}, {Cod=MD,….}), ({DNI=6666666, NombreYApe=Romulo Melon,…},{Cod=IS,….}),…} Asignatura-Aula = { ({Cod=MD….}, {Edif=Mates, NumAula=S103}), ({Cod=MD….}, {Edif=Biologicas, NumAula=104}), ({Cod=IS….}, {Edif=Mates, NumAula=S103}), ({Cod=IS….}, {Edif=Biologicas, NumAula=104}) }

Profesor-Aula ={({DNI=6666666, NombreYApe=Romulo Melon,…}, {Edif=Mates, NumAula=S103}),

({DNI=6666666, NombreYApe=Romulo Melon,…}, {Edif=Biologicas, NumAula=104}),

…}

Don Romulo sabe que da 2 asignaturas, cada una en un aula, pero sigue sin saber a dónde tiene que ir a dar MD.

Conclusión:

Una relación ternaria tiene en general más información que 3 binarias.

Cardinalidades

Un alumno puede haberse matriculado en cualquier número de asignaturas. No hay restricción sobre asignatura en la relación matrícula. Fijada una asignatura, puede haberse matriculado sobre ella un número cualquiera de alumnos. No hay, por tanto, restricciones sobre el tipo de entidad alumnos en la relación matrícula.

El supervisor de un profesor, si lo tiene, es único. El tipo de entidades profesor, en el papel supervisor tiene cardinal <=1. El tipo de entidades profesor, en el papel supervisado no tiene ninguna restricción de cardinal debido a que un profesor puede supervisar a un número indeterminado de profesores.

Dado un profesor y una asignatura, existe a lo sumo (si es profesor de la asignatura) un aula en la que se imparte clase. Por lo tanto la restricción de cardinal mínima para aulas: <= 1. Un

Dada una asignatura y un aula, puede haber varios profesores (por ejemplo uno de manana y otro de tarde) o ninguno que impartan la misma asignatura en distintas clases.

Modelo entidad-relación Secretaría de Alumnos

Hemos visto que durante el diseño conceptual se nos han ido planteando problemas que no estaban aclarados desde el principio y que nos habían pasado inadvertidos al principio: dado un profesor y un aula, puede ser que el profesor imparta varias asignaturas en esa aula, o en ninguna.

Tema anterior: modelo entidad-relación extendido  Tema siguiente: guía de ejercicios resueltos diseño conceptual

Escribir un comentario

Aunque los comentarios no expresan la opinión del administrador del sitio web, éste si que tiene una responsabilidad legal sobre lo que aparece. Por lo tanto, habrá una labor de moderación de los mensajes. No se permitirán mensajes ofensivos ni publicidad


Código de seguridad
Refescar

Solicitamos su permiso para obtener datos estadísticos de su navegación en esta web, en cumplimiento del Real Decreto-Ley 13/2012, de 30 de marzo. Si continúa navegando consideramos que acepta el uso de cookies. . Más información