M2 - Bases de dades / Exercicis UF2: Llenguatges SQL / Exercicis T9-HR
El departamento de recursos humanos desea que cree sentencias SQL para insertar, actualizar y suprimir datos de los empleados. Como prototipo, utilizará la tabla MY_EMPLOYEE , antes de proporcionar las sentencias al departamento.
Nota: para todas las sentencias DML, utilice el icono Run Script (o pulse [F5]) para ejecutar la consulta. De esta forma, ve los mensajes de comentarios en la página con separadores Script Output. Para consultas SELECT , siga utilizando el icono Execute Statement o pulse [F9] para obtener la salida con formato en la página con separadores Results.
Inserte los datos en la tabla MY_EMPLOYEE .
1) Ejecute la siguiente sentencia para crear la tabla MY_EMPLOYEE utilizada en esta práctica.
CREATE TABLE MY_EMPLOYEE ( ID NUMBER(4) PRIMARY KEY, LAST_NAME VARCHAR2(25) NOT NULL, FIRST_NAME VARCHAR2(25) NOT NULL, USERID VARCHAR2(8), SALARY NUMBER(9,2));
2) Describa la estructura de la tabla MY_EMPLOYEE para identificar los nombres de las columnas.
DESCRIBE MY_EMPLOYEE; Nombre Nulo Tipo --------------- -------- ------------ ID NOT NULL NUMBER(4) LAST_NAME NOT NULL VARCHAR2(25) FIRST_NAME NOT NULL VARCHAR2(25) USERID VARCHAR2(8) SALARY NUMBER(9,2)
Els següents apartats fan referencia a les dades de la següent taula:
ID | LAST_NAME | FIRST_NAME | USERID | SALARY |
---|---|---|---|---|
1 | Patel | Ralph | rpatel | 895 |
2 | Dancs | Betty | bdancs | 860 |
3 | Biri | Ben | bbiri | 1100 |
4 | Newman | Chad | cnewman | 750 |
5 | Ropeburn | Audry | aropebur | 1550 |
3) Cree una sentencia INSERT para agregar la primera fila de datos a la tabla MY_EMPLOYEE a partir de los siguientes datos de ejemplo. No muestre la lista de columnas en la cláusula INSERT. No introduzca aún todas las filas.
4) Rellene la tabla MY_EMPLOYEE con la segunda fila de datos de ejemplo de la lista anterior. En esta ocasión, muestre explícitamente la lista de columnas en la cláusula INSERT .
5) Confirme las adiciones a la tabla.
ID LAST_NAME FIRST_NAME USERID SALARY -- --------- ---------- ------ ------ 1 1 Patel Ralph rpatel 895 2 2 Dancs Betty bdancs 860
6) Escriba una sentencia INSERT en un archivo de script reutilizable para cargar las filas restantes en la tabla MY_EMPLOYEE . El script se debe solicitar para todas las columnas ( ID , LAST_NAME , FIRST_NAME , USERID y SALARY ). Guarde este script en un archivo denominado lab_09_06.sql.
7) Rellene la tabla con las dos siguientes filas de ejemplo mostradas en el paso 3 mediante la ejecución de la sentencia INSERT en el script que ha creado.
8) Visualize todos los empleados y comprueba que se han introducido correctamente.
ID LAST_NAME FIRST_NAME USERID SALARY -- --------- ---------- ------ ------ 1 1 Patel Ralph rpatel 895 2 2 Dancs Betty bdancs 860 3 3 Biri Ben bbiri 1100 4 4 Newman Chad cnewman 750
9) Confirme los cambios en la tabla.
Actualice y suprima datos de la tabla MY_EMPLOYEE.
10) Cambie el apellido del empleado 3 a Drexler.
11) Cambie el salario a 1.000 dólares para todos los empleados con un salario inferior a 900.
12) Visualiza todos los empleados y compruebe que los cambios se ha realizado correctamente.
ID LAST_NAME FIRST_NAME USERID SALARY -- --------- ---------- ------ ------ 1 1 Patel Ralph rpatel 1000 2 2 Dancs Betty bdancs 1000 3 3 Drexler Ben bbiri 1100 4 4 Newman Chad cnewman 1000
13) Suprima Betty Dancs de la tabla MY_EMPLOYEE .
14) Visualize todos los empleados y compruebe que los cambios se ha realicado correctamente.
ID LAST_NAME FIRST_NAME USERID SALARY -- --------- ---------- ------ ------ 1 1 Patel Ralph rpatel 1000 2 3 Drexler Ben bbiri 1100 3 4 Newman Chad cnewman 1000
15) Confirme todos los cambios pendientes.
Controle la transacción de datos a la tabla MY_EMPLOYEE .
16) Rellene la tabla con la última fila de datos de ejemplo mostrada en el paso 3 mediante las sentencias del script que ha creado en el paso 6. Ejecute las sentencias en el script.
17) Compruebe que los datos se han introducido correctamente.
ID LAST_NAME FIRST_NAME USERID SALARY -- --------- ---------- ------ ------ 1 1 Patel Ralph rpatel 1000 2 3 Drexler Ben bbiri 1100 3 4 Newman Chad cnewman 1000 4 5 Ropeburn Audrey aropebur 1550
18) Marque un punto intermedio en el procesamiento de la transacción.
19) Suprima todas las filas de la tabla MY_EMPLOYEE .
20) Confirme que la tabla está vacía.
21) Deseche la operación DELETE más reciente sin desechar la operación INSERT anterior.
22) Compruebe que la nueva fila esté intacta.
ID LAST_NAME FIRST_NAME USERID SALARY -- --------- ---------- ------ ------ 1 1 Patel Ralph rpatel 1000 2 3 Drexler Ben bbiri 1100 3 4 Newman Chad cnewman 1000 4 5 Ropeburn Audrey aropebur 1550
23) Confirme los cambios.
Si tiene tiempo, realice el siguiente ejercicio:
24) Modifique el script lab_09_06.sql de forma que USERID se genere automáticamente concatenando la primera letra del primer nombre y de los primeros siete caracteres del apellido. El USERID generado debe estar en minúscula. Por lo tanto, no se debe solicitar el script para el USERID . Guarde este script en un archivo denominado lab_09_24.sql .
25) Ejecute el script lab_09_24.sql para insertar el siguiente registro:
ID | LAST_NAME | FIRST_NAME | USERID | SALARY |
---|---|---|---|---|
6 | Anthony | Mark | manthony | 1230 |
26) Compruebe que se ha agregado la nueva fila con el USERID correcto.
ID | LAST_NAME | FIRST_NAME | USERID | SALARY |
---|---|---|---|---|
6 | Anthony | Mark | manthony | 1230 |