Sunteți pe pagina 1din 4

3 Ingeniero Tcnico en Informtica de Sistemas Asignatura: Fundamentos de Bases de Datos

Curso: 2006/7

PRCTICA T1. El entorno SQL*Plus de Oracle


Objetivos Adquirir destreza en el uso de las capacidades ofrecidas por el entorno SQL*Plus de Oracle Modalidad: laboratorio cerrado (tutorial) Contenidos SQL*Plus es la interfaz de usuario interactiva para el SGBD Oracle que se emplear para la escritura, depuracin y ejecucin de sentencias SQL de definicin, consulta y manipulacin de datos almacenados en la base de datos (prcticas B1, B2, T2 y B3). Esta prctica consiste en la exposicin de las caractersticas bsicas de SQL*Plus, y la realizacin por parte de los alumnos de una serie de ejemplos facilitados por la profesora, con el objetivo de ejercitar los conceptos conforme van siendo explicados. Ms concretamente, se describe y practica el uso de los comandos y variables del entorno SQL*Plus, cmo conectarse a una determinada cuenta de usuario de la base de datos, cmo escribir, depurar, ejecutar y almacenar sentencias SQL, cmo dar formato a los resultados para su correcta visualizacin, cmo construir y ejecutar scripts de base de datos, etc. El entorno de prcticas Servidor NT: SGBDR Oracle9i (Release 9.2.0.1.0) Intranet: SQL*Net por encima de TCP/IP Equipos Cliente de Oracle sobre Windows (laboratorios de prcticas) Interfaz de usuario interactiva para el SGBD Oracle Permite: - Escritura de sentencias de manipulacin y definicin de datos - Depuracin de dichas sentencias - Visualizacin de los resultados en pantalla (o su volcado a un fichero de texto) Es posible dar formato (presentacin) al resultado de una consulta Y consultar la ayuda en lnea Autenticacin del usuario: usuario (cuenta de BD, login) y contrasea (password) Identificacin de la Base de Datos mediante la cadena de host (cadena de conexin, connect string) que incluye los nombres del equipo servidor, protocolo de comunicacin y base de datos - Para la conexin desde los laboratorios, utilizaremos la cadena de conexin orcl92 - Si se trabaja con una base de datos local (Personal Oracle), no se necesita cadena de host (se deja en blanco) Formas de conexin a una cuenta de la base de datos: - Al iniciar SQL*Plus (ventana Conectar), - Desde dentro de SQL*Plus: connect <cuenta>/<contrasea>@<cadena-host> Deteccin y correccin de errores: omisin de la contrasea o de la cadena de host Cambio de contrasea de un usuario (informacin almacenada en el Diccionario de Datos) ALTER USER fbdsXXX IDENTIFIED BY nueva_contrasea ; (sentencia LDD) Utilice esta sentencia para modificar su clave de acceso a la base de datos; cambie
fbdsXXX por su nombre de grupo
Curso 2005/6. 3 ITI Sistemas. Fundamentos de Bases de Datos. Prctica T1. El entorno SQL*Plus de Oracle- 1/4

Caractersticas de SQL*Plus

Conexin con la Base de Datos desde SQL*Plus

Sentencias SQL en SQL*Plus El prompt tiene la apariencia siguiente: SQL> Se escribirn en SQL de Oracle (dialecto o implementacin del estndar SQL-92) - PL/SQL es una extensin del SQL de Oracle que incluye sentencias de control (IF..THEN..ELSE, iteraciones, etc.) Una sentencia SQL puede constar de varias lneas para mayor legibilidad (un retorno de carro (ENTER) no acaba la sentencia, sino que inicia una nueva lnea en la misma) Las sentencias SQL terminan con un ; (si tras l se pulsa ENTER, la sentencia se evaluar) El sistema almacena la consulta en un bfer, que es un fichero (de texto) que se llama afiedt.buf y se guarda en el directorio actual de trabajo El bfer siempre contiene la ltima sentencia SQL ejecutada - Observe que tras la sentencia no aparece el carcter ; sino / (que es un comando del
SQL*Plus, explicado ms abajo)

