Diseno Base De Datos

Diseño de la Base de Datos

Especificación de requisitos

• Deseamos crear una base de datos para el departamento de Sistemas Informáticos y Computación con las asignaturas que imparte y su profesorado.
• Por cada profesor del departamento, identificado por un código único, deseamos almacenar su nombre, su categoría (prioridad) así como un mail de contacto y una contraseña para el acceso a la aplicación Web. Tambien será necesario especificar si es un profesor o un ayudante, ya que sus asignaturas son diferentes.
• Por cada asignatura, identificada por un código único, almacenaremos la el centro que la imparte(Informatica,Matematicas), titulación donde se imparte ( II, IGest, ISist ), curso ,nombre, el grupo y el cuatrimestre. También incluirá si corresponde a un profesor o un ayudante y los créditos referidos solo a estos parametros, y no los creditos del total de la asignatura. Por ultima almacenaremos la información de horario, edificio y aula del mismo.
• El administrador de la base de datos identificado por un código almacenara al menos una contraseña.
• Queremos almacenar para cada profesor las asignaturas elegidas por él y al contrario, para cada asignatura qué profesor la imparte.

Modelo Entidad-Relación

Tabla entidades

Entidad Descripción Atributos Clave
Personal Profesorado del departamento Código, nombre, categoría, mail, contraseña,profesor/Ayudante Código
Asignatura Asignaturas impartidas por el departamento Código, centro, titulación, curso, nombre, grupo, cuatrimestre,profesor/ayudante, créditos, horario, edificio, aula Código
Administrador Administrador de la aplicación Web Código y contraseña Código

Tabla relaciones

Relación Descripción Entidades involucradas Atributos
Imparte Asocia un profesor a una asignatura Personal y Asignaturas

Diagrama Entidad-Relación inicial

EntidadRelacionc.JPG

Simplificaciones

Considerando que el administrador de la aplicación será normalmente un miembro del departamento, podemos integrar la entidad administrador dentro de personal, añadiendo a esta un nuevo atributo, administrador, de tipo booleano.

Diagrama Entidad-Relación final

EntidadRelacion2.JPG

Modelo Relacional

El modelo relacional se obtiene de manera directa, y de él sacaremos las tablas a realizar en nuestra base de datos.Como en la relacion Imparte el elemento Asignatura tiene una relacion de 0-1, podemos ahorrarnos la tabla de Imparte e incluir la clave de Personal dentro de la Tabla Asignatura, pudiendo ser este atributo Nulable. Quedaría así:

Personal ( Código, Nombre, Administrador, Contraseña, Categoría, Mail )

Asignaturas ( Código,Centro, Titulación, Curso, Nombre, Cuatrimestre, Grupo, Profesor/Ayudante, Créditos, Horario, Edificio, Aula, CodigoPersonal )

Normalización

Ampliaciones

Una vez investigadas todas las tecnologias a usar y debido a algunos requisitos funcionales necesarios en la aplicación web, ha sido necesario introducir una serie de parametros adicionales a nuestra definición inicial de la base de datos.

  • En primer lugar, para el envio de mail mediante Jmail es necesario tener almacenados una serie de parametros de configuracion para que esta aplicación pueda realizar el envio de mails. Estos parámetros seria :
    • Cuenta de correo electronico que enviará los mails.
    • Contraseña de dicha cuenta.
    • Servidor smtp de la cuenta de correo.
    • Puerto usado por este servidor para el envio de emails, normalmente el 25, pero cambia en algunos casos.
    • Si es requerida o no la autentificación de la cuenta.

Estos parametros se incluirian dentro una entidad propia, CorreoMail.

  • Nuestra aplicación requeria ser configurablepara ciertos parametros tipicos, que pueden cambiar de un año para otro. Para poder llevar un control sobre estas configuraciones, se decidio crear una nueva tabla, INFOADMIN, donde alamacenar la configuracion elegida para una determinada elección de docencia- Esta tabla incluye los siguientes parametros:
    • estadoproceso : para poder saber en que estado se encuentra la eleccion de docencia. Estos estados seria antes de haber comenzado, estando ya en prceso, y ya terminado.
    • pagina web: contiene la direccion web donde se encuentra alojada la aplicacion, para poder comunicarsela a los participantes y que puedan acceder a ella.
    • tipo de aplicacion : Hay dos formas de usar la aplicacíon, de una manera lineal, como se viene haciendo hasta ahora, o de una manera en paralelo.
    • epsilon : valor necesario para el calculo de valor de creditos minimo para matricularse.
    • primersisinf : incentivo a la primera asignatura de sistemas informaticos que se ha matriculado.
    • numerosisinf : cantidad maxima de asignaturas de sistemas informaticos que se le permite matricular a un profesor.
    • maxcredfrag : maximo número de credits quese le permite coger a un profesor cuando fragmenta una asignatura.
    • doctoradfrag : para considerar a todas las asignaturas de doctorado como fragmentables o no.
    • pdaprofesores : para marcar si se tendra en cuenta la exención por PDA en la asignación docente de los profesores.
    • pdaayudantes : para marcar si se tendra en cuenta la exención por PDA en la asignación docente de los ayudantes.
    • estimaprof : estimacion para los profesores contratados para el año que viene. Influye en las cuentas.
    • estimaayud :estimacion para los ayudantes contratados para el año que viene. Influye en las cuentas.
    • estadoimportación : estado que se encuentra la importacion de los distintos archivos. Necesario para impedir la lectura anticipada de archivos que dependen de otros.
  • Por motivos de seguridad en el login de la aplicacion web, necesitamos almacenar la hora del ultimo login para al manejarla evitar la recuperacion de una sesión anterior por parte de otra persona. Este parametro lo incluirimos dentro de los parametros de la tabla personal.
  • Para llevar un control de que profesor esta matriculado ya y quien no, necesitamos un nuevo parametro booleano para marcar esta situacion en personal.
  • En la apliccion un administrador puede acceder a una informacion que los demas no pueden ver. Por tanto necesitamos poder marcar quien es adminitrador.Tambien en la tabla personal.
  • Un requisoto funcional de la aplicación es la contabilizacion de la exención de creditos por PDA, que pueden ser usadas o no en el proceso de eleccion de docencia. Por tanto este parametro tambien ha de ser introducido, y como es relativo a cada profesor, lo incluimos en la tabla personal.
  • Las asignaturas de doctorado tienen una propiedad intersante, que es la de poder ser fragmentadas y asignadas a varios profesores. esta propiedad, que hemos definio como FRAGMENTABLE se resuelve con un booleano para marcar las asignaturas que poseen esta propiedad.
  • Dado que las asignaturas pueden ser de caracter teorico, practico, o tener ambas partes, como sucede en los laboratorios. Decidimos incluir un parametro TIPO pensando sobre todo en este ultimo caso, para poder tratar como una sola asignatura ambas partes, la teorica y practica de un laboratorio.
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License