M2 - Bases de dades / Exercicis UF2: Llenguatges SQL / Solucions T10-HR

De wikiserver
Dreceres ràpides: navegació, cerca
MEMBER
Column_Name MEMBER_ID LAST_NAME FIRST_NAME ADDRESS CITY PHONE JOIN_DATE
Key Type PK
Null / Unique NN,U NN NN
Default Value System Date
Data Type Number Char Char Char Char Char Date
Length 10 25 25 100 30 15
MEMBER
Column_Name ID NAME
Key Type Primary Key
Nulls / Unique
FK Column
Data Type NUMBER VARCHAR2
Length 7 25

1) Cree la tabla DEPT según el siguiente gráfico de instancias de tabla. Guarde la sentencia en un script denominado lab_10_01.sql y, a continuación, ejecute el script para crear la tabla. Confirme que se ha creado la tabla.

CREATE TABLE dept
(id NUMBER(7)CONSTRAINT department_id_pk PRIMARY KEY,
name VARCHAR2(25));

Para confirmar que se ha creado la tabla y visualizar su estructura, ejecute el siguiente comando:

DESCRIBE dept

2) Rellene la tabla DEPT con datos de la tabla DEPARTMENTS . Incluya sólo aquellas columnas que necesite.

INSERT INTO dept
SELECT department_id, department_name
FROM departments

3) Cree la tabla EMP según el siguiente gráfico de instancias de tabla. Guarde la sentencia en un script denominado lab_10_03.sql y, a continuación, ejecute el script para crear la tabla. Confirme que se ha creado la tabla.

CREATE TABLE emp
       (id NUMBER(7),
        last_name VARCHAR2(25),
        first_name VARCHAR2(25),
        dept_id NUMBER(7)
        CONSTRAINT emp_dept_id_FK REFERENCES dept (id));
<pre>
Para confirmar que se ha creado la tabla y ver su estructura:

DESCRIBE emp </pre>

4) Cree la tabla EMPLOYEES2 según la estructura de la tabla EMPLOYEES . Incluya sólo las columnas EMPLOYEE_ID , FIRST_NAME , LAST_NAME , SALARY y DEPARTMENT_ID . Asigne a las columnas de la tabla los nombres ID, FIRST_NAME, LAST_NAME, SALARY y DEPT_ID, respectivamente.

CREATE TABLE employees2 AS
             SELECT employee_id id, first_name, last_name, salary,
                    department_id dept_id
             FROM employees;

5) Modifique el estado de la tabla EMPLOYEES2 a sólo lectura.

ALTER TABLE employees2 READ ONLY;

6) Intente insertar la siguiente fila en la tabla EMPLOYEES2.

Aparecerá el mensaje de error “Update operation not allowed on table”. Por lo tanto, no se le permitirá insertar ninguna fila en la tabla porque se ha asignado un estado de sólo lectura.

INSERT INTO employees2
VALUES (34, 'Grant', 'Marcie', 5678, 10);

7) Revierta la tabla EMPLOYEES2 al estado de lectura/escritura. Ahora, vuelva a intentar insertar la misma fila.

Ahora, debido a que a la tabla se le ha asignado un estado READ WRITE , podrá insertar una fila en la tabla.

ALTER TABLE employees2 READ WRITE

INSERT INTO employees2
VALUES (34, 'Grant','Marcie',5678,10)

8) Borre la tabla EMPLOYEES2 .

Nota: si es necesario, puede borrar una tabla con modo READ ONLY . Para probar esto, vuelva a modificar la tabla al estado READ ONLY y, a continuación, ejecute el comando DROP TABLE . Se borrará la tabla EMPLOYEES2.

DROP TABLE employees2;