Diferència entre revisions de la pàgina «M2 - Bases de dades / Exercicis UF2: Llenguatges SQL / Exercicis T10-HR»
(Hi ha 3 revisions intermèdies del mateix usuari que no es mostren) | |||
Línia 19: | Línia 19: | ||
|} | |} | ||
− | 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> | ||
Línia 30: | Línia 28: | ||
</pre> | </pre> | ||
− | 2) Rellene la tabla DEPT con datos de la tabla DEPARTMENTS . Incluya sólo las columnas | + | 2) Rellene la tabla DEPT con datos de la tabla DEPARTMENTS . Incluya sólo las columnas que necesite. |
− | que necesite. | ||
− | 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. | ||
{|border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse; font-size: 95%;" | {|border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse; font-size: 95%;" | ||
− | ! align="left" width="180 px" style="background:Lavender; color:Black"|Column Name||align="left" style="width:150px" | | + | ! align="left" width="180 px" style="background:Lavender; color:Black"|Column Name||align="left" style="width:150px" | ID||align="left" style="width:150px"|LAST_NAME||align="left" style="width:150px"|FIRST_NAME||align="left" style="width:150px"|DEPT_ID |
|- | |- | ||
− | ! align="left" style="background:Lavender; color:Black"|Key Type||align="left"| ||align="left"| ||align="left"| ||align="left"| | + | ! align="left" style="background:Lavender; color:Black"|Key Type||align="left"| Primary Key||align="left"| ||align="left"| ||align="left"| |
|- | |- | ||
! align="left" style="background:Lavender; color:Black"|Nulls/Unique||align="left"| ||align="left"| ||align="left"| ||align="left"| | ! align="left" style="background:Lavender; color:Black"|Nulls/Unique||align="left"| ||align="left"| ||align="left"| ||align="left"| | ||
|- | |- | ||
− | ! align="left" style="background:Lavender; color:Black"|FK Table||align="left"| ||align="left"| ||align="left"| ||align="left"| | + | ! align="left" style="background:Lavender; color:Black"|FK Table||align="left"| ||align="left"| ||align="left"| ||align="left"|DEPT |
|- | |- | ||
− | ! align="left" style="background:Lavender; color:Black"|Fk Column||align="left"| ||align="left"| ||align="left"| ||align="left"| | + | ! align="left" style="background:Lavender; color:Black"|Fk Column||align="left"| ||align="left"| ||align="left"| ||align="left"|ID |
|- | |- | ||
− | ! align="left" style="background:Lavender; color:Black"|DataType||align="left"| | + | ! align="left" style="background:Lavender; color:Black"|DataType||align="left"|NUMBER||align="left"|VARCHAR2|| align="left" | VARCHAR2||align="left"|NUMBER |
|- | |- | ||
! align="left" style="background:Lavender; color:Black"|Length||align="left"|7||align="left"|25 ||align="left"|25||align="left"|7 | ! align="left" style="background:Lavender; color:Black"|Length||align="left"|7||align="left"|25 ||align="left"|25||align="left"|7 | ||
Línia 63: | Línia 58: | ||
</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. | ||
− | 5) Modifique el estado de la tabla EMPLOYEES2 a sólo lectura. Tenga en cuenta que esta | + | 5) Modifique el estado de la tabla EMPLOYEES2 a sólo lectura. Tenga en cuenta que esta opción está soportada en Oracle Database 11g. |
− | opción está soportada en Oracle Database 11g. | + | |
+ | 6) Intente insertar la siguiente fila en la tabla EMPLOYEES2: | ||
+ | |||
+ | {|border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse; font-size: 95%;" | ||
+ | ! align="left" width="100 px" style="background:Lavender; color:Black"|ID | ||
+ | ! align="left" width="100 px" style="background:Lavender; color:Black"|FIRST_NAME | ||
+ | ! align="left" width="120 px" style="background:Lavender; color:Black"|LAST_NAME | ||
+ | ! align="left" width="85 px" style="background:Lavender; color:Black"|SALARY | ||
+ | ! align="left" width="85 px" style="background:Lavender; color:Black"|DEPT_ID | ||
+ | |- | ||
+ | |34||Grant||Marcie||5678||10 | ||
+ | |} | ||
− | |||
Aparecerá el siguiente mensaje de error: | Aparecerá el siguiente mensaje de error: | ||
+ | |||
+ | <pre> | ||
+ | Error que empieza en la línea: 3 del comando - | ||
+ | INSERT INTO employees2 | ||
+ | VALUES (34,'Grant','Marcie',5678,10) | ||
+ | Error en la línea de comandos : 3 Columna : 13 | ||
+ | Informe de error - | ||
+ | Error SQL: ORA-12081: update operation not allowed on table "HR"."EMPLOYEES2" | ||
+ | 12081. 00000 - "update operation not allowed on table \"%s\".\"%s\"" | ||
+ | *Cause: An attempt was made to update a read-only materialized view. | ||
+ | *Action: No action required. Only Oracle is allowed to update a | ||
+ | read-only materialized view. | ||
+ | </pre> | ||
7) Revierta la tabla EMPLOYEES2 al estado de lectura/escritura. Ahora, vuelva a intentar | 7) Revierta la tabla EMPLOYEES2 al estado de lectura/escritura. Ahora, vuelva a intentar | ||
Línia 79: | Línia 94: | ||
Deben aparecer los siguientes mensajes: | Deben aparecer los siguientes mensajes: | ||
+ | |||
+ | <pre> | ||
+ | Table EMPLOYEES2 alterado. | ||
+ | |||
+ | 1 fila insertadas. | ||
+ | </pre> | ||
8) Borre la tabla EMPLOYEES2. | 8) Borre la tabla EMPLOYEES2. |
Revisió de 18:58, 18 gen 2018
Cree nuevas tablas mediante la sentencia CREATE TABLE . Confirme que la nueva tabla se ha agregado a la base de datos. También aprenderá a definir el estado de una tabla como READ ONLY y, a continuación, revertir a READ/WRITE.
Nota: para todas las sentencias DDL y DML , haga clic en el icono Run Script (o pulse [F5]) para ejecutar la consulta en SQL Developer. De esta forma, ve los mensajes de comentarios en la página con separadores Script Output. Para consultas SELECT , siga haciendo clic en el icono Execute Statement o pulse [F9] para obtener la salida con formato en la página con separadores Results.
Column Name | ID | Name |
---|---|---|
Key Type | Primary Key | |
Nulls/Unique | ||
FK Table | ||
Fk Column | ||
DataType | 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.
Name Null? Type ---------- -------- ---------- ID NOT NULL NUMBER(7) NAME VARCHAR2(25)
2) Rellene la tabla DEPT con datos de la tabla DEPARTMENTS . Incluya sólo las columnas que necesite.
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 | |||
DataType | NUMBER | VARCHAR2 | VARCHAR2 | NUMBER |
Length | 7 | 25 | 25 | 7 |
Name Null? Type ---------- -------- ---------- ID NUMBER(7) LAST_NAME VARCHAR2(25) FIRST_NAME VARCHAR2(25) DEPT_ID NUMBER(7)
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.
5) Modifique el estado de la tabla EMPLOYEES2 a sólo lectura. Tenga en cuenta que esta opción está soportada en Oracle Database 11g.
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 siguiente mensaje de error:
Error que empieza en la línea: 3 del comando - INSERT INTO employees2 VALUES (34,'Grant','Marcie',5678,10) Error en la línea de comandos : 3 Columna : 13 Informe de error - Error SQL: ORA-12081: update operation not allowed on table "HR"."EMPLOYEES2" 12081. 00000 - "update operation not allowed on table \"%s\".\"%s\"" *Cause: An attempt was made to update a read-only materialized view. *Action: No action required. Only Oracle is allowed to update a read-only materialized view.
7) Revierta la tabla EMPLOYEES2 al estado de lectura/escritura. Ahora, vuelva a intentar insertar la misma fila. Tenga en cuenta que esta opción está soportada en Oracle Database 11g.
Deben aparecer los siguientes mensajes:
Table EMPLOYEES2 alterado. 1 fila insertadas.
8) Borre la tabla EMPLOYEES2.