Solución De La Tarea Para BD02

782 palabras 4 páginas
Solución de la tarea para BD02.
EJERCICIO 1:
Vamos a crear las tablas para una Academia donde se imparten distintos cursos de informática. Empezaremos creando con SQL las siguientes tablas:
 Tabla ALUMNOS recogerá información sobre el alumnado: Nombre,
Apellido1, Apellido2, NIF, Dirección, Sexo, Fecha de Nacimiento y Curso en el que se matricula.
 Tabla CURSOS con los siguientes campos: Nombre del Curso, Código del
Curso que lo identifica, NIF del Profesor, Máximo número de alumnos/as recomendado, Fecha de inicio, Fecha final, Número de horas totales del curso. Los alumnos/as no pueden compaginar varios cursos a la vez.
 Tabla PROFESORES con los siguientes campos: Nombre, Apellido1,
Apellido2, NIF, Dirección, Titulación, Salario.
a.
…ver más…

10. Se debe cumplir la regla de integridad referencial.
Para que se cumpla la integridad referencial podemos poner en las restricciones de claves ajenas ON DELETE CASCADE después de REFERENCES.

CREATE TABLE PROFESORES (
NOMBRE VARCHAR2(10) UNIQUE,
APELLIDO1 VARCHAR2(15),
APELLIDO2 VARCHAR2(15),
NIF VARCHAR2(9),
DIRECCION VARCHAR2(30),
TITULO VARCHAR2(30),
SALARIO NUMBER(6,2) NOT NULL,
CONSTRAINT pro_nif_PK PRIMARY KEY(NIF)
);

CREATE TABLE CURSOS (
NOMBRE_CURSO VARCHAR2(10) UNIQUE,
COD_CURSO NUMBER(5) PRIMARY KEY,
NIF_PROFESOR VARCHAR2(9),
MAXIMO_ALUMNOS NUMBER(3),
FECHA_INICIO DATE,
FECHA_FIN DATE,
NUM_HORAS NUMBER(3) NOT NULL,
CONSTRAINT cur_nif_FK FOREIGN KEY (NIF_PROFESOR)
REFERENCES PROFESORES (NIF) ON DELETE CASCADE,
CONSTRAINT cur_fec_CK CHECK(FECHA_FIN>FECHA_INICIO)
);

CREATE TABLE ALUMNOS (
NOMBRE VARCHAR2(10),
APELLIDO1 VARCHAR2(15),
APELLIDO2 VARCHAR2(15),
NIF VARCHAR2(9) PRIMARY KEY,
DIRECCION VARCHAR2(30),

);

SEXO VARCHAR2(1),
FECHA_NACIMIENTO DATE,
CURSO NUMBER(5),
CONSTRAINT alu_cur_FK FOREIGN KEY (CURSO)
REFERENCES CURSOS (COD_CURSO),
CONSTRAINT alu_sex_CK CHECK (SEXO IN ('H','M'))

EJERCICIO2:
Vamos a modificar las tablas que hemos creado en el apartado anterior:
1. Crea un nuevo atributo llamado Edad de tipo numérico a la tabla ALUMNOS.
ALTER TABLE ALUMNOS ADD EDAD NUMBER(3);
Añade las siguientes restricciones:
2. Modifica el campo que has creado anteriormente para que la edad del

Documentos relacionados