Práctica 1. Diseño de La Bases de Datos

12
PRÁCTICA 1: DISEÑO DE BASE DE DATOS Alberto Cruz Córdoba Emilio López Piña Universidad de Córdoba

description

Diseño de una base de datos

Transcript of Práctica 1. Diseño de La Bases de Datos

  • PRCTICA 1: DISEO DE BASE DE DATOS

    Alberto Cruz Crdoba

    Emilio Lpez Pia

    Universidad de Crdoba

  • Base de Datos Avanzada Prctica 1. Diseo de Base de Datos

    Contenido 1. Descripcin del Problema .......................................................................................... 2

    1.1 Descripcin General ............................................................................................. 2

    1.2 Una visin general del Proyecto .......................................................................... 3

    2. Modelo Conceptual ................................................................................................... 4

    3. Modelo Relacional ..................................................................................................... 5

    3.1. Tabla Persona .................................................................................................... 5

    3.2. Tabla Profesor .................................................................................................... 5

    3.3. Tabla Alumno ..................................................................................................... 5

    3.4. Tabla Grupo ....................................................................................................... 5

    3.5. Tabla Profesor-Grupo ......................................................................................... 5

    3.6. Tabla Alumno-Grupo .......................................................................................... 6

    3.7. Tabla Asignatura ................................................................................................ 6

    3.8. Tabla Asignatura-Profesor .................................................................................. 6

    3.9. Tabla Evaluacin ................................................................................................ 6

    3.10. Tabla Item ........................................................................................................ 6

    3.11. Tabla Evaluacion_Item ..................................................................................... 7

    4. Script creacin de base de datos ................................................................................ 7

    4.1 Script creacin tabla Persona .............................................................................. 7

    4.2 Creacin de Tabla Alumno .................................................................................. 7

    4.3 Creacin de Tabla Profesor ................................................................................. 7

    4.4 Creacin de Tabla Grupo ..................................................................................... 8

    4.5 Creacin de Tabla Alumno_Grupo ...................................................................... 8

    4.6 Creacin de Tabla Profesor_Grupo ..................................................................... 8

    4.7 Creacin de Tabla Asignatura.............................................................................. 9

    4.8 Creacin de Tabla Asignatura_Profesor .............................................................. 9

    4.9 Creacin de Tabla Evaluacion .............................................................................. 9

    4.10 Creacin de Tabla Item .................................................................................... 10

    4.11 Creacin de Tabla Evaluacion_Item ................................................................ 10

    Bibliografa ................................................................................................................. 11

    Universidad de Crdoba 1

  • Base de Datos Avanzada Prctica 1. Diseo de Base de Datos

    1. Descripcin del Problema El objetivo del trabajo de la asignatura es el anlisis del problema planteado y el aportar una solucin de datos al mismo, es decir: "Estudiar, analizar y disear una solucin computerizada para la gestin de la informacin correspondiente a los alumnos matriculados en las asignaturas impartidas por los profesores con el objetivo de facilitar al profesor su almacenamiento, anlisis, y evaluacin docente de los alumnos."

    1.1 Descripcin General Las nuevas metodologas docentes que van a ser implantadas en las Universidades Espaolas en los prximos aos con el objetivo de una unificacin docente en el mbito europeo van a producir un cambio significativo tanto el mtodo de enseanza por parte del profesorado, como en el mtodo de aprendizaje por parte del alumnado.

    Para ello, entre otras acciones, el profesor deber utilizar nuevos modelos de enseanza y valoracin de los conocimientos de los alumnos, lo que supone un seguimiento ms estricto de la asimilacin de los conocimientos del alumno y del trabajo realizado para ello.

    Este control es difcil realizarlo de forma manual. Por ello, sera conveniente que el profesor contar con una herramienta informtica que le permitiera ir anotando informacin acerca del alumno a lo largo del desarrollo de la docencia, con varios objetivos:

    El anlisis de la evolucin de los alumnos en el proceso de aprendizaje, tanto de forma global, como personalizada para cada alumno.

    Facilitarle las evaluaciones parciales y finales de los alumnos.

    Esta herramienta debe poder ser personalizada para cada profesor, es decir, para cada aplicacin que los docentes realicen sobre los nuevos modelos de enseanza, y la funcionalidad necesaria para, al menos:

    1. Mantener la informacin personal de los alumnos. 2. Mantener la informacin acadmica de los alumnos. 3. Mantener informacin histrica de los alumnos. 4. Realizar procesos de anlisis de datos, de evaluacin y calificacin.

    Universidad de Crdoba 2

  • Base de Datos Avanzada Prctica 1. Diseo de Base de Datos

    1.2 Una visin general del Proyecto En este apartado se describir una primera lista inicial de los requisitos mnimos o caractersticas esenciales del problema planteado y de la solucin que debe ser aportada:

    1. El sistema deber funcionar bajo un navegador estndar en una arquitectura cliente- servidor.

    2. Mantendr la informacin personal del alumno como si de la ficha de la asignatura se tratase (incluyendo fotografia del alumno).

    3. Permitir mantener evaluaciones (calificaciones) en diferentes categoras (prcticas, teora, trabajos, etc.). El nmero de grupos a calificar ser seleccionado por el profesor.

    4. Permitir la gestin de notas o comentarios globales para cada alumno, y para cada tem calificado a cada alumno.

    5. Permitir la creacin de "frmulas de clculo" que permita al profesor la generacin de otros tems de asignados globalmente a los alumnos o parcialmente a cada uno de los tems sealados en el punto 3 (notas globales, parciales, parciales por problemas, etc.)

    6. Permitir el anlisis de resultados por los tems existentes, con herramientas que permitan tabular y grficamente informar de porcentajes absolutos, relativos, evolucin, comparacin de resultados entre tems, etc.

    7. La visualizacin debe ser cmoda, efectiva y similar al uso de fichas de alumnos por el profesor.

    8. Deber permitir la importacin y exportacin de informacin a otros formatos, al menos a ficheros planos.

    9. Deber permitir la impresin de informes preestablecidos y otros cuyos campos sean seleccionados por el profesor.

    10. Deber operar en un entorno seguro de acceso y de informacin.

    Universidad de Crdoba 3

  • Base de Datos Avanzada Prctica 1. Diseo de Base de Datos

    2. Modelo Conceptual

    Ilustracin 1. Modelo Conceptual

    Universidad de Crdoba 4

  • Base de Datos Avanzada Prctica 1. Diseo de Base de Datos

    3. Modelo Relacional

    3.1. Tabla Persona Esta tabla se forma a partir del tipo de entidad Persona, y de ella toma los atributos nombre, dni, apellidos, departamento, fotografa y email.

    El identificador de esta tabla es dni.

    Persona (dni, nombre, apellidos, departamento, fotografa, email)

    3.2. Tabla Profesor Esta tabla se forma a partir del tipo de entidad Profesor, y de ella toma los atributos dni, id_profesor y departamento.

    El identificador de esta tabla es id_profesor.

    Profesor (id_profesor, dni, departamento)

    3.3. Tabla Alumno Esta tabla se forma a partir del tipo de entidad Alumno y de ella toma los atributos matricula y dni.

    El identificador de esta tabla es matricula.

    Alumno (matricula, dni)

    3.4. Tabla Grupo Esta tabla se forma a partir del tipo de entidad Grupo y de ella toma los atributos curso, numero_grupo, titulacin y max_capacidad.

    Los identificadores de esta tabla son curso, numero_grupo, titulacin y max_capacidad

    Grupo (curso, numero_grupo, titulacin, max_capacidad)

    3.5. Tabla Profesor-Grupo Esta tabla se forma a partir de la relacin entre las entidades Grupo y Profesor y toma los atributos id_profesor, curso_grupo, numero_grupo y titulacin.

    Profesor_Grupo (id_profesor, curso_grupo, numero_grupo, titulacin)

    Universidad de Crdoba 5

  • Base de Datos Avanzada Prctica 1. Diseo de Base de Datos

    3.6. Tabla Alumno-Grupo Esta tabla se forma a partir de la relacin entre las entidades Grupo y Alumno y toma los atributos matricula, curso_grupo, numero_grupo y titulacin.

    Alumno_Grupo (matricula, curso_grupo, numero_grupo, titulacin)

    3.7. Tabla Asignatura Esta tabla se forma a partir del tipo de entidad Asignatura y de ella toma los atributos id asignatura, nombre_asignatura, curso_asignatura, numero_creditos, titulacion

    El identificador de esta tabla es id_asignatura.

    Asignatura (id asignatura, nombre_asignatura, curso_asignatura, numero_creditos, titulacion)

    3.8. Tabla Asignatura-Profesor Esta tabla se forma a partir de la relacin entre las entidades Asignatura y Profesor y toma los atributos id_profesor e id_asignatura.

    Los identificadores de esta tabla son id_asignatura e id_profesor.

    Asignatura_Profesor (id_profesor, id_asignatura)

    3.9. Tabla Evaluacin Esta tabla se forma a partir del tipo de entidad Evaluacin y de ella toma los atributos comentario_alumno, matricula, id_asignatura y nota_final.

    Los identificadores de esta tabla son matricula e id_asignatura.

    Evaluacin (comentario_alumno, matricula, id_asignatura, nota_final)

    3.10. Tabla Item Esta tabla se forma a partir del tipo de entidad Item y de ella toma los atributos id_item, categora e id_asignatura.

    Los identificadores de esta tabla son id_item e id_asignatura.

    Item (id_item, categora, id_asignatura)

    Universidad de Crdoba 6

  • Base de Datos Avanzada Prctica 1. Diseo de Base de Datos

    3.11. Tabla Evaluacion_Item Esta tabla se forma a partir de la relacin entre las entidades Evaluacion e Item y toma los atributos nota_item, comentario_item, id_asignatura, matricula e id_item.

    Evaluacion_Item (nota_item, comentario_item, id_asignatura, matricula, id_item)

    4. Script creacin de base de datos

    4.1 Script creacin tabla Persona CREATE TABLE Persona (dni INT NOT NULL, nombre VARCHAR(30) NOT NULL, apellidos VARCHAR(50) NOT NULL, fotografia LONGBLOB, email VARCHAR(30), tipo_persona ENUM('Alumno','Profesor'), CONSTRAINT pk_per PRIMARY KEY (dni));

    4.2 Creacin de Tabla Alumno CREATE TABLE Alumno (dni INT NOT NULL, matricula INT NOT NULL AUTO_INCREMENT, CONSTRAINT pk_alu PRIMARY KEY (matricula), CONSTRAINT fk_per_alu FOREIGN KEY (dni) REFERENCES Persona(dni) ON DELETE CASCADE);

    4.3 Creacin de Tabla Profesor CREATE TABLE Profesor (dni INT NOT NULL, id_profesor INT NOT NULL AUTO_INCREMENT, departamento VARCHAR(60) NOT NULL, CONSTRAINT pk_prof PRIMARY KEY (id_profesor), CONSTRAINT fk_per_pro FOREIGN KEY (dni) REFERENCES Persona(dni) ON DELETE CASCADE);

    Universidad de Crdoba 7

  • Base de Datos Avanzada Prctica 1. Diseo de Base de Datos

    4.4 Creacin de Tabla Grupo CREATE TABLE Grupo (curso_grupo ENUM('Primero','Segundo','Tercero','Cuarto') NOT NULL, numero_grupo INT NOT NULL, titulacion VARCHAR(80) NOT NULL, max_capacidad INT NOT NULL, CONSTRAINT pk_gru PRIMARY KEY(curso_grupo,numero_grupo,titulacion));

    4.5 Creacin de Tabla Alumno_Grupo CREATE TABLE Alumno_Grupo (matricula INT NOT NULL AUTO_INCREMENT, curso_grupo ENUM('Primero','Segundo','Tercero','Cuarto') NOT NULL, numero_grupo INT NOT NULL, titulacion VARCHAR(80) NOT NULL, CONSTRAINT pk_alu_gru PRIMARY KEY (matricula,curso_grupo,numero_grupo,titulacion), CONSTRAINT fk_alu FOREIGN KEY(matricula) REFERENCES Alumno(matricula) ON DELETE CASCADE, CONSTRAINT fk_grupo FOREIGN KEY(curso_grupo,numero_grupo,titulacion) REFERENCES Grupo(curso_grupo,numero_grupo,titulacion) ON DELETE CASCADE);

    4.6 Creacin de Tabla Profesor_Grupo CREATE TABLE Profesor_Grupo (id_profesor INT NOT NULL AUTO_INCREMENT, curso_grupo ENUM('Primero','Segundo','Tercero','Cuarto') NOT NULL, numero_grupo INT NOT NULL, titulacion VARCHAR(80) NOT NULL, CONSTRAINT pk_pro_gru PRIMARY KEY (id_profesor,curso_grupo,numero_grupo,titulacion), CONSTRAINT fk_pro FOREIGN KEY(id_profesor) REFERENCES Profesor(id_profesor) ON DELETE CASCADE, CONSTRAINT fk_grup

    Universidad de Crdoba 8

  • Base de Datos Avanzada Prctica 1. Diseo de Base de Datos

    FOREIGN KEY (curso_grupo,numero_grupo,titulacion) REFERENCES Grupo(curso_grupo,numero_grupo,titulacion) ON DELETE CASCADE);

    4.7 Creacin de Tabla Asignatura CREATE TABLE Asignatura (id_asignatura INT NOT NULL AUTO_INCREMENT, nombre_asignatura VARCHAR(80) NOT NULL, curso_asignatura ENUM('Primero','Segundo','Tercero','Cuarto') NOT NULL, titulacion VARCHAR(80) NOT NULL, numero_creditos INT NOT NULL, CONSTRAINT pk_asi PRIMARY KEY (id_asignatura));

    4.8 Creacin de Tabla Asignatura_Profesor CREATE TABLE Asignatura_Profesor (id_profesor INT NOT NULL, id_asignatura INT NOT NULL, CONSTRAINT pk_asi_pro PRIMARY KEY (id_profesor,id_asignatura), CONSTRAINT fk_asi FOREIGN KEY (id_profesor) REFERENCES Profesor(id_profesor) ON DELETE CASCADE, CONSTRAINT fk_prof FOREIGN KEY (id_asignatura) REFERENCES Asignatura(id_asignatura) ON DELETE CASCADE);

    4.9 Creacin de Tabla Evaluacion CREATE TABLE Evaluacion (comentario_alumno VARCHAR(300), matricula INT NOT NULL, id_asignatura INT NOT NULL, nota_final FLOAT(5,3), CONSTRAINT pk_eva PRIMARY KEY (matricula,id_asignatura), CONSTRAINT fk_eva_alu FOREIGN KEY (matricula) REFERENCES Alumno(matricula) ON DELETE CASCADE, CONSTRAINT fk_eva_asi FOREIGN KEY (id_asignatura) REFERENCES Asignatura(id_asignatura) ON DELETE CASCADE);

    Universidad de Crdoba 9

  • Base de Datos Avanzada Prctica 1. Diseo de Base de Datos

    4.10 Creacin de Tabla Item CREATE TABLE Item (id_item INT NOT NULL, categoria VARCHAR(50) NOT NULL, id_asignatura INT NOT NULL, CONSTRAINT pk_ite PRIMARY KEY (id_item,id_asignatura), CONSTRAINT fk_eval FOREIGN KEY (id_asignatura) REFERENCES Evaluacion(id_asignatura) ON DELETE CASCADE);

    4.11 Creacin de Tabla Evaluacion_Item CREATE TABLE Evaluacion_Item (nota_item FLOAT(5,3), comentario_item VARCHAR(300), id_asignatura INT NOT NULL, matricula INT NOT NULL, id_item INT NOT NULL, CONSTRAINT pk_eva_ite PRIMARY KEY (id_asignatura,matricula,id_item), CONSTRAINT fk_eva FOREIGN KEY (matricula,id_asignatura) REFERENCES Evaluacion(matricula,id_asignatura) ON DELETE CASCADE, CONSTRAINT fk_ite FOREIGN KEY (id_item) REFERENCES Item(id_item) ON DELETE CASCADE);

    Universidad de Crdoba 10

  • Base de Datos Avanzada Prctica 1. Diseo de Base de Datos

    Bibliografa [1]. Luque Ruz, Irene; Gmez Nieto, Miguel ngel: Diseo y uso de Bases de Datos Relacionales. Ra-ma. 1997

    Universidad de Crdoba 11

    1. Descripcin del Problema1.1 Descripcin General

    2. Modelo Conceptual3. Modelo Relacional3.1. Tabla Persona3.2. Tabla Profesor3.3. Tabla Alumno3.4. Tabla Grupo3.5. Tabla Profesor-Grupo3.6. Tabla Alumno-Grupo3.7. Tabla Asignatura3.8. Tabla Asignatura-Profesor3.9. Tabla Evaluacin3.10. Tabla Item3.11. Tabla Evaluacion_Item

    4. Script creacin de base de datos4.1 Script creacin tabla Persona4.2 Creacin de Tabla Alumno4.3 Creacin de Tabla Profesor4.4 Creacin de Tabla Grupo4.5 Creacin de Tabla Alumno_Grupo4.6 Creacin de Tabla Profesor_Grupo4.7 Creacin de Tabla Asignatura4.8 Creacin de Tabla Asignatura_Profesor4.9 Creacin de Tabla Evaluacion4.10 Creacin de Tabla Item4.11 Creacin de Tabla Evaluacion_Item

    Bibliografa