- Para visualizar el contenido del bfer puede invocarse al editor, mediante el comando EDIT de SQL*Plus (explicado ms abajo) Si surge el error no es posible crear el fichero de seguridad afiedt.buf (ya sea en la unidad C:\ o en F:\), significa que no tiene permiso de escritura sobre dicho directorio de la unidad Por tanto, debe establecer el directorio de trabajo actual en una unidad sobre la que tenga permiso de escritura, como la unidad D:\ Para ello, en la ventana de SQL*Plus, intentar Abrir (opcin de men) un fichero ubicado ah (en D:\), pero Cancelar la operacin al final; as, dicho directorio queda como activo (o actual) Pruebe las siguientes sentencias. Si el sistema encuentra algn error, trate de corregirlo utilizando el bfer y los comandos propios del SQL*Plus
-- Esto es una lnea de comentario REM Esto es otra lnea de comentario

SELECT * FROM CASARURAL; SELECT C.nombre, E.nombre FROM CASARURAL C, EMPLEADO E WHERE C.idcasa = E.idcasa ORDER BY C.nombre, E.nombre;
-- Crear una tabla: sustituya XX por su nmero de grupo:

CREATE TABLE GRUPO_FBDSXXX ( integrantes NUMBER(1) CHECK integrantes IN (1, 2), alumno1 VARCHAR(30) NOT NULL, alumno2 VARCHAR(30), prac_actual CHAR(2) NOT NULL CHECK prac IN (T1,B1,B2,T2,B3) );
-- Introduzca una fila con datos reales:

Comentario: Preparado para que salga el error de que faltan los parntesis que deben encerrar el CHECK Comentario: Preparado para que salga el error de que no se usa el nombre de columna correcto prac_actual

INSERT INTO GRUPO_FBDSXXX VALUES (<nmero personas>, <un nombre>, <otro nombre o null>, <prctica>);

Cancelacin de la ejecucin de una consulta: pulsando las teclas CONTROL+C Visualizacin del contenido de las vistas del Diccionario de Datos (en Oracle se llama as al Catlogo): ALL_TABLES, ALL_USERS, ALL_VIEWS, TAB, TABS(USER_TABLES), ... Pruebe a ver el contenido de las vistas anteriores

Comentario: SELECT table_name FROM ALL_TABLES WHERE owner = CASASRURALES;

Curso 2005/6. 3 ITI Sistemas. Fundamentos de Bases de Datos. Prctica T1. El entorno SQL*Plus de Oracle- 2/4

Comandos propios del entorno SQL*Plus No son sentencias SQL, por eso no necesitan finalizar con ; DESC[RIBE] <nombre_tabla> - DESCRIBE, o abreviado DESC, muestra informacin sobre las columnas de la tabla denominada <nombre_tabla>, es decir, tipo de datos, longitud, si admite el nulo... Pruebe a ejecutar este comando con las tablas CASARURAL, HABITACION y TIPOCTIVIDAD EDIT - Invoca el editor de textos (por defecto el Bloc de Notas, Notepad) con el contenido del bfer y permite su modificacin - Cuando se invoca EDIT desde SQL*Plus, mientras que no se abandona la edicin (se sale del editor grabando o descartando los cambios), la sesin SQL*Plus permanece inactiva o colgada (no es posible ejecutar ninguna sentencia SQL). Por tanto, si se desea trabajar simultneamente con la sesin SQL*Plus y el editor, es necesario abrir este ltimo desde fuera del entorno SQL*Plus L[IST] muestra el contenido del bfer R[UN] - Muestra y ejecuta el contenido del bfer (sentencia SQL). Este comando permite ejecutar repetidamente la sentencia contenida en el bfer / - Ejecuta el contenido del bfer. Tambin permite ejecutar repetidamente la sentencia contenida en el bfer. A diferencia de RUN, no muestra previamente la sentencia EDIT <nombre_fichero.extensin> - Abre el editor Notepad con el contenido del fichero indicado - Si no se indica extensin, por defecto se asume .sql SAVE <nombre_fichero.extensin>[REP[LACE]] - Guarda el contenido del bfer en el fichero indicado, dentro del directorio de trabajo actual. Si no se indica extensin, por defecto se toma .sql - Si el fichero ya existe y se desea sobrescribirlo es necesario incluir REPLACE (o abreviado REP) STA[RT] <nombre_fichero.extensin> - Ejecuta el contenido del fichero indicado (que debe ser un fichero script (o guin) de base de datos, es decir, un fichero de texto que contiene sentencias SQL) - Si no se indica extensin, por defecto se asume .sql GET <nombre_fichero.extensin > - Carga en el bfer el contenido del fichero indicado (pero no lo ejecuta) - Si no se indica extensin, por defecto se asume .sql SPO[OL] <nombre_fichero.extensin>... SPOOL OFF - Crea un fichero con el nombre indicado en el que, a partir de ese momento, se ir almacenando todo lo que vaya apareciendo por pantalla (eco): sentencias, resultados, mensajes de error... - Si no se indica extensin para el fichero, por defecto se toma .lst - El eco finaliza cuando se escribe SPOOL OFF EXIT (o QUIT) Finaliza la sesin de trabajo y cierra el entorno SQL*Plus - Cerrar la ventana de SQL*Plus sin haber ejecutado EXIT o QUIT finaliza la sesin de igual forma que si hubiera ocurrido un error

