DP 13 3 Practice PDF

Title DP 13 3 Practice
Course Programacion
Institution Instituto Tecnológico Latinoamericano
Pages 6
File Size 170.4 KB
File Type PDF
Total Downloads 17
Total Views 115

Summary

Download DP 13 3 Practice PDF


Description

Programación de Bases de Datos con SQL academy .oracle.com

13-3: Modificación de una Tabla Actividades de Práctica Objetivos • •

• • • • • • •

Explicar por qué es importante poder modificar una tabla Explicar y proporcionar un ejemplo para cada una de las sentencias DDL (ALTER, DROP, RENAME y TRUNCATE) y el efecto que tiene cada una en las tablas y columnas Crear una consulta y ejecutar los comandos ADD, MODIFY y DROP de ALTER TABLE Explicar y ejecutar una FLASHBACK QUERY en una tabla Explicar y realizar operaciones FLASHBACK table Realizar un seguimiento de los cambios en los datos a lo largo de un período de tiempo Explicar los motivos para utilizar TRUNCATE frente a DELETE en las tablas Agregar un comentario a una tabla utilizando el comando COMMENT ON TABLE Enumerar los cambios que se pueden y no se pueden realizar en una columna • Explicar cuándo y por qué la sentencia SET UNUSED es ventajosa

Inténtelo/Resuélvalo Antes de comenzar la ejercicios prácticos, ejecute DESCRIBE para cada una de las siguientes tablas: o_employees, o_departments y o_jobs. Estas tablas se utilizarán en los ejercicios. Si no existen en su cuenta, créelas de la siguiente forma: Necesitará conocer qué columnas no permiten valores nulos. 1. Cree las tres o_tablas (jobs, employees y departments) mediante la sintaxis: CREATE TABLE o_jobs AS (SELECT * FROM jobs); CREATE TABLE o_employees AS (SELECT * FROM employees); CREATE TABLE o_departments AS (SELECT * FROM departments); 2. Agregue el cargo Human Resources a la tabla jobs: INSERT INTO o_jobs (job_id, job_title, min_salary, max_salary) VALUES('HR_MAN', 'Human Resources Manager', 4500, 5500); 3. Agregue los tres nuevos empleados a la tabla employees: INSERT INTO o_employees (employee_id, first_name, last_name, email, hire_date, job_id) VALUES(210, 'Ramon', 'Sanchez', 'RSANCHEZ', SYSDATE, 'HR_MAN'); 4. Agregue Human Resources a la tabla departments: INSERT INTO o_departments(department_id, department_name)

2 Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden ser marcas comerciales de sus respectivos propietarios.

VALUES (210,'Human Resources');

1. ¿Por qué es importante poder modificar una tabla? -Para editar las tablas, si hay un error dentro de ella. 2. Con CREATE, cree una tabla denominada Artists. a. Agregue lo siguiente a la tabla: • ID del artista • nombre • apellido • nombre del grupo • correo electrónico • tarifa por hora • ID de la canción de la tabla d_songs CREATE TABLE artists (artist_id NUMBER(5,0), first_name VARCHAR2(25) CONSTRAINT ait_first_name_nn NOT NULL ENABLE, last_name VARCHAR2(30) CONSTRAINT ait_last_name_nn NOT NULL ENABLE, band_name VARCHAR2(30), email VARCHAR2(75) CONSTRAINT ait_email_nn NOT NULL ENABLE, hr_rate NUMBER(8,2) CONSTRAINT ait_hr_rate_nn NOT NULL ENABLE, song_id NUMBER(5,0) CONSTRAINT ait_song_id_nn NOT NULL ENABLE, CONSTRAINT ait_id_pk PRIMARY KEY (artist_id) );

b. Utilizando INSERT, inserte un artista desde la tabla d_songs. c. Utilizando INSERT, inserte un artista de su propia elección; deje song_id en blanco. INSERT INTO Artists (artist_id, first_name, last_name, band_name, email, hr_rate, song_id) VALUES (15, "Alex", "Turner", "Arctic Monkeys", "[email protected]", 64,NULL); d. Proporcione un ejemplo de cómo se puede utilizar cada uno de los siguientes comandos en la tabla que ha creado: 1) ALTER TABLE ALTER TABLE artists RENAME COLUMN cancion to rola; 2) DROP TABLE ALTER TABLE artists_new_name Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden ser marcas comerciales de sus respectivos propietarios.

DROP UNUSED COLUMNS; 3) RENAME TABLE RENAME artists_new_name TO artists_2; 4) TRUNCATE TRUNCATE TABLE artists_2; SELECT * FROM artists_2; 5) COMMENT ON TABLE COMMENT ON COLUMN artists_2.artist_id is ‘hola'; 3. En su tabla o_employees, introduzca una nueva columna denominada “Termination”. El tipo de dato de la nueva columna debe ser VARCHAR2. Utilizando DEFAULT, defina el valor por defecto de esta columna como SYSDATE para que aparezca como datos de caracteres con el formato: February 20th, 2003. ALTER TABLE o_employees ADD ("Termination" VARCHAR2(100) DEFAULT TO_CHAR(SYSDATE,'Month ddth, YYYY') );

