Ejercicio Repaso 1
1. CREA LAS TABLAS: PROFESORES, CURSOS Y ALUMNOS para ellos define tu los
campos.
- PROFESORES (NIF, Nombre, Apellido1, Apellido2, Direccion, Titulacion,
Salario).
- CURSOS (Codigo, Nombre, NIF_Profesor, Maximo/Alumnos, Fecha_inicio,
Fecha_fin, Horas)
- ALUMNOS (NIF, Nombre, Apellido1, Apellido2, Direccion, Sexo,
FechaNacimiento, CodigoCurso)
CREATE TABLE PROFESORES1
(
NIF VARCHAR(9) PRIMARY KEY,
Nombre VARCHAR(50) UNIQUE,
Apellido1 VARCHAR(50),
Apellido2 VARCHAR(50),
Direccion VARCHAR(200),
Titulacion VARCHAR(80),
Salario NUMBER(6) NOT NULL
);
CREATE TABLE CURSOS
(
CODIGO VARCHAR(10) PRIMARY KEY,
Nombre VARCHAR(50) UNIQUE,
NIFPROFESOR VARCHAR(9),
MaximoAlumnos NUMBER(2),
FechaInicio DATE,
FechaFin DATE,
Horas NUMBER(4) NOT NULL,
CONSTRAINT FK_NIF1 FOREIGN KEY (NIFPROFESOR)
REFERENCES PROFESORES1(NIF),
CONSTRAINT CK_FEC CHECK (FechaFin>FechaInicio)
);
CREATE TABLE ALUMNOS2
(
NIF VARCHAR(9) PRIMARY KEY,
Nombre VARCHAR(50),
Apellido1 VARCHAR(50),
Apellido2 VARCHAR(50),
Direccion VARCHAR(200),
Sexo VARCHAR(1) CHECK(Sexo IN ('M', 'H')),
FechaNacimiento DATE,
CodigoCurso VARCHAR(10) NOT NULL REFERENCES
CURSOS(CODIGO)
);
2. EJERCICIO 2:
A) Crea un nuevo atributo llamado Edad de tipo numérico a la tabla ALUMNOS.
ALTER TABLE ALUMNOS
ADD Edad INT;
B) Modifica el campo que has creado anteriormente para que la edad del alumno o
alumna esté comprendida entre 14 y 65 años.
ALTER TABLE ALUMNOS
ADD CONSTRAINT Edad_check CHECK (Edad >= 14 AND Edad <= 65);
ALTER TABLE ALUMNOS ADD(EDAD NUMBER(3));
C) Modifica el campo Número de horas del CURSO de manera que solo pueda
haber cursos con 30, 40 o 60 horas.
ALTER TABLE CURSOS ADD CONSTRAINT Horas_check CHECK (Horas IN
(30, 40, 60));
ALTER TABLE CURSOS1 ADD CONSTRAINT CUR_NUM_CK
CHECK(HORAS IN(30, 40, 60));
D) Elimina la restricción que controla los valores que puede tomar el atributo
Sexo.
ALTER TABLE ALUMNOS DROP CONSTRAINT Sexo_check;
ALTER TABLE ALUMNOS DROP CONSTRAINT ALU_SEX_CK;
E) Elimina la columna Dirección de la tabla PROFESORES.
ALTER TABLE PROFESORES DROP COLUMN DIRECCION;
F) Cambia la clave primaria de la tabla PROFESORES por Nombre y Apellidos.
ALTER TABLE PROFESORES DROP CONSTRAINT PRO_NIF_PK;
ALTER TABLE PROFESORES ADD CONSTRAINT PRO_NOM_AP1_AP2_PK
PRIMARY KEY(Nombre, Apellido1, Apellido2);
G) Renombra la tabla PROFESORES por TUTORES.
RENAME PROFESORES TO TUTORES;
H) Elimina la tabla ALUMNOS.
DROP TABLE ALUMNOS;
I) Crea un usuario con tu nombre y clave BD02 y dale todos los privilegios sobre
la tabla CURSOS.
CREATE USER IRENEMARIA IDENTIFIED BY BD02;
GRANT ALL PRIVILEGES ON DAM.CURSOS TO IRENEMARIA ;
PARA DARLE TODOS LOS PRIVILEGIOS A IRENEMARIA :
GRANT ALL PRIVILEGES TO JOSEMARIA;
J) Ahora al usuario anterior quítale permisos para modificar o actualizar la tabla
CURSOS.
REVOKE UPDATE, ALTER ON DAM.CURSOS FROM IRENEMARIA ;