ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

SQL Oracle como crear tablas,vistas, y consultas y subconsultas

julillo.dlsPráctica o problema26 de Septiembre de 2016

442 Palabras (2 Páginas)806 Visitas

Página 1 de 2

1. Elaborar una sentencia SQL que permita crear la tabla CURSOS. La configuración de los campos debe ser:

CREATE TABLE CURSOS (CURSO_ID NUMBER, CURSO_NOMBRE VARCHAR(100),CURSO_DOCENTE NUMBER);

2. Elaborar una sentencia SQL que permita modificar la tabla CURSOS agregándole una primary key sobre el campo CURSO_ID.

ALTER TABLE CURSOS ADD (CONSTRAINT CURSO_ID_PK PRIMARY KEY (CURSO_ID));

3. Elaborar una sentencia SQL que permita modificar la tabla CURSOS agregándole una foreign key sobre el campo CURSO_DOCENTE que referencie hacia el campo EMPLOYEE_ID de la tabla EMPLOYEES.

ALTER TABLE CURSOS ADD (CONSTRAINT CURSO_DOCENTE_FK FOREIGN KEY (CURSO_DOCENTE) REFERENCES EMPLOYEES (EMPLOYEE_ID));

4. Elaborar una sentencia SQL que permita crear la tabla CURSOS_CONFIRMADOS. La configuración de los campos debe ser:

Incluir en la sentencia de creación la generación de la clave primaria formada por los campos CURSO_ID y FECHA.

Incluir también la creación de la clave foránea en el campo LOCATION_ID que referencia al campo LOCATION_ID de la tabla LOCATIONS.

CREATE TABLE CURSOS_CONFIRMADOS (CURSO_ID NUMBER, FECHA DATE, LOCATION_ID NUMBER, HORA_INICIO VARCHAR2(10),HORA_FIN VARCHAR2(10),

CONSTRAINT CURSO_ID_FECHA_PK PRIMARY KEY (CURSO_ID,FECHA),

CONSTRAINT LOCATION_ID_FK FOREIGN KEY(LOCATION_ID) REFERENCES LOCATIONS (LOCATION_ID));

5. Elaborar una sentencia SQL que permita crear la tabla PARTICIPANTES. La configuración de los campos debe ser:

CREATE TABLE PARTICIPANTES (CURSO_ID NUMBER, FECHA DATE, EMPLOYEE_ID NUMBER, ASISTIO VARCHAR2(1));

6. Elaborar una sentencia SQL que permita modificar la tabla PARTICIPANTES agregándole una primary key compuesta por los campos (CURSO_ID, FECHA, EMPLOYEE_ID).

ALTER TABLE PARTICIPANTES ADD(CONSTRAINT CURSO_ID_FECHA_EMPLOYEE_ID_PK PRIMARY KEY (CURSO_ID, FECHA, EMPLOYEE_ID));

7. Elaborar una sentencia SQL que permita modificar la tabla PARTICIPANTES agregándole una foreign key sobre los campos CURSO_ID y FECHA que referencie hacia la primary key de la tabla CURSOS_CONFIRMADOS.

ALTER TABLE PARTICIPANTES ADD (CONSTRAINT CURSO_ID_FECHA_FK FOREIGN KEY (CURSO_ID, FECHA) REFERENCES CURSOS_CONFIRMADOS(CURSO_ID,FECHA));

8. Elaborar una sentencia SQL que permita crear una nueva constraint sobre la tabla PARTICIPANTES que solo permita ingresar los valores “S” y “N” en el campo ASISTIO.

ALTER TABLE PARTICIPANTES ADD (CONSTRAINT ASISTIO_CK CHECK (ASISTIO = 'S' OR ASISTIO = 'N'));

9. Elaborar las sentencias SQL necesarias para crear las vistas CURSOS_V, PARTICIPANTES_V y CURSOS_CONFIRMADOS_V que muestren todos los campos y todos los registros de las tablas CURSOS, PARTICIPANTES y CURSOS_CONFIRMADOS respectivamente.

CREATE OR REPLACE VIEW CURSOS_V AS (SELECT * FROM CURSOS);

CREATE OR REPLACE VIEW PARTICIPANTES_V AS (SELECT * FROM PARTICIPANTES);

CREATE OR REPLACE VIEW CURSOS_CONFIRMADOS_V AS (SELECT * FROM CURSOS_CONFIRMADOS);

10. Elaborar una sentencia SQL que permita crear una vista llamada PROXIMOS_CURSOS que muestre los siguientes campos:

CREATE OR REPLACE VIEW PROXIMOS_CURSOS_V AS (SELECT CURSOS.CURSO_NOMBRE,CURSOS_CONFIRMADOS.FECHA,LOCATIONS.CITY AS CIUDAD,

(E.FIRST_NAME ||','|| E.LAST_NAME) AS EMPLEADO,(EMPLOYEES.FIRST_NAME ||','|| EMPLOYEES.LAST_NAME) AS NOMBRE_DOCENTE

FROM CURSOS_CONFIRMADOS INNER JOIN PARTICIPANTES ON CURSOS_CONFIRMADOS.CURSO_ID=PARTICIPANTES.CURSO_ID

AND CURSOS_CONFIRMADOS.FECHA=PARTICIPANTES.FECHA JOIN EMPLOYEES ON EMPLOYEES.EMPLOYEE_ID=PARTICIPANTES.EMPLOYEE_ID

INNER JOIN LOCATIONS ON LOCATIONS.LOCATION_ID = CURSOS_CONFIRMADOS.LOCATION_ID

INNER JOIN CURSOS ON CURSOS.CURSO_ID=CURSOS_CONFIRMADOS.CURSO_ID

...

Descargar como (para miembros actualizados) txt (4 Kb) pdf (59 Kb) docx (10 Kb)
Leer 1 página más »
Disponible sólo en Clubensayos.com