4. Cree una nueva columna en la tabla o_employees denominada start_date. Utilice TIMESTAMP WITH LOCAL TIME ZONE como tipo de dato. ALTER TABLE o_employees ADD (start_date TIMESTAMP WITH LOCAL TIME ZONE);

5. Trunque la tabla o_jobs. A continuación, ejecute una sentencia SELECT*. ¿Siguen allí las columnas? ¿Siguen allí los datos? DESCRIBE o_jobs; SELECT * FROM o_jobs; TRUNCATE TABLE o_jobs;

6. ¿Cuál es la diferencia entre TRUNCATE, DELETE y DROP para las tablas? -La instrucción DROP TABLE elimina la definición de la tabla de Oracle junto con los datos y los índices. -TRUNCATE TABLE elimina todas las filas y libera espacio de almacenamiento sin posibilidad de reversión. -La declaración DELETE SQL eliminará las filas pero no limpiará el espacio de almacenamiento.

Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden ser marcas comerciales de sus respectivos propietarios.

7. Enumere los cambios que se pueden y no se pueden realizar en una columna. 1. Puedo aumentar la precisión de una columna numérica. 2. En puede aumentar la longitud de la columna de caracteres 3. El tipo de datos se puede cambiar por completo si todos los valores en esta columna son nulos. 4. Puedo cambiar el nombre de una columna si quiero. 5. char puede convertirse en varchar2 si la columna contiene nulos o el tamaño proporcionado no es menor que cualquier campo existente para esa columna. 3 8. Agregue el siguiente comentario a la tabla o_jobs: "New job description added" Consulte el diccionario de datos para ver sus comentarios. COMMENT ON TABLE o_jobs IS 'New job description added'; SELECT table_name, comments FROM user_tab_comments WHERE LOWER(table_name) = 'o_jobs'; 9. Cambie el nombre de la tabla o_jobs a o_job_description. ALTER TABLE o_jobs RENAME TO o_job_description; 10. Ejercicios con la tabla f_staffs: a. Cree una copia de la tabla f_staffs denominada copy_f_staffs y utilice esta copia de tabla para las prácticas restantes de esta lección. CREATE TABLE copy_f_staffs AS ( SELECT * FROM f_staffs); b. Describa la nueva tabla para asegurarse de que existe. DESC copy_f_staffs; c. Borre la tabla. DROP TABLE copy_f_staffs; d. Intente realizar una selección en la tabla SELECT * FROM copy_f_staffs; -No existe la tabla e. Observe la papelera de reciclaje para ver dónde está la tabla. DESCRIBE user_recyclebin ; Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden ser marcas comerciales de sus respectivos propietarios.

f. Intente seleccionar desde la tabla borrada mediante el valor almacenado en la columna OBJECT_NAME. Deberá copiar y pegar el nombre como es exactamente y especificar el nombre nuevo entre “ “ (comillas dobles). Por lo tanto, si el nombre borrado que le devuelve es BIN$Q+x1nJdcUnngQESYELVIdQ==$0, deberá escribir una consulta que haga referencia a “BIN$Q+x1nJdcUnngQESYELVIdQ==$0”. g. SELECT * FROM "BIN$QF30ctmEV7jgU81jFJDpGA==$0"; Anule el borrado de la tabla. FLASHBACK TABLE copy_f_staffs TO BEFORE DROP;

h. Describa la tabla. DESCRIBE copy_f_staffs; 11. Siga con la tabla copy_f_staffs y realice una actualización de la tabla. a. Emita una sentencia SELECT para ver todas las filas y todas las columnas de la tabla copy_f_staffs. SELECT * FROM copy_f_staffs; b. Cambie el salario de Sue Doe a 12 y confirme el cambio. UPDATE copy_f_staffs SET salary = 12 WHERE first_name = 'Sue' AND last_name = 'Doe'; c. Emita una sentencia SELECT para ver todas las filas y todas las columnas de la tabla copy_f_staffs. SELECT * FROM copy_f_staffs; d. Para Sue Doe, actualice el salario a 2 y confirme el cambio. UPDATE copy_f_staffs SET salary = 2 WHERE first_name = 'Sue' AND last_name = 'Doe'; e. Emita una sentencia SELECT para ver todas las filas y todas las columnas de la tabla copy_f_staffs. SELECT * FROM copy_f_staffs;

Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden ser marcas comerciales de sus respectivos propietarios.

f. Ahora, emita una sentencia FLASHBACK QUERY en la tabla copy_f_staffs, para que pueda ver todos los cambios realizados. SELECT versions_operation, versions_starttime, versions_endtime, id, first_name, last_name, birthdate, salary,overtime_rate,training,staff_type,manager_id, manager_budget,manager_target FROM copy_f_staffs WHERE id = 12; g. Investigue el resultado de f), busque el salario original y actualice la columna de salario de la tabla copy_f_staffs para Sue Doe a su salario original. UPDATE copy_f_staffs SET salary = (SELECT salary FROM copy_f_staffs VERSIONS BETWEEN SCN MINVALUE AND MAXVALUE WHERE first_name = 'Sue' AND last_name = 'Doe' AND versions_operation IS NULL AND versions_starttime IS NULL) WHERE first_name = 'Sue' AND last_name = 'Doe';

Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden ser marcas comerciales de sus respectivos propietarios....


Similar Free PDFs