Você está na página 1de 12

Universidad de

Crdoba

PRCTICA 1:
DISEO DE BASE
DE DATOS
Alberto Cruz Crdoba
Emilio Lpez Pia

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...........................................................................................6
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................................................................................................................... 10

Universidad de Crdoba

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

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


arquitectura cliente- servidor.

bajo

un

navegador

estndar

en

una

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

Base de Datos Avanzada

Prctica 1. Diseo de Base de Datos

2. Modelo Conceptual

Ilustracin 1. Modelo Conceptual

Universidad de Crdoba

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

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

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

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,
Universidad de Crdoba

Base de Datos Avanzada

Prctica 1. Diseo de Base de Datos

CONSTRAINT fk_grup
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)

Universidad de Crdoba

Base de Datos Avanzada

Prctica 1. Diseo de Base de Datos

REFERENCES Asignatura(id_asignatura)
ON DELETE CASCADE);

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

Você também pode gostar