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 1: Línia 1:
1) Cree la tabla DEPT según el siguiente gráfico de instancias de tabla. Guarde la
+
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.
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.
 
 
<pre>
 
<pre>
 
CREATE TABLE dept
 
CREATE TABLE dept
Línia 7: Línia 5:
 
name VARCHAR2(25));
 
name VARCHAR2(25));
 
</pre>
 
</pre>
Para confirmar que se ha creado la tabla y visualizar su estructura, ejecute el siguiente
+
Para confirmar que se ha creado la tabla y visualizar su estructura, ejecute el siguiente comando:
comando:
 
 
<pre>
 
<pre>
 
DESCRIBE dept
 
DESCRIBE dept
 
</pre>
 
</pre>
  
2) Rellene la tabla DEPT con datos de la tabla DEPARTMENTS . Incluya sólo aquellas
+
2) Rellene la tabla DEPT con datos de la tabla DEPARTMENTS . Incluya sólo aquellas columnas que necesite.
columnas que necesite.
 
 
<pre>
 
<pre>
 
INSERT INTO dept
 
INSERT INTO dept
Línia 21: Línia 17:
 
</pre>
 
</pre>
  
3) Cree la tabla EMP según el siguiente gráfico de instancias de tabla. Guarde la
+
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.
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.
 
 
<pre>
 
<pre>
 
CREATE TABLE emp
 
CREATE TABLE emp
Línia 30: Línia 24:
 
         first_name VARCHAR2(25),
 
         first_name VARCHAR2(25),
 
         dept_id NUMBER(7)
 
         dept_id NUMBER(7)
         CONSTRAINT emp_dept_id_FK REFERENCES dept (id)
+
         CONSTRAINT emp_dept_id_FK REFERENCES dept (id));
);
 
 
<pre>
 
<pre>
 
Para confirmar que se ha creado la tabla y ver su estructura:
 
Para confirmar que se ha creado la tabla y ver su estructura:
Línia 38: Línia 31:
 
</pre>
 
</pre>
  
4) Cree la tabla EMPLOYEES2 según la estructura de la tabla EMPLOYEES . Incluya sólo
+
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.
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.
 
 
<pre>
 
<pre>
 
CREATE TABLE employees2 AS
 
CREATE TABLE employees2 AS
Línia 51: Línia 41:
 
5) Modifique el estado de la tabla EMPLOYEES2 a sólo lectura.
 
5) Modifique el estado de la tabla EMPLOYEES2 a sólo lectura.
 
<pre>
 
<pre>
ALTER TABLE employees2 READ ONLY
+
ALTER TABLE employees2 READ ONLY;
 
</pre>
 
</pre>
 +
 +
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.
 +
<pre>
 +
INSERT INTO employees2
 +
VALUES (34, 'Grant', 'Marcie', 5678, 10);
 +
</pre>
 +
 +
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.
 +
<pre>
 +
ALTER TABLE employees2 READ WRITE
 +
 +
INSERT INTO employees2
 +
VALUES (34, 'Grant','Marcie',5678,10)
 +
</pre>
 +
 +
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.
 +
</pre>
 +
DROP TABLE employees2;
 +
<pre>

Revisió del 09:53, 29 nov 2017

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. </pre> DROP TABLE employees2;