Está en la página 1de 6

Gua de ejercicios de laboratorio N 1

1. Iniciar los procesos de Oracle


1.1.Abrir una ventana de comandos (LXTerminal)
1.2.Iniciar el Listener
lsnrctl start
1.3.Invocar SQL*Plus para iniciar los procesos de la base de datos
sqlplus / as sysdba
1.4.Una vez que aparece el prompt de SQL*Plus (SQL>), ejecutar:
startup

2. Ejecutar algunos comandos de ejemplo en SQL*Plus


CREATE USER SCOTT IDENTIFIED BY tiger;

ALTER USER SCOTT DEFAULT TABLESPACE USERS;

DROP USER SCOTT;

3. Salir de SQL*Plus
EXIT

4. Cerrar la ventana de comandos


exit

5. Explorar la herramienta grfica Oracle SQL Developer


5.1.Invocar SQL Developer
5.2.Dar doble click en la conexin SYS
5.3.Ejecutar un comando de ejemplo (Usar Run statement o Ctrl+Enter)
SELECT * FROM DBA_USERS;
5.4.Crear el usuario SCOTT (ejecutar los comandos uno por uno con Ctrl-Enter)
CREATE USER SCOTT IDENTIFIED BY tiger;
5.5.Intentar conectarse con el usuario SCOTT
Click derecho en Connections, seleccionar New Connection
Llenar los siguientes datos y presionar Test
Connection Name: Scott
Usename: scott
Password: tiger
Save Password: (marcar)

Qu ocurri?
5.6.En la Hoja de trabajo de la conexin SYS, ejecutar comandos para otorgar
permisos a SCOTT
GRANT CREATE SESSION TO SCOTT;
5.7.Intentar conectarse nuevamente con el usuario SCOTT
5.8.Otorgar a SCOTT los privilegios necesarios para crear tablas y vistas
GRANT CREATE TABLE, CREATE VIEW TO SCOTT;

ALTER USER scott DEFAULT TABLESPACE USERS QUOTA UNLIMITED ON USERS;

6. Crear una tabla en el esquema SCOTT


6.1.Ingresar el siguiente comando y dar Ctrl+Enter
CREATE TABLE DEPT
(DEPTNO NUMBER(2),
DNAME VARCHAR2(14),
LOC VARCHAR2(13));
6.2.Aadir algunas filas a la tabla DEPT
INSERT INTO DEPT VALUES (10,'ACCOUNTING','NEW YORK');

INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS');

INSERT INTO DEPT VALUES (10,'ACCOUNTING','NEW YORK');


6.3.Leer el contenido de la tabla DEPT
SELECT * FROM DEPT;
Algo le llama la atencin? qu?
6.4.Definir una clave primaria en la tabla DEPT
ALTER TABLE DEPT ADD (CONSTRAINT dept_pk PRIMARY KEY (deptno));
Qu ocurri?
6.5.Borrar todas las filas de la tabla DEPT
DELETE FROM DEPT;
6.6.Intentar nuevamente definir una clave primaria en la tabla DEPT
ALTER TABLE DEPT ADD (CONSTRAINT dept_pk PRIMARY KEY (deptno));
6.7.Insertar datos que cumplan la definicin de la clave primaria en DEPT
INSERT INTO DEPT VALUES (10,'ACCOUNTING','NEW YORK');

INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS');

INSERT INTO DEPT VALUES (30,'SALES','CHICAGO');

INSERT INTO DEPT VALUES (40,'OPERATIONS','BOSTON');

7. Crear la tabla EMP en el esquema SCOTT


7.1.Ejecutar los siguientes comandos (opcional: definir la tabla usando la
intefaz grfica)
CREATE TABLE EMP
(EMPNO NUMBER(4),
ENAME VARCHAR2(10),
JOB VARCHAR2(9),
MGR NUMBER(4),
HIREDATE DATE,
SAL NUMBER(7,2),
COMM NUMBER(7,2),
DEPTNO NUMBER(2));

ALTER TABLE EMP ADD (CONSTRAINT emp_pk PRIMARY KEY (empno));

