Introduction to Oracle: SQL and PL/SQL, Instructor Guide, Volumen 1

Práctica 10: Creando y Gestionando Tablas --------------------------------------------------------------------

Ejercicio 1: Cree la tabla DEPARTMENT basada en el gráfico de instancia de la tabla sig uiente. Edite la sintaxis en un archivo de comandos (SCRIPT) nombrándolo p10q1.sql y luego ejecute el archivo de comandos para crear la tabla. Verifique que la tabla ha sido creada. Nombre de Columna: ID NAME Tipo de Clave: NULLS / UNIQUE: TABLA DE CLAVE FORÁNEA (FK): COLUMNA DE CLAVE FORÁNEA (FK): TIPO DE DATO: NUMBER VARCHAR2 TAMAÑO: 7 25 Contenido del archivo: p10q1.sql -------------------------------" CREATE TABLE "DEPARTMENT"( "ID" NUMBER(7), "NAME" VARCHAR2(25) ); " SQL> SQL> start p10q1.sql DESC DEPARTMENT;

Ejercicio 2: Complete la tabla DEPARTMENT con los datos de la tabla DEPT. Incluya sol amente las columnas que necesita. SQL> INSERT INTO DEPARTMENT (ID, NAME) SELECT DEPTNO, DNAME FROM DEPT;

Ejercicio 3: Cree la tabla EMPLOYEE basada en el gráfico de instancia de la tabla sigui ente. Edite la sintaxis en un archivo de comandos (SCRIPT) nombrándolo p10q3.sql y luego ejecute el archivo de comandos para crear la tabla. Verifique que la tabla ha sido creada. Nombre de Columna: ME DEPT_ID Tipo de Clave: NULLS / UNIQUE: ID LAST_NAME FIRST_NA

TABLA DE CLAVE FORÁNEA (FK): COLUMNA DE CLAVE FORÁNEA (FK): TIPO DE DATO: NUMBER VARCHAR2 VARCHAR2 TAMAÑO: 7 Contenido del archivo: p10q3.sql -------------------------------" CREATE TABLE "EMPLOYEE"( "ID" NUMBER(7), "LAST_NAME" VARCHAR2(25), "FIRST_NAME" VARCHAR2(25), "DEPT_ID" NUMBER(7) ); " SQL> SQL> start p10q3.sql DESC EMPLOYEE 7 25

VARCHAR2 25

Ejercicio 4: Modifique la tabla EMPLOYEE para permitir apellidos de empleados mas largos. Verifique su modificación. Ayuda: Cambie el tamaño de la columna "LAST_NAME" a 50. SQL> SQL> ALTER TABLE MODIFY DESC EMPLOYEE EMPLOYEE ( LAST_NAME VARCHAR2(50) );

Ejercicio 5: Verifique que ambas tablas DEPARTMENT y EMPLOYEE están almacenadas en el DICCIONARIO DE DATOS. Ayuda: Vista del DICCIONARIO DE DATOS USER_TABLES. SQL> SELECT TABLE_NAME FROM USER_TABLES WHERE TABLE_NAME IN ('DEPARTMENT','EMPLOYEE');

Ejercicio 6: Cree la tabla EMPLOYEE2 basada en la estructura de la tabla EMP. Incluya solamente las columnas EMPNO, ENAME y DEPTNO. Nombre las columnas en su nueva tabla ID, LAST_NAME y DEPT_ID, r espectivamente. SQL> Nombre -----EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO DESC EMP Nulo? ----NOT NULL Tipo ---NUMBRE(4) VARCHAR2(10) VARCHAR2(9) NUMBER(4) DATE NUMBER(7,2) NUMBER(7,2) NUMBER(2)

NOT NULL

SQL>

CREATE TABLE EMPLOYEE2( "ID" NUMBER(4) "LAST_NAME" VARCHAR2(10), "DEPT_ID" NUMBER(2) );

NOT NULL, NOT NULL

SQL>

INSERT INTO "EMPLOYEE2" (ID, LAST_NAME, DEPT_ID) SELECT EMPNO, ENAME, DEPTNO FROM EMP; SELECT ID, LAST_NAME, DEPT_ID FROM EMPLOYEE2;

SQL>

Solución del Apéndice: A-28 --------------------------SQL> CREATE TABLE SELECT FROM EMPLOYEE2 AS EMPNO ID, ENAME LAST_NAME, DEPTNO DEPT_ID EMP;

Ejercicio 7: SQL> Ejercicio 8: SQL>

Suprima la tabla EMPLOYEE. DROP TABLE EMPLOYEE;

Renombre la tabla EMPLOYEE2 como EMPLOYEEE. RENAME EMPLOYEE2 TO EMPLOYEE;

Ejercicio 9: Agregue comentarios a las definiciones de las tablas EMPLOYEE y DEPARTMENT describiendo las tablas. Verifique su adición en el Diccionario de Datos del Servidor Oracl e. SQL> COMMENT ON TABLE E LA EMPRESA'; SQL> COMMENT ON TABLE OS DE LOS EMPLEADOS'; SQL> DESC USER_TAB_COMMENTS Nulo? ----NOT NULL TIPO ----VARCHAR2(30) VARCHAR2(11) VARCHAR2(4000) EMPLOYEE DEPARTMENT IS IS 'LOS EMPLEADOS D 'LOS DEPARTAMENT

Nombre -----TABLE_NAME TABLE_TYPE COMMENTS SQL>

SELECT TABLE_NAME, COMMENTS FROM USER_TAB_COMMENTS WHERE TABLE_NAME IN ('EMPLOYEE','DEPARTMENT');

Ejercicio 10: Suprima la columna LAST_NAME de la tabla EMPLOYEE. Verifique su modificación chequeando la descripción de la tabla. SQL> ALTER TABLE DROP COLUMN EMPLOYEE LAST_NAME;

SQL>

DESC EMPLOYEE

Ejercicio 11: Cree la tabla EMPLOYEE2 basada en la estructura de la tabla EMP. Incluya solamente las columnas EMPNO, ENAME y DEPTNO. Nombre las columnas en su nueva tabla ID, LAST_NAME y DEPT_ID re spectivamente. Marque la columna DEPT_ID de la tabla EMPLOYEE2 como inutilizada. Verifique sus modificaciones chequeando las de scripción de la tabla. SQL> CREATE TABLE SELECT FROM ALTER TABLE SET UNUSED DESC EMPLOYEE2 EMPLOYEE2 AS EMPNO ID, ENAME LAST_NAME, DEPTNO DEPT_ID EMP; EMPLOYEE2 ( DEPT_ID );

SQL> SQL>

Ejercicio 12: Suprima todas las columnas marcadas como inutilizadas de la tabl a EMPLOYEE2. Verifique su modificación chequeando la descripción de la tabla. SQL> SQL> ALTER TABLE EMPLOYEE2 DROP UNUSED COLUMNS; DESC EMPLOYEE2

Sign up to vote on this title
UsefulNot useful