Comentario: C:/ORANT/BIN

Curso 2005/6. 3 ITI Sistemas. Fundamentos de Bases de Datos. Prctica T1. El entorno SQL*Plus de Oracle- 3/4

Comandos SQL*Plus de formato de visualizacin de los datos SHOW ALL muestra por pantalla el valor actual de las variables del entorno SQL*Plus SET PAGES[IZE] <n de filas> - N de lneas (del resultado de una consulta) mostradas por pantalla antes de volver a imprimir los nombres de las columnas de nuevo. Por defecto suele ser 24 - No tiene efecto si el PAUSE no est activo (ON) SET PAU[SE] ON y SET PAU[SE] OFF - Para el scroll cuando alcanza el PAGESIZE activo, y espera un ENTER para continuar (para mostrar las siguientes PAGESIZE filas). Por defecto est OFF SET LIN[ESIZE] <n> - Establece la mxima longitud de una lnea en pantalla. Por defecto suele ser 100 COLUMN <nombre_columna> FORMAT <formato> - COLUMN <nombre_columna> FORMAT An Visualiza una columna de tipo CHAR o VARCHAR2 con una anchura de n caracteres alfanumricos - COLUMN <nombre_columna> FORMAT 999,999.999 Visualiza una columna de tipo NUMBER con el formato indicado, donde cada 9 significa cualquier dgito del 0 al 9. - COLUMN <nombre_columna> DEFAULT Establece el formato por defecto para la columna indicada - COLUMN <nombre_columna> CLEAR Elimina el formato para la columna indicada - COLUMN <nombre_columna> Muestra el formato actual establecido para la columna indicada Ms informacin en el manual de referencia rpida de SQL*Plus (Quick Reference) Pruebe a dar formato a las columnas del resultado de esta sentencia:
SELECT C.nombre, H.idhabitacion, H.numcamas, H.precio FROM CASARURAL C, HABITACION H WHERE C.idcasa = H.idcasa AND C.idcasa IN (C01, C02);
Comentario: nombre A20 ; idhabitacion A2; numcamas 9; precio 99.99 Comentario: Poner a 10 y hacer SELECT * FROM ACTIVIDAD;

Importante: los formatos establecidos slo permanecen durante la sesin SQL*Plus Cmo proceder al resolver las consultas de las prcticas Escribir las sentencias SQL (SELECT, INSERT, DELETE, UPDATE...) en el entorno SQL*Plus Ejecutarlas con ;, RUN o / Depurarlas hasta que funcionen correctamente, utilizando el editor del bfer y ejecutndolas tantas veces como sea necesario Una vez que las sentencias sean correctas, guardarlas en un fichero en el directorio de trabajo, denominado por ejemplo pr_nn.sql (donde pr es el identificador de la prctica (b1, b2, b3...) y nn es el nmero del ejercicio), mediante el comando SAVE pr_nn A partir de ese momento, las sentencias podrn ser ejecutadas mediante START pr_nn, y editadas con EDIT pr_nn Para elaborar la documentacin, puede utilizarse SPOOL para almacenar en un fichero tanto el enunciado de las sentencias correspondientes a cada ejercicio como los resultados obtenidos con la ejecucin de las mismas. El contenido de ese fichero puede luego ser editado (con Word, por ejemplo) con el fin de dotarlo del formato de presentacin adecuado para su perfecta lectura y comprensin, hasta completar el informe de la prctica.

Curso 2005/6. 3 ITI Sistemas. Fundamentos de Bases de Datos. Prctica T1. El entorno SQL*Plus de Oracle- 4/4

S-ar putea să vă placă și