ALTER TABLE EMP ADD (CONSTRAINT emp_dept_fk FOREIGN KEY (deptno)


REFERENCES DEPT);
7.2.Insertar una fila en la tabla EMP (opcional: insertar la fila utilizando la
interfaz grfica)
INSERT INTO EMP VALUES (7369,'SMITH','CLERK',7902,DATE '1980-12-
17',800,NULL,50);
Qu ocurri?
7.3.Insertar datos que no infrinjan las restricciones en EMP
INSERT INTO EMP VALUES (7369,'SMITH','CLERK',7902,DATE '1980-12-
17',800,NULL,20);

INSERT INTO EMP VALUES (7499,'ALLEN','SALESMAN',7698,DATE '1981-2-


20',1600,300,30);

INSERT INTO EMP VALUES (7521,'WARD','SALESMAN',7698,DATE '1981-2-


22',1250,500,30);

INSERT INTO EMP VALUES (7566,'JONES','MANAGER',7839,DATE '1981-2-


4',2975,NULL,20);

INSERT INTO EMP VALUES (7654,'MARTIN','SALESMAN',7698,DATE '1981-9-


28',1250,1400,30);

INSERT INTO EMP VALUES (7698,'BLAKE','MANAGER',7839,DATE '1981-5-


1',2850,NULL,30);
INSERT INTO EMP VALUES (7782,'CLARK','MANAGER',7839,DATE '1981-6-
9',2450,NULL,10);

INSERT INTO EMP VALUES (7788,'SCOTT','ANALYST',7566,DATE '1987-7-


13',3000,NULL,20);

INSERT INTO EMP VALUES (7839,'KING','PRESIDENT',NULL,DATE '1981-11-


17',5000,NULL,10);

INSERT INTO EMP VALUES (7844,'TURNER','SALESMAN',7698,DATE '1981-9-


8',1500,0,30);

INSERT INTO EMP VALUES (7876,'ADAMS','CLERK',7788,DATE '1987-07-


13',1100,NULL,20);

INSERT INTO EMP VALUES (7900,'JAMES','CLERK',7698,DATE '1981-12-


3',950,NULL,30);

INSERT INTO EMP VALUES (7902,'FORD','ANALYST',7566,DATE '1981-12-


3',3000,NULL,20);

INSERT INTO EMP VALUES (7934,'MILLER','CLERK',7782,DATE '1982-1-


23',1300,NULL,10);

8. Crear y utilizar una vista


8.1.Crear la vista, ejecutando el siguiente comando
CREATE OR REPLACE VIEW EMP_VIEW AS
SELECT EMPNO, ENAME, DEPTNO, DNAME FROM EMP E JOIN DEPT D USING
(DEPTNO);
8.2.Leer a travs de la vista
SELECT EMPNO, ENAME, DEPTNO, DNAME FROM EMP_VIEW;
8.3.Aadir una columna a EMP
ALTER TABLE EMP ADD (otra_columna varchar2(5));
8.4.Leer a travs de la vista
SELECT EMPNO, ENAME, DEPTNO, DNAME FROM EMP_VIEW;
Funciona la vista igual que antes?
8.5.Quitar la columna aadida de EMP
ALTER TABLE EMP DROP (otra_columna);

9. Seguridad de vistas
9.1.En la Hoja de trabajo de la conexin SYS, crear el usuario REPORTUSER y
otorgarle permisos para leer la vista EMP_VIEW
CREATE USER reportuser IDENTIFIED BY reportuser;

GRANT CREATE SESSION TO reportuser;

GRANT SELECT ON scott.emp_view TO reportuser;


9.2.Crear y abrir una conexin que utilice el usuario REPORTUSER
9.3.Leer datos de las tablas EMP y DEPT, que usa la vista EMP_VIEW
SELECT * FROM scott.emp;

SELECT * FROM scott.dept;


Qu ocurri?
9.4.Leer datos a travs de la vista EMP_VIEW
SELECT * FROM scott.emp_view;

10.Revisar las propiedades de las tablas DEPT y EMP


10.1.Expandir el nodo correspondiente a la conexin SCOTT, presionando el
smbolo (+) de la izquierda
10.2.Expandir el nodo Tables
10.3.Seleccionar la tabla DEPT y revisar las distintas pestaas
10.4.Repetir el procedimiento para la tabla EMP
10.5.Cerrar las pestaas de DEPT y EMP

11.Consultar el diccionario de datos


11.1.Ejecutar las siguientes sentencias en la conexin de SCOTT
SELECT COLUMN_NAME, DATA_TYPE, NULLABLE, DATA_DEFAULT, COLUMN_ID
FROM USER_TAB_COLUMNS WHERE TABLE_NAME='EMP' ORDER BY 5;

SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE, SEARCH_CONDITION, R_OWNER,


R_CONSTRAINT_NAME, STATUS, DEFERRABLE
FROM USER_CONSTRAINTS WHERE TABLE_NAME='EMP';

SELECT * FROM USER_SYS_PRIVS WHERE USERNAME='SCOTT';

12.Detener la mquina virtual y los procesos de Oracle


12.1.Abrir una ventana de comandos
12.2.Detener el listener
lsnrctl stop
12.3.Invocar SQL*Plus
sqlplus / as sysdba
12.4.Detener el RDBMS Oracle
SHUTDOWN
12.5.Cerrar todas las ventanas y dar shutdown a la mquina virtual

También podría gustarte