Vous êtes sur la page 1sur 4

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> start p10q1.sql
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: ID LAST_NAME FIRST_NA
ME DEPT_ID
Tipo de Clave:
NULLS / UNIQUE:
TABLA DE CLAVE FORÁNEA (FK):
COLUMNA DE CLAVE FORÁNEA (FK):
TIPO DE DATO: NUMBER VARCHAR2 VARCHAR2
VARCHAR2
TAMAÑO: 7 25 25
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> start p10q3.sql
SQL> DESC EMPLOYEE

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> ALTER TABLE EMPLOYEE
MODIFY ( LAST_NAME VARCHAR2(50) );
SQL> DESC EMPLOYEE
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> DESC EMP


Nombre Nulo? Tipo
------ ----- ----
EMPNO NOT NULL NUMBRE(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NOT NULL NUMBER(2)
SQL> CREATE TABLE EMPLOYEE2(
"ID" NUMBER(4) NOT NULL,
"LAST_NAME" VARCHAR2(10),
"DEPT_ID" NUMBER(2) NOT NULL
);
SQL> INSERT INTO "EMPLOYEE2" (ID, LAST_NAME, DEPT_ID)
SELECT EMPNO, ENAME, DEPTNO
FROM EMP;
SQL> SELECT ID, LAST_NAME, DEPT_ID
FROM EMPLOYEE2;
Solución del Apéndice: A-28
---------------------------
SQL> CREATE TABLE EMPLOYEE2 AS
SELECT EMPNO ID, ENAME LAST_NAME, DEPTNO DEPT_ID
FROM EMP;

Ejercicio 7: Suprima la tabla EMPLOYEE.


SQL> DROP TABLE EMPLOYEE;
Ejercicio 8: Renombre la tabla EMPLOYEE2 como EMPLOYEEE.
SQL> 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 EMPLOYEE IS 'LOS EMPLEADOS D
E LA EMPRESA';
SQL> COMMENT ON TABLE DEPARTMENT IS 'LOS DEPARTAMENT
OS DE LOS EMPLEADOS';
SQL> DESC USER_TAB_COMMENTS
Nombre Nulo? TIPO
------ ----- -----
TABLE_NAME NOT NULL VARCHAR2(30)
TABLE_TYPE VARCHAR2(11)
COMMENTS VARCHAR2(4000)
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 EMPLOYEE
DROP COLUMN 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 EMPLOYEE2 AS
SELECT EMPNO ID, ENAME LAST_NAME, DEPTNO DEPT_ID
FROM EMP;
SQL> ALTER TABLE EMPLOYEE2
SET UNUSED ( DEPT_ID );
SQL> DESC EMPLOYEE2
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> ALTER TABLE EMPLOYEE2
DROP UNUSED COLUMNS;
SQL> DESC EMPLOYEE2

Vous aimerez peut-être aussi