Diferència entre revisions de la pàgina «M2 - Bases de dades / Exercicis UF2: Llenguatges SQL / Solucions T10-HR»

De wikiserver
Dreceres ràpides: navegació, cerca
Línia 53: Línia 53:
 
|-
 
|-
 
! align="left" style="background:Lavender; color:Black"|Key Type
 
! align="left" style="background:Lavender; color:Black"|Key Type
| || ||  ||   
+
|Primary Key || ||  ||   
 
|-
 
|-
 
! align="left" style="background:Lavender; color:Black"|Nulls / Unique
 
! align="left" style="background:Lavender; color:Black"|Nulls / Unique

Revisió del 17:59, 18 gen 2018

Column Name ID NAME
Key Type Primary Key
Nulls / Unique
FK Table
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.

Column Name ID LAST_NAME FIRST_NAME DEPT_ID
Key Type Primary Key
Nulls / Unique
FK Table DEPT
FK Column ID
Data Type NUMBER VARCHAR2 VARCHAR2 NUMBER
Length 7 25 25 7
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));

Para confirmar que se ha creado la tabla y ver su estructura: </pre> 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.

ID FIRST_NAME LAST_NAME SALARY DEPT_ID
34 Grant Marcie 5678 10


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;