Bases De datos
Introducci´n a SQL sobre Oracle
o
Luis A. Gonz´lez Ares
a
lgares@udc.es
Lenguaje SQL
Contenido
• Lenguaje SQL sobre Oracle.
−
−
−
−
−
−
−
−
−
Descripci´n de las caracter´
o
ısticas y elementos fundamentales del lenguaje.
Ejercicios sobre la sentencia SELECT.
Otras sentencias DML.
Sentencias DDL.
Vistas.
Indices.
Seguridad.Transacciones.
Cat´logo.
a
Nota
El presente material es un resumen de lo impartido en las clases de la Facultad de Inform´tica,
a
que se entrega como documento de apoyo.
Esta obra est´ bajo una licencia Reconocimiento-NoComercial-SinObraDerivada de Creative
a
Commons (Attribution-NonCommercial-NoDerivatives).
Introducci´n a SQL sobre Oracle – Luis Glez. Ares – lgares@udc.es
olgares@udc.es
1
Lenguaje SQL
Introducci´n a SQL
o
SQL (Structured Query Language : Lenguaje de Consulta Estructurado)
Acceder a los datos de un SGBD relacional (crear, consultar, modificar).
Evoluci´n:
o
• SEQUEL (Structured English QUEry Language). IBM para SYSTEM R.
• SQL-86 o SQL1. ANSI e ISO en 1986. Revisado en 1989.
• SQL-92 o SQL-2. 1992.
• SQL:1999, SQL:2003.
Dos vertientesfundamentales en los lenguajes de BD relacionales:
• DDL o LDD (lenguaje de definici´n de datos).
o
• DML o LMD (lenguaje de manipulaci´n de datos).
o
Otras caracter´
ısticas:
• Aspectos de control (seguridad, transacciones, concurrencia, etc.),
• Posibilidad de incluir SQL en lenguajes de prop´sito general como C, Pascal, Java, etc.
o
• Lenguaje no procedural (el qu´ frente al c´mo)
e
o
•Act´a sobre un conjunto de registros o filas.
u
• Base te´rica: se fundamenta en el ´lgebra relacional y en el c´lculo relacional.
o
a
a
• Lenguaje para todo tipo de usuarios de un SGBD relacional.
• Trabaja con tablas, columnas y filas, no con relaciones, atributos y tuplas. Una tabla es
diferente a una relaci´n, ya que puede tener filas repetidas.
o
• No es un lenguaje de prop´sito general.
oIntroducci´n a SQL sobre Oracle – Luis Glez. Ares – lgares@udc.es
o
lgares@udc.es
2
Lenguaje SQL
SQL*Plus de Oracle
Los fabricantes amplian las caracter´
ısticas del est´ndar pero dejan elementos sin implementar.
a
SQL*Plus: Interface de Oracle que permite ejecutar sentencias SQL y comandos propios.
Entrar en SQL*Plus (servidor oracle o xurxo):
$ sqlplus / [@filename]
ComandosSQL*Plus. Uno por fila:
SQL> DESC[RIBE] emp
Nombre
Nulo?
Tipo
----------------------------------------- -------- -------------------------EMPNO
ENAME
JOB
MGR
HIREDATE
SAL
COMM
DEPTNO
NOT NULL NUMBER(4)
VARCHAR2(10)
VARCHAR2(9)
NUMBER(4)
DATE
NUMBER(7,2)
NUMBER(7,2)
NUMBER(2)
Sentencias SQL: Multifila y acaban en ;
SQL> SELECT *
FROM
emp;
Salir de SQL*Plus:
SQL> EXITIntroducci´n a SQL sobre Oracle – Luis Glez. Ares – lgares@udc.es
o
lgares@udc.es
3
Lenguaje SQL
SQL*Plus de Oracle (cont.)
Crear el fichero de configuraci´n login.sql y ubicarlo en el directorio de llamada a SQL*Plus.
o
Por ejemplo:
$ cat login.sql
def_editor=vi
set pages 50
set feed 1
column empno format
column mgr
format
column sal
format
column comm
format
column deptnoformat
9990
9990
99,990
99,990
90
SQL*Plus usa un buffer para almacenar la ´ltima sentencia SQL ejecutada (no afecta a los
u
comandos SQL*Plus). Incorpora un editor de l´
ıneas elemental para realizar cambios m´
ınimos
en esa sentencia SQL, como visualizarla (LIST), editarla (ED), etc.
Algunas ´rdenes muy habituales son:
o
L[IST] [n [m]]
ED[IT] fichero[.sql]
R[UN]
/
SAV[E]fichero[.sql]
GET fichero[.sql]
Visualiza l´neas del buffer
ı
Edita un fichero [.sql]
Ejecuta lo almacenado en el buffer
Ejecuta lo almacenado en el buffer
Almacena el buffer en un fichero
Pasa al buffer un fichero
Introducci´n a SQL sobre Oracle – Luis Glez. Ares – lgares@udc.es
o
lgares@udc.es
4
Lenguaje SQL
SQL*Plus de Oracle (cont.)
Una lista m´s amplia de ´rdenes:...
Regístrate para leer el documento completo.