Professional Documents
Culture Documents
Fundacin Proydesa
s
a
h
rg)
o
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Fundacin Proydesa
Autores
Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.
Salome Clement
Brian Pottle
Puja Singh
Renuncia
Colaboradores y
Revisores Tcnicos
Anjulaponni Azhagulekshmi
Clair Bennett
Zarko Cesljas
Yanti Chang
Gerlinde Frenzen
Steve Friedberg
Joel Goodman
Nancy Greenberg
Pedro Neves
Manish Pawar
Surya Rekha
Helen Robertson
Lauran Serhal
Hilda Simon
Tulika Srivastava
s
a
h
rg)
o
sa ide
e
d
Redactor
roy nt Gu
p
Amitha Narayan
n@ tude
o
i
c is S
a
d
Diseador Grfico
n e th
u
f
(
Rajiv Chandrabhanu
A to us
S
DE nse
Publicador
Y
RO e lice
Jobi Varghese
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
U.S. GOVERNMENT RIGHTS
The U.S. Governments rights to use, modify, reproduce, release, perform, display, or
disclose these training materials are restricted by the terms of the applicable Oracle
license agreement and/or the applicable U.S. Government contract.
Aviso de Marca Registrada
Oracle es una marca comercial registrada de Oracle Corporation y/o sus filiales.
Todos los dems nombres pueden ser marcas comerciales de sus respectivos
propietarios.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Contenido
Introduccin
Objetivos I-2
Agenda I-3
Objetivos del Curso I-4
Agenda I-5
Apndices Utilizados en el Curso I-7
Agenda I-8
Oracle Database 11g: reas de Atencin I-9
Oracle Database 11g I-10
Oracle Fusion Middleware I-12
Oracle Enterprise Manager Grid Control I-13
Oracle BI Publisher I-14
Agenda I-15
Sistema de Gestin de Bases de Datos Relacionales y Relacionales de Objetos I-16
Almacenamiento de Datos en Diferentes Medios Fsicos I-17
Concepto de Base de Datos Relacional I-18
Definicin de una Base de Datos Relacional I-19
Modelos de Datos I-20
Modelo de Relacin de Entidades I-21
Convenciones de Modelado de Relacin de Entidades I-23
Relacin de Varias Tablas I-25
Terminologa de Bases de Datos Relacionales I-27
Agenda I-29
Uso de SQL para Consultar Base de Datos I-30
Sentencias SQL I-31
Entornos de Desarrollo para SQL I-32
Agenda I-33
Esquema Human Resources(HR) I-34
Tablas Utilizadas en el Curso I-35
Agenda I-36
Documentacin de Oracle Database I-37
Recursos Adicionales I-38
Resumen I-39
Prctica I: Visin General I-40
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
iii
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Objetivos 1-2
Agenda 1-3
Capacidades de las Sentencias SQL SELECT 1-4
Sentencia SELECT Bsica 1-5
Seleccin de Todas las Columnas 1-6
Seleccin de Columnas Concretas 1-7
Escritura de Sentencias SQL 1-8
Valores por Defecto de Cabeceras de Columna 1-9
Agenda 1-10
Expresiones Aritmticas 1-11
Uso de Operadores Aritmticos 1-12
Prioridad de Operadores 1-13
Definicin de Valor Nulo 1-14
Valores Nulos en Expresiones Aritmticas 1-15
Agenda 1-16
Definicin de Alias de Columna 1-17
Uso de Alias de Columna 1-18
Agenda 1-19
Operador de Concatenacin 1-20
Cadenas de Caracteres Literales 1-21
Uso de Cadenas de Caracteres Literales 1-22
Operador de Comillas (q) Alternativo 1-23
Filas Duplicadas 1-24
Agenda 1-25
Visualizacin de la Estructura de la Tabla 1-26
Uso del Comando DESCRIBE 1-27
Prueba 1-28
Resumen 1-29
Prctica 1: Visin General 1-30
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
2
iv
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
se
YD e2-36
Uso del ComandoO
VERIFY
n
R e lic
Prueba 2-37
P
N 2-38rabl
O
Resumen
I
C n2:sVisin
fe General 2-39
APrctica
D
N n-tra
U
F no
3 Uso de Funciones de Una Sola Fila para Personalizar la Salida
Objetivos 3-2
Agenda 3-3
Funciones SQL 3-4
Dos Tipos de Funciones SQL 3-5
Funciones de Una Sola Fila 3-6
Agenda 3-8
Funciones de Carcter 3-9
Funciones de Conversin de Caracteres 3-11
Using Case-Conversion Functions 3-12
Uso de Funciones de Conversin de Caracteres 3-12
Funciones de Manipulacin de Caracteres 3-13
Uso de las Funciones de Manipulacin de Caracteres 3-14
Fundacin Proydesa
Agenda 3-15
Funciones Numricas 3-16
Uso de la Funcin ROUND 3-17
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
S
cCondicionales
a
4 Uso de Funciones de Conversin y Expresiones
s
i
d
h
fun se t
Objetivos 4-2
(
Agenda 4-3
SA to u
E
e
s
Funciones de Conversin Y
4-4D
n
e
ic 4-5
RO
Conversin ImplcitaPdel
Tipo delDato
e
l
b de Dato 4-7
Conversin Explcita
ION fedelraTipo
C
Agenda
A 4-10ans
D
N de lanFuncin
-tr TO_CHAR con Fechas 4-11
FUUso
o
n del Modelo de Formato de Fecha 4-12
Elementos
Uso de la Funcin TO_CHAR con Fechas 4-16
Uso de la Funcin TO_CHAR con Nmeros 4-17
Uso de Funciones TO_NUMBER y TO_DATE 4-20
Uso de las Funciones TO_CHAR y TO_DATE con el Formato de Fecha RR 4-22
Agenda 4-23
Funciones de Anidacin 4-24
Funciones de Anidacin: Ejemplo 1 4-25
Funciones de Anidacin: Ejemplo 2 4-26
Agenda 4-27
Funciones Generales 4-28
Funcin NVL 4-29
Uso de la Funcin NVL 4-30
vi
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
n e th
Uso de Funciones MIN y MAX 5-8(fu
s
SA to u
Uso de la Funcin COUNTE5-9
se 5-10
YDDISTINCT
n
Uso de la PalabraO
Clave
e
R
lic Nulos 5-11
P
Funciones de
Grupo lyeValores
Agenda
ION5-12ferab
C
ndes Grupos de Datos 5-13
DACreacin
a
r
N
t
n- de Grupos de Datos: Sintaxis de la Clusula GROUP BY 5-14
FU noCreacin
Uso de la Clusula GROUP BY 5-15
5
vii
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
Creacin de Uniones con la Clusula ON 6-15
rg)
o
Recuperacin de Registros con la Clusula ON 6-16
sa ide
e
Creacin de Uniones en 3 Direcciones con la Clusula ON 6-17
d
roy nt Gu
Aplicacin de Condiciones Adicionales a una Unin 6-18
p
n@ tude
Agenda 6-19
o
i
c is S
a
Unin de una Tabla consigo Misma 6-20
d
fun se th
Autouniones que Utilizan la Clusula ON (6-21
SA to u
Agenda 6-22
E
D nse
Uniones no igualitarias 6-23
Y
ce no Igualitarias 6-24
i
RO con
l
Recuperacin de Registros
Uniones
P
le
N
b
Agenda 6-25
a
O
er sin Coincidencia Directa con las uniones OUTER 6-26
CIde Registros
f
s
Devolucin
A
ranfrente a Uniones OUTER 6-27
ND nINNER
t
Uniones
U
F LEFTnoOUTER JOIN 6-28
RIGHT OUTER JOIN 6-29
FULL OUTER JOIN 6-30
Agenda 6-31
Productos Cartesianos 6-32
Generacin de un Producto Cartesiano 6-33
Creacin de Uniones Cruzadas 6-34
Prueba 6-35
Resumen 6-36
Prctica 6: Visin General 6-37
viii
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
@ 7-19
Uso del Operador ALL en Subconsultas de VariasnFilas
de
u
o
t
i
c is S
Uso del Operador EXISTS 7-20
a
d
Agenda 7-21
fun se th
(
u
Valores Nulos en una Subconsulta
SA 7-22
o
t
E
D nse
Prueba 7-24
Y
Resumen 7-25
RO e lice
P
N
bl
Prctica
7: VisinaGeneral
7-26
O
r
I
e
C
A ansf
D
r los Operadores de Definicin
N8 Uso
n-tde
FU noObjetivos
8-2
Agenda 8-3
Operadores de Definicin 8-4
Instrucciones de los Operadores de Definicin 8-5
Servidor de Oracle y Operadores de Definicin 8-6
Agenda 8-7
Tablas Utilizadas en esta Leccin 8-8
Agenda 8-12
Operador UNION 8-13
ix
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
9 Manipulacin de Datos
g)
r
o
Objetivos 9-2
sa ide
e
Agenda 9-3
d
roy nt Gu
Lenguaje de Manipulacin de Datos 9-4
p
n@ tude
Adicin de una Nueva Fila a una Tabla 9-5
o
i
c is S
a
Sintaxis de las Sentencias INSERT 9-6
d
fun se th
Insercin de Filas 9-7
(
SA9-8 to u
Insercin de Filas con Valores Nulos
E
D 9-9 nse
Y
Insercin de Valores Especiales
O yliHora
ce Especficos 9-10
RFecha
Insercin de Valores
de
P
ble
Creacin deIO
un N
Script r9-11
a
fe Tabla 9-12
s
AC
Copia de
Filas de
Otra
n
D
ra
N n9-13
t
Agenda
U
F Cambio
no de Datos en la Tabla 9-14
Sintaxis de Sentencias UPDATE 9-15
Actualizacin de Filas en una Tabla 9-16
Actualizacin de Dos Columnas con una Subconsulta 9-17
Actualizacin de Filas Basada en Otra Tabla 9-18
Agenda 9-19
Eliminacin de Filas de Tablas 9-20
Sentencia DELETE 9-21
Supresin de Filas de Tablas 9-22
Supresin de Filas Basada en Otra Tabla 9-23
Sentencia TRUNCATE 9-24
Agenda 9-25
Transacciones de Base de Datos 9-26
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Fundacin Proydesa
s
a
h
rg)
o
sa ide
e
Clusula FOR UPDATE: Ejemplos 9-44
d
roy nt Gu
Prueba 9-46
p
n@ tude
Resumen 9-47
o
i
c is S
a
Prctica 9: Visin General 9-48
d
fun se th
(
u
SACreartyoGestionar
10 Uso de Sentencias DDLE
para
Tablas
e
D
s
Objetivos 10-2
Y en
O
R
lic
Agenda 10-3
P
e
l
Objetos
de Base
debDatos 10-4
a
r
ION
e
C
f
10-5
AReglasadensNomenclatura
D
r
N
t
- 10-7
n
FU noAgenda
Sentencia CREATE TABLE 10-8
Referencia a Tablas de Otro Usuario 10-9
Opcin DEFAULT 10-10
Creacin de Tablas 10-11
Agenda 10-12
Tipos de Dato 10-13
Tipos de Dato de Fecha y Hora 10-15
Agenda 10-16
Inclusin de Restricciones 10-17
Instrucciones de Restriccin 10-18
Definicin de Restricciones 10-19
Restriccin NOT NULL 10-21
Restriccin UNIQUE 10-22
xi
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
11 Creacin de Otros Objetos de Esquema
d
roy nt Gu
Objetivos 11-2
p
Agenda 11-3
n@ tude
o
i
c is S
a
Objetos de Base de Datos 11-4
d
Qu es una Vista? 11-5
fun se th
(
Ventajas de las Vistas 11-6
SA to u
E
D nse
Vistas Simples y ComplejasY11-7
RO e lice
Creacin de Vistas P11-8
l Vista 11-11
NDatosradebuna
Recuperacin
de
O
I
Modificacin
sfe 11-12
AC deanVistas
D
N nde-trVistas Complejas 11-13
Creacin
FUReglas
nopara Realizar Operaciones DML en una Vista 11-14
Uso de la Clusula WITH CHECK OPTION 11-17
Denegacin de Operaciones DML 11-18
Eliminacin de Vistas 11-20
Prctica 11: Visin General de la Parte 1 11-21
Agenda 11-22
Secuencias 11-23
Sentencia CREATE SEQUENCE: Sintaxis 11-25
Creacin de Secuencias 11-26
Pseudocolumnas NEXTVAL y CURRVAL 11-27
Uso de una Secuencia 11-29
Almacenamiento en Cach de los Valores de Secuencia 11-30
Modificacin de una Secuencia 11-31
xii
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Fundacin Proydesa
s
a
h
rg)
Apndice A: Prcticas y Soluciones
o
sa ide
e
d
Apndice AP: Prcticas y Soluciones adicionales
roy nt Gu
p
n@ tude
o
i
S
Apndice B: Descripciones de las Tablas ac
s
i
d
h
fun se t
(
Apndice C: Uso de SQL Developer
A to u
S
E
Objetivos C-2
D nse
Y
O Developer?
Qu es Oracle
ce C-3
i
RSQL
l
P
le Developer C-4
Especificaciones
de
SQL
N
b
a
O
Interfaz
SQL
erDeveloper 1.5 C-5
CI de
f
s
A
ande una Conexin a la Base Datos C-7
r
ND Creacin
t
U
n de Objetos de Bases de Datos C-10
F noExamen
Visualizacin de la Estructura de la Tabla C-11
Examen de Archivos C-12
Creacin de un Objeto de Esquema C-13
Creacin de una Nueva Tabla: Ejemplo C-14
Uso de la Hoja de Trabajo de SQL C-15
Ejecucin de Sentencias SQL C-18
Guardado de Scripts SQL C-19
Ejecucin de Archivos de Script Guardados: Mtodo 1 C-20
Ejecucin de Archivos de Script Guardados: Mtodo 2 C-22
Formato del Cdigo SQL C-23
Uso de Fragmentos C-24
Uso de Fragmentos: Ejemplo C-25
Depuracin de Procedimientos y Funciones C-26
xiii
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Fundacin Proydesa
s
a
h
rg)
o
sa ide
Uso del Comando CHANGE D-12
e
d
Comandos de Archivos SQL*Plus D-13
roy nt Gu
p
Using the SAVE, START Commands D-14
n@ tude
o
i
c is S
Comando SERVEROUTPUT D-15
a
d
Uso del Comando SQL*Plus SPOOL D-16
fun se th
(
Uso del Comando AUTOTRACE D-17
SA to u
E
D nse
Resumen D-18
Y
RO e lice
P
NJDeveloper
bl
Apndice E: Uso
de
a
O
r
I
Objetivos
ACE-2ansfe
D
N JDeveloper
E-3
-tr
n
FUOracle
o
Database
n Navigator E-4
Creacin de Conexin E-5
Examen de Objetos de Bases de Datos E-6
Ejecucin de Sentencias SQL E-7
Creacin de Unidades de Programa E-8
Compilacin E-9
Ejecucin de una Unidad de Programa E-10
Borrado de una Unidad de Programa E-11
Ventana Structure E-12
Ventana del Editor E-13
Navegador de Aplicaciones E-14
Despliegue de Procedimientos Java Almacenados E-15
Publicacin de Java en PL/SQL E-16
xiv
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
N n-tr
FU ndice
no
xv
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Fundacin Proydesa
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Fundacin Proydesa
Apndice A
Prcticas y Soluciones
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Tabla de Contenido
Prcticas para la Leccin I ........................................................................................................ 3
Prctica I-1: Introduccin ............................................................................................... 4
Soluciones a la Prctica I-1: Introduccin ...................................................................... 5
Prcticas de la Leccin 1......................................................................................................... 11
Prctica 1-1: Recuperacin de Datos mediante la Sentencia SQL SELECT ................ 12
Soluciones a la Prctica 1-1: Recuperacin de Datos mediante la Sentencia SQL
SELECT ........................................................................................................................ 16
Prcticas de la Leccin 2......................................................................................................... 19
Prctica 2-1: Restriccin y Ordenacin de Datos ......................................................... 20
Soluciones a la Prctica 2-1: Restriccin y Ordenacin de Datos ................................ 24
Prcticas de la Leccin 3......................................................................................................... 27
Prctica 3-1: Uso de Funciones de Una Sola Fila para Personalizar la Salida ............. 28
Soluciones a la Prctica 3-1: Uso de Funciones de Una Sola Fila para
Personalizar la Salida.................................................................................................... 32
Prcticas de la Leccin 4......................................................................................................... 35
Prctica 4-1: Uso de Funciones de Conversin y Expresiones Condicionales............. 36
Soluciones a la Prctica 4-1: Uso de Funciones de Conversin y Expresiones
Condicionales................................................................................................................ 39
Prcticas de la Leccin 5......................................................................................................... 41
Prctica 5-1: Informes de Datos Agregados con Funciones de Grupo ......................... 42
Soluciones a la Prctica 5-1: Informes de Datos Agregados con Funciones de
Grupo ............................................................................................................................ 45
Prcticas de la Leccin 6......................................................................................................... 48
Prctica 6-1: Visualizacin de Datos de Varias Tablas Utilizando Uniones ................ 49
Soluciones a la Prctica 6-1: Visualizacin de Datos de Varias Tablas Utilizando
Uniones ......................................................................................................................... 52
Prcticas de la Leccin 7......................................................................................................... 54
Prctica 7-1: Uso de Subconsultas para Solucionar Consultas..................................... 55
Soluciones a la Prctica 7-1: Uso de Subconsultas para Solucionar Consultas............ 57
Prcticas de la Leccin 8......................................................................................................... 59
Prctica 8-1: Uso de los Operadores de Definicin ...................................................... 60
Soluciones a la Prctica 8-1: Uso de los Operadores de Definicin............................. 62
Prcticas de la Leccin 9......................................................................................................... 64
Prctica 9-1: Manipulacin de Datos............................................................................ 65
Soluciones a la Prctica 9-1: Manipulacin de Datos................................................... 69
Prcticas de la Leccin 10....................................................................................................... 73
Prctica 10-1: Uso de Sentencias DDL para Crear y Gestionar Tablas........................ 74
Soluciones a la Prctica 10-1: Uso de Sentencias DDL para Crear y Gestionar
Tablas............................................................................................................................ 76
Prcticas de la Leccin 11....................................................................................................... 79
Prctica 11-1: Creacin de Otros Objetos de Esquema ................................................ 80
Soluciones a la Prctica 11-1: Creacin de Otros Objetos de Esquema ....................... 82
Prcticas del Apndice F......................................................................................................... 84
Prctica F-1: Sintaxis de Unin en Oracle.................................................................... 85
Soluciones a las Prcticas F-1: Sintaxis de Unin en Oracle........................................ 88
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Si se le pide que guarde algn archivo de los ejercicios prcticos, gurdelo en esta
ubicacin.
En las prcticas, puede que haya ejercicios que estn precedidos por las frases Si tiene
tiempo o Si desea superarse a s mismo. Realice estos ejercicios slo si ha terminado
el resto de ejercicios en el tiempo asignado y si desea poner a prueba sus habilidades.
s
a
h
rg)
o
sa ide
e
d
Nota
roy nt Gu
p
e de
dentorno
1) Todas las prcticas escritas utilizan Oracle SQL Developer
n@ como
u
o
t
i
S tambin puede usar
cSQL Developer,
desarrollo. Aunque se recomienda utilizar Oracle
a
s
i
d
h
SQL*Plus, disponible en este curso.
fun se t
(
u
2) Para cualquier consulta, la secuencia
recuperadas
de la base de datos puede
SA de filas
o
t
E
e
variar con respecto a la queD
se muestra
en
las
capturas
de
pantalla.
Y ens
O
R e lic
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Realice las prcticas despacio y de forma precisa. Puede experimentar guardando y
ejecutando los archivos de comandos. Si tiene alguna duda en cualquier momento,
pregunte a su instructor.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
sta es la primera de varias prcticas de este curso. Las soluciones (si las necesita) estn
al final de esta prctica. Las prcticas estn destinadas a abarcar la mayora de los temas
que se presentan en la leccin correspondiente.
Inicio de Oracle SQL Developer
1) Inicie Oracle SQL Developer mediante el icono del escritorio de SQL Developer.
Creacin de Nuevas Conexiones a la Base de Datos de Oracle SQL Developer
2) Para crear una nueva conexin a la base de datos, en el navegador de conexiones,
haga clic con el botn derecho del mouse en Connections. Seleccione New
Connection en el men. Aparece el cuadro de dilogo New/Select Database
Connection.
3) Cree una conexin a la base de datos con la siguiente informacin:
a) Connection Name: myconnection
s
a
h
b) Username: ora1
rg)
o
c) Password: ora1
sa ide
e
d
d) Hostname: localhost
roy nt Gu
p
e) Port: 1521
n@ tude
o
i
c is S
a
f) SID: ORCL
d
n e th
u
f
(
Asegrese de activar la casilla de control
us
A SavetoPassword.
S
e a la Base de Datos de Oracle SQL
DlaEConexin
s
Prueba y Conexin mediante
Y
n
e
RO e lic
Developer
P
N conexin.
bl
4) Pruebe laIO
nueva
a
r
C nsfe
Aestado
5) Si
el
D
N n-traes Success, conctese a la base de datos mediante esta nueva conexin.
U
F Examen
no de Tablas en el Navegador de Conexiones
6) En el navegador de conexiones, visualice los objetos disponibles en el nodo Tables.
Verifique que las siguientes tablas estn presentes:
COUNTRIES
DEPARTMENTS
EMPLOYEES
JOB_GRADES
JOB_HISTORY
JOBS
LOCATIONS
REGIONS
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
1) Inicie Oracle SQL Developer mediante el icono del escritorio de SQL Developer.
a) Haga doble clic en el icono del escritorio de SQL Developer.
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
N n-tr
FUCreacin
no de Nuevas Conexiones a la Base de Datos de Oracle SQL Developer
2) Para crear una nueva conexin a la base de datos, en el navegador de conexiones,
haga clic con el botn derecho del mouse en Connections y seleccione New
Connection en el men.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
3) Cree una conexin a la base de datos con la siguiente informacin:
d
oy nt Gu
r
p
a) Connection Name: myconnection
@ tude
n
o
i
b) Username: ora1
c is S
a
d
c) Password: ora1
fun se th
(
A to u
d) Hostname: localhost ES
D nse
Y
e) Port: 1521
RO e lice
P
f) SID: ORCL
N rabl
O
I
Asegrese
sfela casilla de control Save Password.
ACde aactivar
n
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
)
Prueba y Conexin mediante la Conexin a la Base de Datos de Oracle SQL rg
o
Developer
sa ide
e
d
4) Pruebe la nueva conexin.
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
Al crear una conexin, automticamente se abre una hoja de trabajo de SQLo
para
sa ide
dicha conexin.
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Examen de Tablas en el Navegador de Conexiones
6) En el navegador de conexiones, visualice los objetos disponibles en el nodo Tables.
Verifique que las siguientes tablas estn presentes:
COUNTRIES
DEPARTMENTS
EMPLOYEES
JOB_GRADES
JOB_HISTORY
JOBS
LOCATIONS
REGIONS
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Prcticas de la Leccin 1
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
En esta prctica, escribir consultas simples SELECT. Las consultas tratan la mayora de
las operaciones y clusulas SELECT que ha aprendido en esta leccin.
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Parte 1
Ponga a prueba sus conocimientos:
1) La siguiente sentencia SELECT se ejecuta correctamente:
SELECT last_name, job_id, salary AS Sal
FROM
employees;
Verdadero/Falso
2) La siguiente sentencia SELECT se ejecuta correctamente:
SELECT *
FROM
job_grades;
s
a
h
rg)
o
sa ide
e
Verdadero/Falso
d
roy nt Gu
p
deidentificarlos?
n@ Puede
3) En la siguiente sentencia hay cuatro errores de codificacin.
u
o
t
i
c is S
a
d
SELECT
employee_id, last_name
fun se th
sal x 12 ANNUAL SALARY
(
u
FROM
employees; SA
o
t
E
D nse
Y
O lice
R
P
Parte 2
le
N
b
a
O
I losfsiguientes
er
Tenga enC
cuenta
puntos antes de iniciar las prcticas:
s
A
n
D
ratodos los archivos de los ejercicios prcticos en la siguiente ubicacin:
N Guarde
t
U
n
F no/home/oracle/labs/sql1/labs
Introduzca las sentencias SQL en una hoja de trabajo de SQL. Para guardar un
script en SQL Developer, asegrese de que la hoja de trabajo de SQL necesaria
est activa y, a continuacin, en el men File, seleccione Save As para guardar la
sentencia SQL como un script lab_<lessonno>_<stepno>.sql. Cuando est
modificando un script existente, asegrese de que utiliza Save As para guardarlo
con un nombre de archivo diferente.
Para ejecutar una consulta, haga clic en el icono Execute Statement en la hoja de
trabajo de SQL. Como alternativa, puede pulsar [F9]. Para sentencias DML y
DDL, utilice el icono Run Script o pulse [F5].
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
5) Determine la estructura de la tabla EMPLOYEES.
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
El departamento de recursos humanos desea que una consulta muestre el apellido, ID
de cargo, fecha de contratacin e ID de empleado de cada empleado, con el ID de
empleado en primer lugar. Proporcione un alias STARTDATE para la columna
HIRE_DATE. Guarde la sentencia SQL en un archivo con el nombre
lab_01_05.sql para distribuirlo al departamento de recursos humanos.
6) Pruebe la consulta en el archivo lab_01_05.sql para asegurarse de que se ejecuta
correctamente.
Nota: una vez ejecutada la consulta, asegrese de que no introduce la siguiente
consulta en la misma hoja de trabajo. Abra una hoja de trabajo nueva.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
7) El departamento de recursos humanos desea una consulta para mostrar todos los ID
de cargo nicos de la tabla EMPLOYEES.
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
C nsfe
Parte
3A
D
N n-tra
U
F Si tiene
notiempo, realice los siguientes ejercicios:
8) El departamento de recursos humanos desea cabeceras de columna ms descriptivas
para su informe sobre empleados. Copie la sentencia de lab_01_05.sql en una
nueva hoja de trabajo de SQL. Asigne a las cabeceras de columna los nombres Emp
#, Employee, Job y Hire Date, respectivamente. A continuacin, vuelva a ejecutar
la consulta.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
Si desea superarse a s mismo, complete el siguiente ejercicio:
o
i
ac hi,screeSuna consulta para
d
10) Para familiarizarse con los datos de la tablanEMPLOYEES
t
fu cada
e
mostrar todos los datos de dicha tabla.(Separe
salida de la columna por una
s
u .
SATHE_OUTPUT
o
coma. Asigne a la columna elE
ttulo
t
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Parte 1
Ponga a prueba sus conocimientos:
1) La siguiente sentencia SELECT se ejecuta correctamente:
SELECT last_name, job_id, salary AS Sal
FROM
employees;
Verdadero/Falso
2) La siguiente sentencia SELECT se ejecuta correctamente:
SELECT *
FROM
job_grades;
s
a
h
rg)
o
sa ide
e
Verdadero/Falso
d
roy nt Gu
p
deidentificarlos?
n@ Puede
3) En la siguiente sentencia hay cuatro errores de codificacin.
u
o
t
i
c is S
a
d
SELECT
employee_id, last_name
fun se th
sal x 12 ANNUAL SALARY
(
u
FROM
employees; SA
o
t
E
D nse
Y
La tabla EMPLOYEES
ice ninguna columna denominada sal. La
RO enolcontiene
P
columnaN
se denomina
bl SALARY.
a
O
r
I
e multiplicacin es *, no x, como se muestra en la lnea 2.
C nsfde
DA
El operador
N n-tra
U
F noEl alias ANNUAL SALARY no puede incluir espacios. El alias debe ser
ANNUAL_SALARY o se deben incluir entre comillas dobles.
Parte 2
Se le ha contratado como programador de SQL para Acme Corporation. Su primera tarea
es crear algunos informes segn los datos de las tablas de recursos humanos.
4) Su primera tarea es determinar la estructura de la tabla DEPARTMENTS y su contenido.
a. Para determinar la estructura de la tabla DEPARTMENTS:
DESCRIBE departments
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
SELECT *
FROM
departments;
s
a
h
rg)
6) Pruebe la consulta en el archivo lab_01_05.sql para asegurarse de que se
ejecuta
o
correctamente.
sa ide
e
d
u
G
SELECT employee_id, last_name, job_id, hire_date
roy StartDate
t
p
FROM
employees;
en
@
d
n
u
io para
Stmostrar todos los ID
cconsulta
7) El departamento de recursos humanos desea d
una
a
s
i
de cargo nicos de la tabla EMPLOYEES
f.un se th
(
A to u
SELECT DISTINCT job_idES
e
FROM
employees; YD
s
n
e
RO e lic
P
N rabl
O
Parte 3
I
C nsfe
A
D
SiN
tiene tiempo,
ra realice los siguientes ejercicios:
t
U
n
F 8) Elnodepartamento de recursos humanos desea cabeceras de columna ms descriptivas
para su informe sobre empleados. Copie la sentencia de lab_01_05.sql en una
nueva hoja de trabajo de SQL. Asigne a las cabeceras de columna los nombres Emp
#, Employee, Job y Hire Date, respectivamente. A continuacin, vuelva a ejecutar
la consulta.
SELECT employee_id "Emp #", last_name "Employee",
job_id "Job", hire_date "Hire Date"
FROM
employees;
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Prcticas de la Leccin 2
En esta prctica se crean ms informes, incluyendo sentencias que utilizan las clusulas
WHERE y ORDER BY. Puede hacer que las sentencias SQL sean ms reutilizables y
genricas incluyendo la sustitucin con ampersand.
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
2) Abra una hoja de trabajo de SQL nueva. Cree un informe que muestre el apellido y el
nmero de departamento para el nmero de empleado 176. Ejecute la consulta.
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
de con salarios
n@los empleados
u
3) El departamento de recursos humanos necesita encontrar
o
t
i
S el apellido y el
c paraismostrar
a
tanto altos como bajos. Modifique lab_02_01.sql
d
h
t 5.000 y 12.000 dlares.
salario de cualquier empleado cuyo salario
entre
funno est
e
(
s
Guarde la sentencia SQL como lab_02_03.sql
SA to u .
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
th que muestre el apellido y
fun unseinforme
7) El departamento de recursos humanos(necesita
u contratados durante el ao 1994.
Aempleados
la fecha de contratacin de todosSlos
o
t
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
N n-tr
FU8) Cree
o un informe para mostrar el apellido y el puesto de todos los empleados que no
n
tienen un supervisor.
9) Cree un informe para mostrar el apellido, salario y comisin de todos los empleados que
perciben comisiones. Ordene los datos en orden descendente de salario y comisiones.
Utilice la posicin numrica de la columna en la clusula ORDER BY.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
un se th
f
(
manager_id = 201, ordenado por salary:
SA to u
E
D nse
Y
RO e lice
P
N
bl por employee_id:
a
O
manager_id
= 124,
ordenado
r
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
13) Muestre los apellidos de los empleados que tengan una "a" y una "e" en su apellido.
s
a
h
rg)
o
syacomisin
e
e
d
15) Modifique el archivo lab_02_06.sql para mostrar el apellido, salario
i
d
oy nt Gu
de todos los empleados cuya comisin sea del 20%. Vuelvap
a rguardar
lab_02_06.sql como lab_02_15.sql. Vuelva a ejecutar
de en el
n@ latusentencia
o
i
archivo lab_02_15.sql.
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
last_name, salary
employees
salary > 12000;
2) Abra una hoja de trabajo de SQL nueva. Cree un informe que muestre el apellido y el
nmero de departamento para el nmero de empleado 176.
SELECT
FROM
WHERE
last_name, department_id
employees
employee_id = 176;
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
SELECT last_name, salary
n@ tude
FROM
employees
o
i
c12000;is S
WHERE
salary NOT BETWEEN 5000 AND
a
d
n de cargo
thy fecha de contratacin de los
fuID
4) Cree un informe para mostrar el apellido,
e
(
usOrdene la consulta en orden
A y Taylor.
empleados cuyos apellidos seanS
Matos
o
t
ascendente por fecha de contratacin.
DE nse
Y
SELECT
last_name,
ice hire_date
RO ejob_id,
l
P
FROM
employees
N rabl IN ('Matos', 'Taylor')
WHERE IO last_name
sfe
ACBYanhire_date;
ORDER
D
NMuestre
-telr apellido y el ID de departamento de todos los empleados de los
n
FU5) departamentos
o
n
20 o 50 en orden alfabtico ascendente por nombre.
3) El departamento de recursos humanos necesita encontrar los empleados con salarios
tanto altos como bajos. Modifique lab_02_01.sql para mostrar el apellido y el
salario de todos los empleados cuyo salario no est entre 5.000 y 12.000 dlares.
Guarde la sentencia SQL como lab_02_03.sql.
SELECT
last_name, department_id
FROM
employees
WHERE
department_id IN (20, 50)
ORDER BY last_name ASC;
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
last_name, hire_date
employees
hire_date LIKE '%94';
8) Cree un informe para mostrar el apellido y el puesto de todos los empleados que no
tienen un supervisor.
SELECT
FROM
WHERE
last_name, job_id
employees
manager_id IS NULL;
9) Cree un informe para mostrar el apellido, salario y comisin de todos los empleados
que perciben comisiones. Ordene los datos en orden descendente de salario y
comisiones. Utilice la posicin numrica de la columna en la clusula ORDER BY.
s
a
h
SELECT
last_name, salary, commission_pct
rg)
FROM
employees
o
WHERE
commission_pct IS NOT NULL
sa ide
e
d
ORDER BY 2 DESC, 3 DESC;
roy nt Gu
p
10) Los miembros del departamento de recursos humanos desean
tener
e flexibilidad
dms
nun@
u
o
t
con las consultas que est creando. Les gustara tener
informe
que
muestre el
i
S
c
a
s
i
apellido y el salario de los empleados que ganen
ms
de
una
cantidad
especificada por
d
h
n
t
u
f
el usuario despus de una solicitud. (Puede
( utilizar
sela consulta creada en el ejercicio
u
A
prctico 1 y modificarla). Guarde
esta
consulta
en
S
to un archivo denominado
E
e
D
lab_02_10.sql.
Y ens
O
R esalary
lic
SELECT last_name,
P
l
N rab
FROM
IOemployees
WHERE
salary
C
A ansfe > &sal_amt;
D
NIntroduzca
-tr 12000 cuando se le solicite un valor en un cuadro de dilogo. Haga clic
n
FU en
o
n OK.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
last_name
employees
last_name LIKE '__a%';
13) Muestre los apellidos de los empleados que tengan una "a" y una "e" en su apellido.
s
a
h
SELECT
last_name
rg)
FROM
employees
o
sa ide
WHERE
last_name LIKE '%a%'
e
d
AND
last_name LIKE '%e%';
roy nt Gu
p
n@ tude
Si desea superarse a s mismo, complete los siguientesiejercicios:
o
c is S
a
d
14) Muestre el apellido, cargo y salario de todos
los
empleados
sean vendedores u
un se thno seaque
oficinistas en el departamento de stock(fy cuyo salario
igual que 2.500, 3.500 o
SA to u
7.000 dlares.
E
e
Djob_id,
s
Y
n
SELECT
last_name,
salary
e
RO e lic
FROM
employees
P
bl ('SA_REP', 'ST_CLERK')
WHERE ON
job_id aIN
r
I
AND C
sfe NOT IN (2500, 3500, 7000);
A ansalary
D
N n-tr el archivo lab_02_06.sql para mostrar el apellido, salario y comisin
FU15) Modifique
notodos los empleados cuya comisin sea del 20%. Vuelva a guardar
de
lab_02_06.sql como lab_02_15.sql. Vuelva a ejecutar la sentencia en el
archivo lab_02_15.sql.
SELECT
FROM
WHERE
Fundacin Proydesa
Prcticas de la Leccin 3
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Esta prctica proporciona una variedad de ejercicios que utilizan diferentes funciones que
estn disponibles para tipos de dato de carcter, de nmero y de fecha.
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
1) Escriba una consulta para mostrar la fecha del sistema. Etiquete la columna como
Date.
Nota: si la base de datos se ubica de forma remota en una zona horaria diferente, la
salida ser la fecha del sistema operativo en el que reside la base de datos.
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
O lice
R
P
4) Modifique la consulta lab_03_02.sql
para agregar una columna que reste el
le
N
b
a
O
salario antiguo
del
nuevo.
Etiquete
la
columna
como Increase. Guarde el contenido
r
I
e
C
f
del
como
ns lab_03_04.sql. Ejecute la consulta revisada.
DAarchivo
a
r
N
t
FU non-
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Vuelva a escribir la consulta para que se le solicite al usuario que introduzca la letra
por la que empieza el apellido. Por ejemplo, si el usuario introduce "H" (en
mayscula) cuando se le solicita que introduzca una letra, la salida debe mostrar a
todos los empleados cuyos apellidos empiecen por la letra "H".
s
a
h
rg)
o
sa ide
e
d
Gu no
rolayletranintroducida
Modifique la consulta de forma que la mayscula/minsculapde
t
afecte a la salida. La letra introducida debe estar en mayscula
dede que la procese
n@ tantes
u
o
i
la consulta SELECT.
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
8) Cree una
consulta
eque muestre los primeros ocho caracteres de los apellidos de los
C
f
s
A
D traynque indique las cantidades de sus salarios con asteriscos. Cada asterisco
Nempleados
- mil dlares. Ordene los datos en orden descendente de salarios. Etiquete la
significa
U
F columna
non como EMPLOYEES_AND_THEIR_SALARIES.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
1) Escriba una consulta para mostrar la fecha del sistema. Etiquete la columna como
Date.
Nota: si la base de datos se ubica de forma remota en una zona horaria diferente, la
salida ser la fecha del sistema operativo en el que reside la base de datos.
SELECT
FROM
sysdate "Date"
dual;
s
a
h
FROM
rg)
o
INITCAP(last_name) "Name",
LENGTH(last_name) "Length"
FROM
employees
WHERE
last_name LIKE 'J%'
OR
last_name LIKE 'M%'
OR
last_name LIKE 'A%'
ORDER BY last_name ;
Vuelva a escribir la consulta para que se le solicite al usuario que introduzca la letra
por la que empieza el apellido. Por ejemplo, si el usuario introduce H (en mayscula)
cuando se le solicita que introduzca una letra, la salida debe mostrar a todos los
empleados cuyos apellidos empiecen por la letra "H".
Oracle Database: Conceptos Fundamentales de SQL I A-32
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
SELECT
INITCAP(last_name) "Name",
LENGTH(last_name) "Length"
FROM
employees
WHERE
last_name LIKE '&start_letter%'
ORDER BY last_name;
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
e valores de la
Nota: debido a que esta consulta depende de la fecha n
de@
ejecucin,
dlos
u
o
t
i
S
columna MONTHS_WORKED sern diferentes. ac
s
i
d
h
fun se t
SELECT last_name, ROUND(MONTHS_BETWEEN(
(
u
A MONTHS_WORKED
SYSDATE, hire_date))
S
o
t
E
FROM
employees
D nse
Y
ORDER BY months_worked;
RO e lice
P
l
N
bsiguientes
Si tiene tiempo,
realice rlos
ejercicios:
a
O
I
e
C
f
ns para mostrar el apellido y el salario de todos los empleados.
7) Cree
DAunatrconsulta
a
N
n- el salario para que tenga 15 caracteres de longitud y tenga un relleno hacia
FU Formatee
o
n
la izquierda con el smbolo $. Etiquete la columna como SALARY.
SELECT last_name,
LPAD(salary, 15, '$') SALARY
FROM
employees;
8) Cree una consulta que muestre los primeros ocho caracteres de los apellidos de los
empleados y que indique las cantidades de sus salarios con asteriscos. Cada asterisco
significa mil dlares. Ordene los datos en orden descendente de salarios. Etiquete la
columna como EMPLOYEES_AND_THEIR_SALARIES.
SELECT rpad(last_name, 8)||' '||
rpad(' ', salary/1000+1, '*')
EMPLOYEES_AND_THEIR_SALARIES
FROM employees
ORDER BY salary DESC;
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Prcticas de la Leccin 4
Esta prctica proporciona una variedad de ejercicios que utilizan las funciones TO_CHAR
y TO_DATE y expresiones condicionales como DECODE y CASE. Recuerde que para las
funciones anidadas, los resultados se evalan desde la funcin ms profunda hasta la
funcin menos profunda.
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
2) Muestre el apellido, fecha de contratacin y fecha de revisin de salario de cada
o
empleado, que es el primer lunes despus de seis meses de contrato. Etiquete
sa laide
e
d
columna como REVIEW. Formatee las fechas para que aparezcan
Gu
royen unnformato
t
p
similar a Lunes treinta y uno de julio de 2000.
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
C
A ansfe
D
r
N
FU non-t
3) Muestre el apellido, fecha de contratacin y da de la semana en el que empez a
trabajar el empleado. Etiquete la columna como DAY. Ordene los resultados por el da
de la semana, empezando por el lunes.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
4) Cree una consulta que muestre los apellidos y comisiones de los empleados. Si un
empleado no obtiene ninguna comisin, indique "No Commission". Etiquete la
columna como COMM.
s
a
h
rg)
o
sa ide
e
d
Si tiene tiempo, realice los siguientes ejercicios:
roy nt Gu
p
5) Con la funcin DECODE, escriba una consulta que muestre
@el grado
ddee todos los
n
u
o
t
i
empleados segn el valor de la columna JOB_IDc
, utilizandoS
los siguientes datos:
a
s
i
d
h
Cargo
Grado
un se t
f
(
AD_PRES
A
A to u
ST_MAN
B ES
D nse
Y
IT_PROG
C
RO eD lice
SA_REP
P
ST_CLERK N
bl 0E
a
r
IOthe fabove
NoneC
of
A ans e
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
FROM
s
a
h
SELECT last_name, hire_date,
rg)
o
TO_CHAR(NEXT_DAY(ADD_MONTHS(hire_date, 6),'MONDAY'),
sa ide
'fmDay, "the" Ddspth "of" Month, YYYY') REVIEW
e
d
FROM
employees;
roy nt Gu
p
e empez a
@ entueldque
3) Muestre el apellido, fecha de contratacin y da de la n
semana
o
i
Slos resultados por el da
c Ordene
trabajar el empleado. Etiquete la columna como
DAY.
a
s
i
d
h
t
de la semana, empezando por el lunes. fun
e
(
s
SELECT last_name, hire_date,
SA to u
E
e DAY
TO_CHAR(hire_date,
D n'DAY')
s
Y
e
FROM
employees
RO e lic - 1, 'd');
P
ORDER BY TO_CHAR(hire_date
N rabl
O
I
4) Cree una
C consulta
feque muestre los apellidos y comisiones de los empleados. Si un
s
A
n
D
rano obtiene ninguna comisin, indique "No Commission". Etiquete la
Nempleado
t
U
n
columna
F no como COMM.
SELECT last_name,
NVL(TO_CHAR(commission_pct), 'No Commission') COMM
FROM
employees;
5) Con la funcin DECODE, escriba una consulta que muestre el grado de todos los
empleados segn el valor de la columna JOB_ID, utilizando los siguientes datos:
Cargo
Grado
AD_PRES
ST_MAN
IT_PROG
SA_REP
ST_CLERK
None of the above
A
B
C
D
E
0
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
'E',
'D',
'C',
'B',
'A',
job_id
'ST_CLERK' THEN
'SA_REP'
THEN
'IT_PROG' THEN
'ST_MAN'
THEN
'AD_PRES' THEN
'0' END GRADE
'E'
'D'
'C'
'B'
'A'
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Prcticas de la Leccin 5
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Al finalizar esta prctica, debe estar familiarizado con el uso de funciones de grupo y la
seleccin de grupos de datos.
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
delevalor mnimo, el
n@mostrar
u
5) Modifique la consulta del archivo lab_05_04.sql
para
o
t
i
c isdeScargo. Vuelva a guardar
a
valor mximo, la suma y la media del salariodde
cada tipo
thsentencia en el archivo
fun. Ejecute
lab_05_04.sql como lab_05_05.sql
la
e
(
A to us
lab_05_05.sql.
S
DE nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
6) Escriba una consulta para mostrar el nmero de personas con el mismo cargo.
s
a
h
Generalice la consulta para preguntar al usuario del departamento de recursos
rg)
o
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
11) Cree una consulta de matriz para mostrar el cargo, el salario de ese cargo segn el
nmero de departamento y el salario total del cargo para los departamentos 20, 50, 80
y 90, proporcionando a cada columna una cabecera adecuada.
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
SELECT ROUND(MAX(salary),0) "Maximum",
sa ide
ROUND(MIN(salary),0) "Minimum",
e
d
y t Gu
ROUND(SUM(salary),0) "Sum",
o
r
p
ROUND(AVG(salary),0) "Average"
en
@
d
n
FROM
employees;
u
t
io
S
c
a
s
i
5) Modifique la consulta del archivo lab_05_04.sql
nd e thpara mostrar el valor mnimo,
u
f
(
el valor mximo, la suma y la media
del salario
s cada tipo de cargo. Vuelva a
ude
A
S
o
guardar lab_05_04.sql como
lab_05_05.sql.
Ejecute la sentencia en el
t
E se
D
archivo lab_05_05.sql.
OY licen
R
P ROUND(MAX(salary),0)
SELECT job_id,
"Maximum",
le
N
b
ROUND(MIN(salary),0)
a
O
rROUND(SUM(salary),0) "Minimum",
I
e
C
f
A ans ROUND(AVG(salary),0) "Sum",
D
"Average"
NFROMn-tremployees
U
F no
GROUP BY job_id;
6) Escriba una consulta para mostrar el nmero de personas con el mismo cargo.
SELECT job_id, COUNT(*)
FROM
employees
GROUP BY job_id;
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
SELECT
manager_id, MIN(salary)
e
d
y t Gu
FROM
employees
o
r
p
WHERE
manager_id IS NOT NULL
en
@
d
n
GROUP BY manager_id
u
t
io
S
c
HAVING
MIN(salary) > 6000
a
s
i
d
ORDER BY MIN(salary) DESC;
fun se th
(
u
SA los siguientes
o
t
Si desea superarse a s mismo, complete
ejercicios:
E
D nse
Y
10) Cree una consulta R
queO
muestreicelenmero total de empleados y, de ese total, el
l en 1995, 1996, 1997 y 1998. Cree las cabeceras de
P
e
nmero de empleados
contratados
l
ON ferab
columnaIadecuadas.
C
ns
DA traCOUNT(*)
SELECT
total,
N
U
SUM(DECODE(TO_CHAR(hire_date,
n
F 'YYYY'),1995,1,0))"1995",
no
SUM(DECODE(TO_CHAR(hire_date,
'YYYY'),1996,1,0))"1996",
SUM(DECODE(TO_CHAR(hire_date,
'YYYY'),1997,1,0))"1997",
SUM(DECODE(TO_CHAR(hire_date, 'YYYY'),1998,1,0))"1998"
FROM
employees;
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
11) Cree una consulta de matriz para mostrar el cargo, el salario de ese cargo segn el
nmero de departamento y el salario total del cargo para los departamentos 20, 50, 80
y 90, proporcionando a cada columna una cabecera adecuada.
SELECT
job_id "Job",
SUM(DECODE(department_id
SUM(DECODE(department_id
SUM(DECODE(department_id
SUM(DECODE(department_id
SUM(salary) "Total"
FROM
employees
GROUP BY job_id;
,
,
,
,
20,
50,
80,
90,
salary))
salary))
salary))
salary))
"Dept
"Dept
"Dept
"Dept
20",
50",
80",
90",
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Prcticas de la Leccin 6
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
O lice
3) El departamentoP
deRrecursos
e humanos necesita un informe de todos los empleados de
l
N
b
Toronto.IO
Muestre elrapellido,
cargo, nmero y nombre de departamento de todos los
a
e
C
f
empleados
que
trabajan
en
Toronto.
DA trans
N
FU non4) Cree un informe para mostrar el apellido y nmero de empleado junto con el apellido
y nmero de gestor del empleado. Etiquete las columnas como Employee, Emp#,
Manager y Mgr#, respectivamente. Guarde la sentencia SQL como
lab_06_04.sql. Ejecute la consulta.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
5) Modifique lab_06_04.sql para mostrar todos los empleados, incluido King, que no
tienen gestor. Ordene los resultados por nmero de empleado. Guarde la sentencia
SQL como lab_06_05.sql. Ejecute la consulta en el archivo lab_06_05.sql.
s
a
h
rg)
o
a de
sapellidos
e
6) Cree un informe del departamento de recursos humanos que muestre
los
i y
d
u
y
G
o
nmeros de empleado y todos los empleados que trabajen en el
mismo departamento
t
pruna
n
e
como un empleado determinado. Proporcione a cada columna
etiqueta
adecuada.
@
d
n
u
o
t
i
Guarde el script en un archivo denominado lab_06_06.sql
c is S.
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
N n-tr
FU
no
7) El departamento de recursos humanos necesita un informe sobre los salarios y grados
de cargo. Para familiarizarse con la tabla JOB_GRADES, en primer lugar, muestre la
estructura de la tabla JOB_GRADES. A continuacin, cree una consulta que muestre el
apellido, cargo, nombre de departamento, salario y grado de todos los empleados.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
9) El departamento
e recursos humanos necesita buscar el nombre y la fecha de
C nsfde
A
D tra de todos los empleados contratados antes que sus gestores, junto con el
Ncontratacin
- y fecha de contratacin del gestor. Guarde el script en un archivo
nombre
U
F denominado
non
lab_06_09.sql.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
a dede
sempleados
3) El departamento de recursos humanos necesita un informe de todos los
e
i los
d
u
y
Toronto. Muestre el apellido, cargo, nmero y nombre de departamento
deG
todos
o
pr ent
empleados que trabajan en Toronto.
@
on Stud
i
SELECT e.last_name, e.job_id, e.department_id,
c
a his
d
d.department_name
n
fu sde t
FROM
employees e JOIN departments
(
u
ON
(e.department_id S
=A
d.department_id)
o
t
E
JOIN
locations l D
e
s
Y
n
ON
(d.location_id
=
l.location_id)
e
c
RO e=li'toronto';
WHERE LOWER(l.city)
P
l
b
ON fpara
ramostrar
Iinforme
4) Cree un
el apellido y nmero de empleado junto con el apellido
e
C
s
A de
n
yDnmero
gestor
de
sus
gestores.
Etiquete las columnas como Employee, Emp#,
a
r
NManager
t
U
y
Mgr#
,
respectivamente.
Guarde la sentencia SQL como
F lab_06_04.sql
non
. Ejecute la consulta.
SELECT w.last_name "Employee", w.employee_id "EMP#",
m.last_name "Manager", m.employee_id "Mgr#"
FROM
employees w join employees m
ON
(w.manager_id = m.employee_id);
5) Modifique lab_06_04.sql para mostrar todos los empleados, incluido King, que no
tienen gestor. Ordene los resultados por nmero de empleado. Guarde la sentencia
SQL como lab_06_05.sql. Ejecute la consulta en el archivo lab_06_05.sql.
SELECT w.last_name "Employee", w.employee_id "EMP#",
m.last_name "Manager", m.employee_id "Mgr#"
FROM
employees w
LEFT
OUTER JOIN employees m
ON
(w.manager_id = m.employee_id)
ORDER BY 2;
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
WHERE
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Prcticas de la Leccin 7
En esta prctica escribir consultas complejas utilizando sentencias SELECT anidadas.
Para las preguntas de la prctica, puede crear la consulta interna primero. Antes de
codificar la consulta externa, asegrese de que la consulta interna se ejecuta y produce los
datos que anticipe.
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
e
esdea todos
d
i
d
2) Cree un informe que muestre el nmero de empleado, apellido y y
salario
los
Gu
ro ennorden
t
empleados que ganan ms del salario medio. Ordene los resultados
p
ascendente de salario.
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
3) Escriba una consulta que muestre el nmero de empleado y el apellido de todos los
empleados que trabajan en un departamento con un empleado cuyo apellido contiene
una "u". Guarde la sentencia SQL en un archivo denominado lab_07_03.sql.
Ejecute la consulta.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
un se th
f
(
6) Cree un informe para el departamento
recursos
u humanos que muestre el nmero de
SA dedecada
o
t
E
departamento, apellido e ID
de
cargo
D nse empleado del departamento Executive.
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N nun-tinforme
que muestre una lista de todos los empleados cuyo salario sea mayor
FU7) Cree
o
n
que el salario de los empleados del departamento 60.
Si tiene tiempo, realice el siguiente ejercicio:
8) Modifique la consulta del archivo lab_07_03.sql para mostrar el nmero de
empleado, apellido y salario de todos los empleados que ganan ms del salario medio
y que trabajan en un departamento con cualquier empleado cuyo apellido contiene
una "u". Vuelva a guardar lab_07_03.sql como lab_07_08.sql. Ejecute la
sentencia en el archivo lab_07_08.sql.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
)
2) Cree un informe que muestre el nmero de empleado, apellido y salario de todos
rglos
o
empleados que ganan ms del salario medio. Ordene los resultados en orden
sa ide
e
ascendente de salario.
d
oy nt Gu
r
p
SELECT employee_id, last_name, salary
n@ tude
FROM
employees
o
i
c is S
WHERE salary > (SELECT AVG(salary)
a
d
FROM
employees)
un se th
f
(
ORDER BY salary;
SA to u
E
e de empleado y el apellido de todos los
D elnnmero
3) Escriba una consulta queYmuestre
s
e
empleados que trabajan
con un empleado cuyo apellido contiene
c
ROeneunlidepartamento
P
una "u". Guarde
N la sentencia
bl SQL en un archivo denominado lab_07_03.sql.
a
O
r
I
Ejecute
sfe
ACla aconsulta.
n
D
last_name
NSELECT
-tremployee_id,
n
FU FROM
employees
o
n
WHERE department_id IN (SELECT department_id
FROM
WHERE
employees
last_name like '%u%');
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
6) Cree un informe para el departamento de recursos humanos que muestre el nmero
g) de
r
o
Fundacin Proydesa
Prcticas de la Leccin 8
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
u
G
roesey orden.
t
3) Cree una lista de cargos para los departamentos 10, 50 y 20,pen
Muestre
los
n
e
@
d
n
ID de cargo y departamento mediante los operadores
tu
iode definicin.
S
c
a
is
d
h
n
t
u
f
(
se
u
A
ES se to
D
OY licen
R
P ble
N
IO fera
C
ns que muestre los ID de empleado y de cargo de los empleados que
4) Cree
DAuntinforme
a
r
N
n- tienen un puesto que es el mismo que tenan cuando fueron contratados
FU actualmente
o
n
(es decir, han cambiado de cargo pero ahora han vuelto a su puesto original).
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
department_id
departments
department_id
employees
job_id = 'ST_CLERK'
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun s10,e50thy 20, en ese orden. Muestre los
3) Cree una lista de cargos para los departamentos
(
u de definicin.
ID de cargo y departamento mediante
SA los toperadores
o
E
se
YD edepartment_id
SELECT distinct O
job_id,
n
R e lic
FROM employees
P
WHERE department_id
N rabl = 10
O
I
UNION
fe job_id, department_id
s
ACALL
SELECT
DISTINCT
n
D
ra
NFROMn-employees
t
U
F WHERE
no department_id = 50
SELECT country_id,country_name
FROM countries
MINUS
SELECT l.country_id,c.country_name
FROM locations l JOIN countries c
ON (l.country_id = c.country_id)
JOIN departments d
ON d.location_id=l.location_id;
UNION ALL
SELECT DISTINCT job_id, department_id
FROM employees
WHERE department_id = 20
4) Cree un informe que muestre los ID de empleado y de cargo de los empleados que
actualmente tienen un puesto que es el mismo que tenan cuando fueron contratados
(es decir, han cambiado de cargo pero ahora han vuelto a su puesto original).
SELECT
employee_id,job_id
FROM
employees
INTERSECT
SELECT
employee_id,job_id
FROM
job_history;
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Prcticas de la Leccin 9
En esta prctica, agregar filas a la tabla MY_EMPLOYEE, actualizar y suprimir datos de
la tabla y controlar las transacciones. Ejecute un script para crear la tabla
MY_EMPLOYEE.
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
El departamento de recursos humanos desea que cree sentencias SQL para insertar,
actualizar y suprimir datos de los empleados. Como prototipo, utilizar la tabla
MY_EMPLOYEE, antes de proporcionar las sentencias al departamento.
Nota: para todas las sentencias DML, utilice el icono Run Script (o pulse [F5]) para ejecutar
la consulta. De esta forma, ve los mensajes de comentarios en la pgina con separadores
Script Output. Para consultas SELECT, siga utilizando el icono Execute Statement o pulse
[F9] para obtener la salida con formato en la pgina con separadores Results.
Inserte los datos en la tabla MY_EMPLOYEE.
1) Ejecute la sentencia en el script lab_09_01.sql para crear la tabla MY_EMPLOYEE
utilizada en esta prctica.
2) Describa la estructura de la tabla MY_EMPLOYEE para identificar los nombres de las
columnas.
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
ce
RO e liFIRST_NAME
ID
LAST_NAME
USERID
SALARY
P
l
N
b
IO fera
C
Ralph
rpatel
895
ns
D1A traPatel
N
U
F non
2
Dancs
Betty
bdancs
860
3
Biri
Ben
bbiri
1100
Newman
Chad
cnewman
750
Ropeburn
Audrey
aropebur
1550
3) Cree una sentencia INSERT para agregar la primera fila de datos a la tabla
MY_EMPLOYEE a partir de los siguientes datos de ejemplo. No muestre la lista de
columnas en la clusula INSERT. No introduzca an todas las filas.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
6) Escriba una sentencia INSERT en un archivo de script reutilizable para cargar las
filas restantes en la tabla MY_EMPLOYEE. El script se debe solicitar para todas las
columnas (ID, LAST_NAME, FIRST_NAME, USERID y SALARY). Guarde este script en
un archivo lab_09_06.sql.
7) Rellene la tabla con las dos siguientes filas de ejemplo mostradas en el paso 3
mediante la ejecucin de la sentencia INSERT en el script que ha creado.
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
9) Convierta las adiciones de datos en permanentes.
fun se th
(
SA to u
E
e
Dla tablanMY_EMPLOYEE
s
Y
Actualice y suprima datos
de
.
e
O lic
R
P del bempleado
10) Cambie el apellido
le 3 a Drexler.
N
a
O
ea r1.000 dlares para todos los empleados con un salario inferior a
CIel salario
11) Cambie
f
s
A
D tran
N900.
U
F 12) Verifique
non los cambios en la tabla.
8) Confirme las adiciones a la tabla.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
a de
18) Marque un punto intermedio en el procesamiento de la transaccin. es
i
d
u
y
G
o
19) Suprima todas las filas de la tabla MY_EMPLOYEE.
pr ent
@
20) Confirme que la tabla est vaca.
on Stud
i
c
adesechar
isla operacin INSERT anterior.
d
21) Deseche la operacin DELETE ms recientensin
h
t
u
f
A ( to use
22) Confirme que la nueva fila est S
intacta.
DE nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
N n-tr
FU23) Convierta
no la adicin de datos en permanente.
Si tiene tiempo, realice el siguiente ejercicio:
24) Modifique el script lab_09_06.sql de forma que USERID se genere
automticamente concatenando la primera letra del primer nombre y de los primeros
siete caracteres del apellido. El USERID generado debe estar en minscula. Por lo
tanto, no se debe solicitar el script para el USERID. Guarde este script en un archivo
denominado lab_09_24.sql.
ID
LAST_NAME
FIRST_NAME
USERID
SALARY
Anthony
Mark
manthony
1230
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
3) Cree una sentencia INSERT para agregar la primera fila de datos a la tabla
rg)
o
Ropeburn
Audrey
aropebur
1550
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
*
my_employee;
6) Escriba una sentencia INSERT en un archivo de script reutilizable para cargar las
filas restantes en la tabla MY_EMPLOYEE. El script se debe solicitar para todas las
columnas (ID, LAST_NAME, FIRST_NAME, USERID y SALARY). Guarde este script en
un archivo denominado lab_09_06.sql.
INSERT INTO my_employee
VALUES (&p_id, '&p_last_name', '&p_first_name',
'&p_userid', &p_salary);
7) Rellene la tabla con las dos siguientes filas de ejemplo mostradas en el paso 3
mediante la ejecucin de la sentencia INSERT en el script que ha creado.
s
a
h
rg)
INSERT INTO my_employee
o
last_name = 'Drexler'
id = 3;
11) Cambie el salario a 1.000 dlares para todos los empleados con un salario inferior a 900.
UPDATE
SET
WHERE
my_employee
salary = 1000
salary < 900;
*
my_employee;
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
*
my_employee;
s
a
h
rg)
o
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Prcticas de la Leccin 10
Cree nuevas tablas mediante la sentencia CREATE TABLE. Confirme que la nueva tabla
se ha agregado a la base de datos. Tambin aprender a definir el estado de una tabla
como READ ONLY y, a continuacin, revertir a READ/WRITE.
Nota: para todas las sentencias DDL y DML, haga clic en el icono Run Script (o pulse
[F5]) para ejecutar la consulta en SQL Developer. De esta forma, ve los mensajes de
comentarios en la pgina con separadores Script Output. Para consultas SELECT, siga
haciendo clic en el icono Execute Statement o pulse [F9] para obtener la salida con
formato en la pgina con separadores Results.
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
ID
NAME
Key Type
Primary key
Nulls/Unique
FK Table
FK Column
Data type
NUMBER
VARCHAR2
Length
25
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
S
ac his. Incluya
d
2) Rellene la tabla DEPT con datos de la tablanDEPARTMENTS
slo las columnas
fu se t
(
que necesite.
A to u
ES grfico
3) Cree la tabla EMP segn el D
siguiente
e de instancias de tabla. Guarde la
s
Y
n
sentencia en un scriptO
denominado
e lab_10_03.sql y, a continuacin, ejecute el
c
i
R
l
P
script para crear la tabla. lConfirme
que se ha creado la tabla.
e
N
b
a
O
LAST_NAME
FIRST_NAME
DEPT_ID
Column
eIDr
CI Name
f
s
A
ran
NDKeynType
t
U
F nNulls/Unique
o
FK Table
DEPT
FK Column
ID
Data type
NUMBER
VARCHAR2
VARCHAR2
NUMBER
Length
25
25
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
FIRST_NAME
LAST_NAME
SALARY
DEPT_ID
34
Grant
Marcie
5678
10
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e licaleestado de lectura/escritura. Ahora, vuelva a intentar
7) Revierta la tablaP
EMPLOYEES2
N fila.
insertar laO
misma
Tenga
bl en cuenta que esta opcin est soportada en Oracle
a
r
I
Database
fe
s
AC 11g.
n
D
ra los siguientes mensajes:
N aparecer
t
Deben
U
n
F no
8) Borre la tabla EMPLOYEES2.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
ID
NAME
Key Type
Primary key
Nulls/Unique
FK Table
FK Column
Data type
NUMBER
VARCHAR2
Length
25
s
a
h
rg)
o
sa ide
CREATE TABLE dept
e
d
(id
NUMBER(7)CONSTRAINT department_id_pk PRIMARY
Gu
oy nKEY,
r
t
p
name VARCHAR2(25));
n@ tude
o
i
S ejecute el siguiente
c su estructura,
Para confirmar que se ha creado la tabla y visualizar
a
s
i
d
h
comando:
fun se t
(
DESCRIBE dept
SA to u
E
e
D denlastabla
Ydatos
2) Rellene la tabla DEPTO
con
DEPARTMENTS. Incluya slo aquellas
e
R e lic
columnas que necesite.
P
N rabl
O
I
INSERT
INTO
e
C ndepartment_id,
fdept
s
A
SELECT
department_name
D
a
r
N
t
FROM
departments;
FU non3) Cree la tabla EMP segn el siguiente grfico de instancias de tabla. Guarde la
sentencia en un script denominado lab_10_03.sql y, a continuacin, ejecute el
script para crear la tabla. Confirme que se ha creado la tabla.
Column Name ID
LAST_NAME
FIRST_NAME
DEPT_ID
Key Type
Nulls/Unique
FK Table
DEPT
FK Column
ID
Data type
NUMBER
VARCHAR2
VARCHAR2
NUMBER
Length
25
25
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
CREATE TABLE employees2 AS
o
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Prcticas de la Leccin 11
La Parte 1 de la prctica de esta leccin ofrece varios ejercicios de creacin, uso y
eliminacin de vistas. Complete las preguntas de la 1 a la 6 de esta leccin.
La Parte 2 de la prctica de esta leccin ofrece varios ejercicios de creacin y uso de una
secuencia, un ndice y un sinnimo. Complete las preguntas de la 7 a la 10 de esta
leccin.
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Parte 1
1) El personal del departamento de recursos humanos desea ocultar algunos de los datos
de la tabla EMPLOYEES. Cree una vista denominada EMPLOYEES_VU basada en los
nmeros y los apellidos de los empleados y en los nmeros de departamento de la
tabla EMPLOYEES. La cabecera del nombre de empleado debe ser EMPLOYEE.
2) Confirme que la vista funciona. Visualice el contenido de la vista EMPLOYEES_VU.
s
a
h
rg)
o
sa ide
e
d
u
roy ntdeGrecursos
3) Con la vista EMPLOYEES_VU, escriba una consulta para el departamento
p
dede departamento.
humanos para visualizar todos los nombres de empleados
n@y nmeros
u
o
t
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
4) El departamento 50 necesita acceso a los datos de los empleados. Cree una vista con
el nombre DEPT50 que contenga los nmeros y apellidos de los empleados y los
nmeros de departamento de todos los empleados del departamento 50. Se le ha
pedido que etiquete las columnas de la vista como EMPNO, EMPLOYEE y DEPTNO. Por
motivos de seguridad, no permita la reasignacin de un empleado a otro departamento
a travs de la vista.
5) Visualice la estructura y el contenido de la vista DEPT50.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
8) Para probar la secuencia, escriba un script para insertar dos filas en la tabla DEPT
g.)
r
o
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
*
employees_vu;
s
a
h
rg)
o
sa ide
SELECT
employee, department_id
e
d
FROM
employees_vu;
roy nt Gu
p
e una vista con
4) El departamento 50 necesita acceso a los datos de los n
empleados.
@ tudCree
o
i
el nombre DEPT50 que contenga los nmeros y apellidos
c isdeSlos empleados y los
a
d
nmeros de departamento de todos los empleados
50. Se le ha
h
n edeltdepartamento
u
f
(
s EMPNO, EMPLOYEE y DEPTNO.
solicitado que etiquete las columnas
de la vistaucomo
SA la reasignacin
o
t
Por motivos de seguridad, no E
permita
de un empleado a otro
e
D
s
departamento a travs deYla vista. n
RO eASlice
CREATE VIEW P
dept50
N employee_id
bl
SELECT
empno, last_name employee,
a
O
r
I
e
C
f
department_id
deptno
AFROM ans employees
D
N n-tr
department_id = 50
FU noWHERE
WITH CHECK OPTION CONSTRAINT emp_dept_50;
5) Visualice la estructura y el contenido de la vista DEPT50.
DESCRIBE dept50
SELECT
FROM
*
dept50;
dept50
deptno = 80
employee = 'Matos';
El error se debe a que la vista DEPT50 se ha creado con la restriccin WITH CHECK
OPTION. De esta forma, se garantiza que la columna DEPTNO de la vista est
protegida contra cambios.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Parte 2
7) Necesita una secuencia que se pueda utilizar con la columna de clave primaria de la
tabla DEPT. La secuencia debe empezar en 200 y tener un valor mximo de 1.000.
Aplique incrementos de 10 a la secuencia. Asigne a la secuencia el nombre
DEPT_ID_SEQ.
CREATE SEQUENCE dept_id_seq
START WITH 200
INCREMENT BY 10
MAXVALUE 1000;
8) Para probar la secuencia, escriba un script para insertar dos filas en la tabla DEPT.
Asigne al script el nombre lab_11_08.sql. Asegrese de utilizar la secuencia que
ha creado para la columna ID. Agregue dos departamentos: Education y
Administration. Confirme las adiciones. Ejecute los comandos del script.
s
a
h
rg)
o
sa ide
INSERT INTO dept
e
d
VALUES (dept_id_seq.nextval, 'Administration');
roy nt Gu
p
e
9) Cree un ndice no nico en la columna NAME de la tabla
DEPT. tud
n@
o
i
c is S
a
d
CREATE INDEX dept_name_idx ON dept
(name);
fun se th
(
u EMP.
10) Cree un sinnimo para la tabla EMPLOYEES
SA to. Llmelo
E
e
D EMPLOYEES;
s
CREATE SYNONYM empYFOR
n
e
RO e lic
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
INSERT INTO dept
VALUES (dept_id_seq.nextval, 'Education');
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
enecesita un informe de todos los empleados de
Dhumanos
s
3) El departamento de recursos
Y
n
e
O licargo,
c nmero y nombre de departamento de todos los
Toronto. Muestre
el
Rapellido,
P
e
l
empleados que
trabajan
en
Toronto.
ION ferab
C
DA trans
N
FU non4) Cree un informe para mostrar el apellido y nmero de empleado junto con el apellido
y nmero de gestor de sus gestores. Etiquete las columnas como Employee, Emp#,
Manager y Mgr#, respectivamente. Guarde la sentencia SQL como lab_f_04.sql.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
5) Modifique lab_f_04.sql para mostrar todos los empleados, incluido King, que no
tienen gestor. Ordene los resultados por nmero de empleado. Guarde la sentencia
SQL como lab_f_05.sql. Ejecute la consulta en el archivo lab_f_05.sql.
6) Cree un informe del departamento de recursos humanos que muestre los apellidos y
nmeros de empleado y todos los empleados que trabajen en el mismo departamento
como un empleado determinado. Proporcione a cada columna una etiqueta adecuada.
Guarde el script en un archivo denominado lab_f_06.sql.
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
7) El departamento de recursos humanos necesita un informe sobre los salarios y grados
de cargo. Para familiarizarse con la tabla JOB_GRADES, en primer lugar, muestre la
estructura de la tabla JOB_GRADES. A continuacin, cree una consulta que muestre el
apellido, cargo, nombre de departamento, salario y grado de todos los empleados.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
e recursos humanos necesita buscar el nombre y la fecha de
9) El departamento
AC ansfde
D
r de todos los empleados contratados antes que sus gestores, junto con el
Ncontratacin
t
U
n
F nombre
no y fecha de contratacin del gestor. Guarde el script en un archivo
denominado lab_f_09.sql.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
3) El departamento de recursos humanos necesita un informe de todos los empleados
rg) de
o
a todosdlos
Toronto. Muestre el apellido, cargo, nmero y nombre de departamentosde
e
e
i
d
empleados que trabajan en Toronto.
oy nt Gu
r
p
SELECT e.last_name, e.job_id, e.department_id,
n@ tude
d.department_name
o
i
c is S l
FROM
employees e, departments dda
, locations
WHERE e.department_id = d.department_id
un se th
f
(
AND
d.location_id = l.location_id
SA to u
AND
LOWER(l.city) =E'toronto';
D nse
Y
4) Cree un informe para
mostrarliel
ceapellido y nmero de empleado junto con el apellido
RO
P
del gestor del
empleadobyle
el nmero de gestor. Etiquete las columnas como
N
a
O
r
I
Employee
,
Emp#
,
Manager
y Mgr#, respectivamente. Guarde la sentencia SQL
C nsfe
A
.
D lab_f_04.sql
a
r
Ncomo
t
U
F SELECT
"Employee", w.employee_id "EMP#",
non w.last_name
m.last_name "Manager", m.employee_id "Mgr#"
FROM
WHERE
employees w , employees m
w.manager_id = m.employee_id;
5) Modifique lab_f_04.sql para mostrar todos los empleados, incluido King, que no
tienen gestor. Ordene los resultados por nmero de empleado. Guarde la sentencia
SQL como lab_f_05.sql. Ejecute la consulta en el archivo lab_f_05.sql.
SELECT w.last_name "Employee", w.employee_id "EMP#",
m.last_name "Manager", m.employee_id "Mgr#"
FROM
employees w, employees m
WHERE w.manager_id = m.employee_id (+);
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
AND
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Fundacin Proydesa
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Fundacin Proydesa
Apndice AP
Prcticas y Soluciones adicionales
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Tabla de Contenido
Prcticas Adicionales .......................................................................................................... 3
Prctica 1-1 ..................................................................................................................... 4
Soluciones a la Prctica 1-1 .......................................................................................... 12
Caso Prctico .................................................................................................................... 17
Prctica 2-1 ................................................................................................................... 19
Soluciones a la Prctica 2-1 .......................................................................................... 27
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Prcticas Adicionales
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Prctica 1-1
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Estos ejercicios se pueden utilizar como prctica adicional despus de tratar los siguientes
temas: sentencia SQL SELECT bsica, comandos de SQL Developer bsicos y funciones
SQL.
1) El departamento de recursos humanos necesita obtener los datos de todos los
oficinistas que se contrataron despus del ao 1997.
s
a
h
rg)
o
sa ide
e
d
3) Por motivos de presupuesto, el departamento de recursos humanos
un
u
G
roaylosnecesita
t
informe de los aumentos programados. El informe debe mostrar
empleados
que
p
n
e
@
d
no perciben comisiones, pero que tienen un aumentoodel
10% del
salario
(redondee
n
tu
i
S
c
los salarios).
a
is
d
h
n
t
u
f
(
se
u
A
ES se to
D
OY licen
R
P ble
N
IO fera
C
DA trans
N
FU non-
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
5) Muestre
los
C nempleados
fe cuyo apellido empiece por las letras "J", "K", "L" o "M".
s
A
ND n-tra
U
F no
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
6) Cree un informe que muestre todos los empleados e indique con las palabras Yes o No
si perciben comisiones. Utilice la expresin DECODE en la consulta.
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
e prctica adicional despus de tratar los siguientes
ccomo
i
ROutilizar
l
Estos ejercicios se pueden
P
lebsica, comandos de SQL Developer bsicos, funciones
N
b
temas: sentencia
SQL SELECT
a
O
CI y nfunciones
fer de grupo.
SQL, uniones
s
A
D tra
7)NCreen
un- informe que muestre el nombre de departamento, el ID de ubicacin, el
U
F nombre,
no el cargo y el salario de los empleados que trabajan en una ubicacin
concreta. Solicite al usuario la ubicacin. Por ejemplo, si el usuario introduce 1800,
se obtienen los siguientes resultados:
8) Busque el nmero de empleados cuyo apellido termine con la letra "n". Cree dos
soluciones posibles.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
11) Cree un informe que muestre los cargos de los a
departamentos
c is SAdministration y
d
Executive. Muestre tambin el nmero de
nempleados
tdeh dichos cargos. Muestre el
u
f
e
(
cargo con el mayor nmero de empleados
us lugar.
A teno primer
S
DE nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
Estos
pueden utilizar como prctica adicional despus de tratar los siguientes
N ejercicios
-tr seSQL
n
FUtemas:
o
SELECT bsicas, comandos de SQL Developer bsicos, funciones
sentencias
n
SQL, uniones, funciones de grupo y subconsultas.
12) Muestre todos los empleados que se hayan contratado en la primera mitad del mes
(antes del 16 del mes).
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
13) Cree un informe que muestre lo siguiente para todos los empleados: apellido, salario
y salario expresado en trminos de miles de dlares.
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
e tenga un salario superior a 15.000 dlares.
D cuyongestor
14) Muestre todos los empleados
s
Y
e
Muestre los siguientes
nombre
ic del empleado, nombre del gestor, salario del
ROdatos:
l
P
e
gestor y grado
Nde salario
bldel gestor.
a
O
r
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c isy elSsalario ms bajo del
a
16) Cree un informe que muestre el nmero de departamento
d
un se th
departamento con el salario medio ms(falto.
SA to u
E
D nse
Y
RO e lice
P
17) Cree un informe
departamentos en los que no haya ningn vendedor.
N queramuestre
bl delosdepartamento,
O
I
Incluya
el
nmero
y
nombre
as como el ID de gestor y la ubicacin
e
C
f
s
A
Dla salida.
an
r
Nen
t
U
F non
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
g)
r
o
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
20) Muestre todos los empleados que se hayan contratado el da de la semana en que se
contratara el mayor nmero de empleados.
21) Cree una visin general de los aniversarios segn la fecha de contratacin de los
empleados. Ordene los aniversarios en orden ascendente.
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Estos ejercicios se pueden utilizar como prctica adicional despus de tratar los siguientes
temas: sentencia SQL SELECT bsica, comandos de SQL Developer bsicos y funciones
SQL.
1) El departamento de recursos humanos necesita obtener los datos de todos los
oficinistas que se contrataron despus del ao 1997.
SELECT *
FROM
employees
WHERE job_id = 'ST_CLERK'
AND hire_date > '31-DEC-1997';
s
a
h
rg)
o
sa ide
e
d
u
3) Por motivos de presupuesto, el departamento de recursos humanos
un
G
roaylosnecesita
t
p
informe de los aumentos programados. El informe debe mostrar
empleados
que
n
e
@
d
n
no perciben comisiones pero que tienen un aumento
tusalario (redondee los
iodel 10%Sdel
c
salarios).
a
is
d
h
n
t
u
f
SELECT 'The salary of '||last_name||'
after a 10% raise is '
(
sesalary"
u
A
|| ROUND(salary*1.10)
"New
ES se to
FROM
employees
D
n
eNULL;
WHERE commission_pct
OY liIS
c
R
P ble
N
4) Cree un informe
de los
empleados y la duracin de los contratos. Muestre los
a
r
IO
e
C
apellidos
de
todos
los
empleados
junto con el nmero de aos y de meses completos
f
s
A
n
D
estado
ra contratados. Ordene el informe segn la duracin de las
Nque han
t
U
n
contrataciones.
El empleado que haya estado contratado durante ms tiempo
F no
aparecer al principio de la lista.
SELECT last_name,
TRUNC(MONTHS_BETWEEN(SYSDATE, hire_date) / 12) YEARS,
TRUNC(MOD(MONTHS_BETWEEN(SYSDATE, hire_date), 12))
MONTHS
FROM employees
ORDER BY years DESC, MONTHS desc;
5) Muestre los empleados cuyo apellido empiece por las letras "J", "K", "L" o "M".
SELECT last_name
FROM
employees
WHERE SUBSTR(last_name, 1,1) IN ('J', 'K', 'L', 'M');
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
6) Cree un informe que muestre todos los empleados e indique con las palabras Yes o No
si perciben comisiones. Utilice la expresin DECODE en la consulta.
SELECT last_name, salary,
decode(commission_pct, NULL, 'No', 'Yes') commission
FROM
employees;
Estos ejercicios se pueden utilizar como prctica adicional despus de tratar los siguientes
temas: sentencia SQL SELECT bsica, comandos de SQL Developer bsicos, funciones
SQL, uniones y funciones de grupo.
7) Cree un informe que muestre el nombre de departamento, el ID de ubicacin, el
nombre, el cargo y el salario de los empleados que trabajan en una ubicacin
concreta. Solicite al usuario la ubicacin.
a) Introduzca 1800 para location_id cuando se le solicite.
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
e
@ la letra
d"n".
ncon
u
8) Busque el nmero de empleados cuyo apellido termine
Cree dos
o
t
i
S
c
a
soluciones posibles.
is
d
h
n
t
u
f
(
se
SELECT COUNT(*)
u
A
S
FROM
employees
to
E'%n';
e
D
WHERE last_name LIKE
s
OY licen
--or
R
P ble
SELECT COUNT(*)
N
FROM IO
employees
ra
e
C
f
WHERE
-1) = 'n';
ns
DA trSUBSTR(last_name,
a
N
nun- informe que muestre el nombre, la ubicacin y el nmero de empleados de
FU9) Cree
o
n
cada departamento. Asegrese de que el informe slo incluye los departamentos sin
SELECT d.department_name, d.location_id, e.last_name,
e.job_id, e.salary
FROM
employees e, departments d
WHERE
e.department_id = d.department_id
AND
d.location_id = &location_id;
empleados.
SELECT d.department_id, d.department_name,
d.location_id,
COUNT(e.employee_id)
FROM
employees e RIGHT OUTER JOIN departments d
ON
e.department_id = d.department_id
GROUP BY d.department_id, d.department_name, d.location_id;
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
11) Cree un informe que muestre los cargos de los departamentos Administration y
Executive. Muestre tambin el nmero de empleados de dichos cargos. Muestre el
cargo con el mayor nmero de empleados en primer lugar.
SELECT e.job_id, count(e.job_id) FREQUENCY
FROM
employees e JOIN departments d
ON e.department_id = d.department_id
WHERE
d.department_name IN ('Administration', 'Executive')
GROUP BY e.job_id
ORDER BY FREQUENCY DESC;
Estos ejercicios se pueden utilizar como prctica adicional despus de tratar los siguientes
temas: sentencias SQL SELECT bsicas, comandos de SQL Developer bsicos, funciones
SQL, uniones, funciones de grupo y subconsultas.
12) Muestre todos los empleados que se hayan contratado en la primera mitad del mes
(antes del 16 del mes).
s
a
h
rg)
SELECT last_name, hire_date
o
FROM
employees
sa ide
e
d
WHERE TO_CHAR(hire_date, 'DD') < 16;
roy nt Gu
p
13) Cree un informe que muestre lo siguiente para todos los
empleados:
@
deapellido, salario
n
u
o
t
i
y salario expresado en trminos de miles de dlares.
c is S
a
d
SELECT last_name, salary, TRUNC(salary,
un se th-3)/1000 Thousands
f
(
FROM
employees;
SA to u
E
e tenga un salario superior a 15.000 dlares.
D cuyongestor
s
14) Muestre todos los empleados
Y
e
Muestre los siguientes
ic del empleado, nombre del gestor, salario del
ROdatos:
lnombre
P
e
l
gestor y grado
de
salario
del
gestor.
ION ferab
C
SELECT
m.last_name manager, m.salary,
s
A e.last_name,
n
D
a
j.grade_level
N n-tr
e JOIN employees m
FU FROM
no employees
ON
e.manager_id = m.employee_id
JOIN
ON
AND
job_grades j
m.salary BETWEEN j.lowest_sal AND j.highest_sal
m.salary > 15000;
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
d.department_id, d.department_name,
count(e1.employee_id) employees,
NVL(TO_CHAR(AVG(e1.salary), '99999.99'), 'No average'
) avg_sal,
e2.last_name, e2.salary, e2.job_id
FROM
departments d RIGHT OUTER JOIN employees e1
ON
d.department_id = e1.department_id
RIGHT OUTER JOIN employees e2
ON
d.department_id = e2.department_id
GROUP BY d.department_id, d.department_name, e2.last_name,
e2.salary,
e2.job_id
ORDER BY d.department_id, employees;
s
a
h
g)
rdel
16) Cree un informe que muestre el nmero de departamento y el salario ms bajo
o
18) Cree los siguientes informes estadsticos para el departamento de recursos humanos:
incluya el nmero y nombre de departamento, as como el nmero de empleados que
trabajan en cada departamento que:
a) Contrate menos de tres empleados:
SELECT d.department_id, d.department_name, COUNT(*)
FROM
departments d JOIN employees e
ON
d.department_id = e.department_id
GROUP BY d.department_id, d.department_name
HAVING COUNT(*) < 3;
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
21) Cree una visin general de los aniversarios segn la fecha de contratacin de los
empleados. Ordene los aniversarios en orden ascendente.
SELECT last_name, TO_CHAR(hire_date, 'Month DD') BIRTHDAY
FROM
employees
ORDER BY TO_CHAR(hire_date, 'DDD');
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Caso Prctico
En este caso prctico, crear un juego de tablas de base de datos para una aplicacin de
vdeo. Despus de crear las tablas, inserte, actualice y suprima registros de una base de
datos de videoclub y genere un informe. La base de datos slo contiene las tablas
esenciales.
A continuacin, se muestra un diagrama de las entidades y los atributos de una aplicacin
de vdeo:
de
RESERVATION
#* res date
el asunto
de
configurado
para
TITLE
#* id
* title
* description
o rating
o category
o release date
s
a
h
rg)
disponible
o
como
sa ide
e
d
roy nt Gu
p
una
copia de
n@
responsable
o
tu
i
S
c
a
de
is TITLE_COPY
d
h
n
t
u
f
(
se
#* id
u
A
MEMBER
S
o
t
* status
#* id
DE nse
Y
* last name O
e
c
i
R
l
el asunto de
P
o first name
e
l
N
b
O fera responsable
o Iaddress
C
city ns
de
realizado en
DA oo tphone
a
r
N
U
F non* join date
RENTAL
creado
para
#* book date
o act ret date
o exp ret date
Nota: si desea crear las tablas, puede ejecutar los comandos del script buildtab.sql en
SQL Developer. Si desea borrar las tablas, puede ejecutar los comandos del script
dropvid.sql en SQL Developer. A continuacin, puede ejecutar los comandos del
script buildvid.sql en SQL Developer para crear y rellenar las tablas.
Los tres scripts SQL se encuentran en la carpeta /home/oracle/labs/sql1/labs.
Si utiliza el script buildtab.sql para crear las tablas, empiece en el paso 4.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Prctica 2-1
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
1) Cree las tablas segn el siguiente grfico de instancias de tabla. Seleccione los tipos
de dato adecuados y asegrese de agregar restricciones de integridad.
a) Nombre de la tabla: MEMBER
Column_
Name
MEMBER_
ID
Key
Type
Null/
Unique
Default
Value
PK
Data
Type
Length
NN,U
LAST_
NAME
FIRST_NAME
ADDRESS
CITY
PHONE
JOIN
_
DATE
NN
NN
NUMBER
VARCHAR2
VARCHAR2
VARCHAR2
VARCHAR2
VARCHAR2
System
Date
DATE
10
25
25
100
30
15
s
a
h
rg)
o
sa ide
e
d
b) Nombre de la tabla: TITLE
roy nt Gu
p
e
n@ tudCATEGORY
TITLE_ID TITLE
DESCRIPTION oRATING
RELEASE_
Column_
i
S
c
DATE
Name
a
s
i
d
h
PK
un se t
Key
f
(
Type
SANN to u
E
NN,U
NN
Null/
D nse
Y
Unique
RO e lice
G, PG, R,
DRAMA,
Check
P
l
NC17,
NR
COMEDY,
N rab
O
I
ACTION,
C nsfe
A
CHILD,
D tra
N
SCIFI,
FU nonDOCUMEN
TARY
Data Type
NUMBER
VARCHAR2
VARCHAR2
VARCHAR2
VARCHAR2
Length
10
60
400
20
DATE
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
COPY_ID
TITLE_ID
PK
PK,FK
NN,U
NN,U
STATUS
NN
AVAILABLE,
DESTROYED,
RENTED,
RESERVED
TITLE
FK Ref
Table
FK Ref
Col
Data
Type
Length
TITLE_ID
s
a
h
NUMBER
NUMBER
VARCHAR2
rg)
o
a de
10
10
15 es
i
d
u
y
G
o
pr ent
@
on Stud
i
c
d) Nombre de la tabla: RENTAL
a his
d
n
t
BOOK_
MEMBER_ (fu
COPY_ se ACT_RET_ EXP_RET_ TITLE_
Column
DATE
ID SA
IDo u
DATE
DATE
ID
Name
t
E
e
D
PK
PK,FK2
Key
s PK,FK2
Y PK,FK1
n
e
O
Type
R
lic
Systemble
System Date
Default N P
a
O
r
I
Date
+
2 days
Value
C Ref nsfe
A
MEMBER
TITLE_
TITLE_
FK
D Table
a
r
N
COPY
COPY
t
FU nonFK- Ref
MEMBER_I COPY_
TITLE_ID
D
ID
Col
Data
Type
Length
DATE
NUMBER
NUMBER
10
10
DATE
DATE
NUMBER
10
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
RES_
DATE
MEMBER_
ID
TITLE_
ID
PK
PK,FK1
PK,FK2
NN,U
NN,U
NN
MEMBER
TITLE
MEMBER_ID
TITLE_ID
NUMBER
NUMBER
10
10
DATE
s
a
h
2) Verifique que las tablas se han creado correctamente comprobando en el navegador
rg)
o
de conexiones de SQL Developer.
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
N n-tr
FU4) Agregue
no datos a las tablas. Cree un script para cada juego de datos que desee agregar.
a) Agregue los ttulos de las pelculas a la tabla TITLE. Escriba un script para
introducir la informacin sobre las pelculas. Guarde las sentencias en un script
denominado lab_apcs_4a.sql. Utilice las secuencias para identificar de forma
nica cada ttulo. Introduzca las fechas de versin en formato DD-MES-AAAA.
Recuerde que las comillas simples se deben gestionar de forma especial en los
campos de caracteres. Verifique las adiciones.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Title
Willie and
Christmas Too
Alien Again
The Glob
My Day Off
Description
All of Willies friends
make a Christmas list for
Santa, but Willie has yet
to add his own wish list.
Yet another installation of
science fiction history.
Can the heroine save the
planet from the alien life
form?
A meteor crashes near a
small American town and
unleashes carnivorous goo
in this classic.
With a little luck and a lot
of ingenuity, a teenager
skips school for a day in
New York.
A six-year-old has doubts
about Santa Claus, but she
discovers that miracles
really do exist.
After discovering a cache
of drugs, a young couple
find themselves pitted
against a vicious gang.
Rating
G
Category
CHILD
Release_date
05-OCT-1995
SCIFI
19-MAY-1995
NR
SCIFI
12-AUG-1995
PG
COMEDY
12-JUL-1995
s
a
h
rg)
o
PG
DRAMA
12-SEP-1995
Miracles on Ice
sa ide
e
d
roy nt Gu
p
n@ tude 01-JUN-1995
Soda Gang
NR cio ACTION
S
a
s
i
d
h
fun se t
(
SA to u
E
e
DMEMBER
s
b) Agregue datos a la tabla
. Guarde las sentencias insert en un script
Y
n
e
RO e lic . Ejecute los comandos del script. Asegrese de
denominadoP
lab_apcs_4b.sql
l agregar los nmeros de miembro.
bpara
utilizar
laNsecuencia
a
O
r
I
AC ansfe
First_
D
N Namen-tr Last_Name Address
City
Phone
Join_Date
FU Carmen
o
Velasquez
283 King
Seattle
206-89908-MARn
Street
6666
1990
LaDoris
Ngao
5 Modrany
Bratislava
Midori
Nagayama
Mark
Quick-to-See
Audry
Ropeburn
68 Via
Sao Paolo
Centrale
6921 King
Lagos
Way
86 Chu Street Hong Kong
Molly
Urguhart
3035 Laurier
Quebec
586-3558882
254-8525764
63-559-7777
08-MAR1990
17-JUN1991
07-APR-1990
41-559-87
18-JAN1991
18-JAN1991
418-5429988
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Copy_Id
Status
Title
Copy_Id
Willie and
Christmas Too
Alien Again
AVAILABLE
AVAILABLE
RENTED
The Glob
AVAILABLE
The Glob
My Day Off
AVAILABLE
My Day Off
AVAILABLE
1
2
s
a
h
g)
r
o
Miracles on Ice
1
AVAILABLE
Miracles on Ice
a1 de
s
e
d G
ui
Soda Gang
1
AVAILABLE
Soda Gangroy
1
p ent
@
ion: Stud
c
d) Agregue los siguientes alquileres a la tablaa
RENTAL
is
d
h
n
t
u
Nota: el nmero de ttulo puede ser
diferente
en
funcin
del nmero de secuencia.
f
(
se
u
A
Title_ Id
Copy_
Member_Id
ES se to Book_date
D
Id
Exp_Ret_Date
Y en
O
92
1 R
101
3 days ago
1 day ago
lic
P
e
l
N
b 101
93 CIO 2 era
1 day ago
1 day from now
f
s
A
N95D n-tran3
102
2 days ago
Today
U
F no
3
97
RENTED
106
4 days ago
2 days ago
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
a) Agregue un nuevo ttulo. La pelcula es Interstellar Wars, que tienealao
categora
sde la versin
e
PG y est clasificada como una pelcula de ciencia ficcin. La fecha
e
d
i
d
uthe
es 07-JUL-77. La descripcin es Futuristic interstellar action
Can
G
roymovie.
t
p
rebels save the humans from the evil empire? Asegrese
de agregar
en un registro
@
d
n
u
t
io
de copia de ttulo para dos copias.
S
c
a
s
i
d Carmen
th Velasquez, que desea
b) Introduzca dos reservas. Una reserva
uesnpara
f
e
(
s Quick-to-See, que desea
alquilar Interstellar Wars. LaA
otra es parauMark
S
o
t
alquilar Soda Gang. E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
6) Realice cambios en los datos de las tablas.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Title
Willie and Christmas Too
Alien Again
The Glob
My Day Off
Miracles on Ice
Soda Gang
Interstellar Wars
Price
25
35
35
35
30
35
29
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se thque contenga sentencias de
(
b) Cree un script con el nombre lab_apcs_7b.sql
A vdeotoconu un precio segn la lista
Scada
actualizacin para actualizar
E
e del script.
Dlos comandos
s
proporcionada. Ejecute
Y
n
e
RO losenmeros
lic de TITLE_ID para este ejercicio.
Nota: tenga P
a mano
l
b
ON fque
racontenga
Iinforme
8) Cree un
el historial de alquiler de vdeos de cada cliente.
e
C
s
A
D tradenincluir el nombre del cliente, la pelcula alquilada, las fechas de alquiler
NAsegrese
- de los alquileres. Calcule el nmero total de alquileres de todos los
U
y
la duracin
F clientes
non para el perodo de informe. Guarde los comandos generados por el informe
en un script lab_apcs_8.sql.
Nota: los resultados pueden ser diferentes.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
1) Cree las tablas segn el siguiente grfico de instancias de tabla. Seleccione los tipos
de dato adecuados y asegrese de agregar restricciones de integridad.
a) Nombre de la tabla: MEMBER
CREATE TABLE member
(member_id
NUMBER(10)
CONSTRAINT member_member_id_pk PRIMARY KEY,
last_name
VARCHAR2(25)
CONSTRAINT member_last_name_nn NOT NULL,
first_name
VARCHAR2(25),
address
VARCHAR2(100),
city
VARCHAR2(30),
phone
VARCHAR2(15),
join_date
DATE DEFAULT SYSDATE
CONSTRAINT member_join_date_nn NOT NULL);
s
a
h
rg)
CREATE TABLE title
o
sa ide
(title_id
NUMBER(10)
e
d
CONSTRAINT title_title_id_pk PRIMARY o
y t Gu
r KEY,
title
VARCHAR2(60)
p
en
@
d
CONSTRAINT title_title_nn NOT n
NULL,
u
o
t
S
description
VARCHAR2(400)aci
s
i
CONSTRAINT title_description_nn
nd e th NOT NULL,
u
f
(
rating
VARCHAR2(4)
A to usCHECK
S
CONSTRAINT title_rating_ck
E 'PG',
e 'R', 'NC17', 'NR')),
D('G',
(rating IN
s
Y
n
e
category
VARCHAR2(20)
RO etitle_category_ck
lic
P
CONSTRAINT
CHECK
l
N
b
a
(category
IN
('DRAMA',
'COMEDY',
'ACTION',
O
r
I 'CHILD',
e
C
f
'SCIFI',
'DOCUMENTARY')),
ns
DA trrelease_date
a
DATE);
N
U
n
F c)noNombre de la tabla: TITLE_COPY
b) Nombre de la tabla: TITLE
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
CREATE TABLE reservation
rg)
o
(res_date
DATE,
sa ide
member_id
NUMBER(10)
e
d
CONSTRAINT reservation_member_id REFERENCES
roy nt Gu
p
member(member_id),
n@ tude
title_id
NUMBER(10)
o
i
S
c iREFERENCES
CONSTRAINT reservation_title_id
a
s
d
h
title(title_id),
fun se t
(
CONSTRAINT reservation_resdate_mem_tit_pk
PRIMARY KEY
u
A ttitle_id));
S
o
(res_date, member_id,
DE nse
Y
e correctamente comprobando en el navegador
O se hanliccreado
2) Verifique que las tablas
R
P
de conexiones de SQL Developer.
le
N
b
a
O
erde conexiones, ample Connections > myconnection > Tables.
a) EnCelI navegador
f
s
A
D tran para identificar de forma nica cada fila de las tablas MEMBER y
3)NCree secuencias
U
F TITLE
non .
a) Nmero de miembro para la tabla MEMBER: empezar por 101; no permitir
almacenamiento en cach de los valores. Asigne el nombre MEMBER_ID_SEQ a la
secuencia.
CREATE SEQUENCE member_id_seq
START WITH 101
NOCACHE;
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
SET VERIFY OFF
rg)
INSERT INTO member(member_id, first_name, last_name,
o
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
g)
r
o
VALUES
/
INSERT
VALUES
/
INSERT
VALUES
/
INSERT
VALUES
/
INSERT
VALUES
/
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Nota: el nmero de ttulo puede ser diferente en funcin del nmero de secuencia.
INSERT INTO rental(title_id, copy_id, member_id,
book_date, exp_ret_date, act_ret_date)
VALUES (92, 1, 101, sysdate-3, sysdate-1, sysdate-2)
/
INSERT INTO rental(title_id, copy_id, member_id,
book_date, exp_ret_date, act_ret_date)
VALUES (93, 2, 101, sysdate-1, sysdate-1, NULL)
/
INSERT INTO rental(title_id, copy_id, member_id,
book_date, exp_ret_date, act_ret_date)
VALUES (95, 3, 102, sysdate-2, sysdate, NULL)
/
INSERT INTO rental(title_id, copy_id, member_id,
book_date, exp_ret_date,act_ret_date)
VALUES (97, 1, 106, sysdate-4, sysdate-2, sysdate-2)
/
COMMIT
/
s
a
h
rg)
o
sa ide
e
d
u
oy dentlasGpelculas,
rttulos
p
5) Cree una vista con el nombre TITLE_AVAIL para mostrar los
dsieest alquilada.
n@
la disponibilidad de cada copia y la fecha de devolucin
esperada
u
o
t
i
c isporSttulo.
Consulte todas las filas de la vista. Ordene los
resultados
a
d
fun se th
(
Nota: los resultados pueden ser diferentes.
SASA to u
E
CREATE VIEW title_avail
e c.status, r.exp_ret_date
Dc.copy_id,
s
Y
n
SELECT
t.title,
e
ROt eJOIN
FROM
title
lic title_copy c
P
l
N t.title_id
ON
= c.title_id
rabrental
IO
FULL
OUTERfe
JOIN
r
C
A ansc.copy_id = r.copy_id
ON
D
N n-tr c.title_id = r.title_id;
FU noAND
SELECT
*
FROM
title_avail
ORDER BY title, copy_id;
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
u
b) Introduzca dos reservas. Una reserva es para Carmen Velasquez,
desea
G
roy que
t
p
alquilar Interstellar Wars. La otra es para Mark Quick-to-See,
equen desea
@
d
n
u
t
io
alquilar Soda Gang.
S
c
a
s
i
nd member_id,
th
INSERT INTO reservation (res_date,
title_id)
u
f
e
(
s
VALUES (SYSDATE, 101, 98)A
u
S
o
t
/
E
e
D (res_date,
s
INSERT INTO reservation
member_id, title_id)
Y
n
e
O104,li97)
c
VALUES (SYSDATE,
R
P ble
/
N
ra en una de las tablas.
IO modificacin
e
C
f
7) Realice
una
DA trans
N
n- el script lab_apcs_7a.sql ubicado en la carpeta
FU a)noEjecute
/home/oracle/labs/sql1/labs, para agregar una columna PRICE a la tabla
TITLE para registrar el precio de venta del vdeo. Verifique las modificaciones.
ALTER TABLE title
ADD (price NUMBER(8,2));
DESCRIBE title
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
g)
r
o
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Fundacin Proydesa
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
u los derechos reservados.
A to Todos
Copyright 2010, OracleS
y/o sus filiales.
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Fundacin Proydesa
Descripcin de Esquema
Descripcin General
Los esquemas de ejemplo de Oracle Database ilustran una compaa de ejemplo que opera en todo el
mundo para surtir pedidos de varios productos distintos. La compaa tiene tres divisiones:
Human Resources: realiza un seguimiento de la informacin sobre los empleados y las
instalaciones.
Order Entry: realiza un seguimiento de los inventarios y las ventas de productos a travs de
distintos canales.
Sales History: realiza un seguimiento de los datos estadsticos de negocio para facilitar las
decisiones de negocio.
Cada una de estas divisiones se representa mediante un esquema. En este curso tendr acceso a los
objetos de todos los esquemas. No obstante, el nfasis de los ejemplos, demostraciones y prcticas
est en el esquema de Human Resources (HR).
Todos los scripts necesarios para crear los esquemas de ejemplo estn en la carpeta
$ORACLE_HOME/demo/schema/.
Human Resources (HR)
Se trata del esquema que se utiliza en este curso. En los registros de recursos humanos (HR), cada
empleado tiene un nmero de identificacin, una direccin de correo electrnico, un cdigo de
identificacin de cargo, un salario y un gestor. Algunos empleados ganan comisiones adems de su
salario.
La compaa tambin registra informacin sobre cargos dentro de la organizacin. Cada cargo
dispone de un cdigo de identificacin, un puesto y un rango de salario mximo y mnimo para el
cargo. Algunos empleados llevan bastante tiempo en la compaa y han desempeado distintos
trabajos en ella. Cuando se reasigna un empleado, se registran la duracin del trabajo del empleado,
el nmero de identificacin del cargo y el departamento.
La compaa de ejemplo se extiende por distintas regiones, por lo que registra la ubicacin de sus
almacenes y departamentos. Cada empleado est asignado a un departamento y cada departamento se
identifica mediante un nmero de departamento nico o una abreviatura. Cada departamento est
asociado a una ubicacin y cada ubicacin tiene una direccin completa que incluye el nombre de la
calle, el cdigo postal, la ciudad, el estado o la provincia y el cdigo de pas.
En las ubicaciones de los departamentos y almacenes, la compaa registra detalles como el nombre
de pas, el smbolo y nombre de divisa y la regin en la que est ubicado geogrficamente el pas.
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Diagrama de Relacin de Entidades de HR
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
HR
DEPARTMENTS
department_id
department_name
manager_id
location_id
JOB_HISTORY
employee_id
start_date
end_date
job_id
department_id
LOCATIONS
location_id
street_address
postal_code
city
state_province
country_id
EMPLOYEES
employee_id
first_name
last_name
email
phone_number
hire_date
job_id
salary
commission_pct
manager_id
department_id
COUNTRIES
country_id
country_name
region_id
s
a
h
JOBS
rg)
job_id
o
job_title
sa ide
e
REGIONS
min_salary
d
u
G
region_id
max_salary
roy region_name
t
p
en
@
d
n
u
t
io
S
c
a
s
i
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
g)
r
o
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Fundacin Proydesa
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Objetivos
Al finalizar este apndice, debera estar capacitado para lo
siguiente:
Mostrar las funciones clave de Oracle SQL Developer
Identificar las opciones de men de Oracle SQL Developer
Crear una conexin a la base de datos
Gestionar objetos de bases de datos
Utilizar la hoja de trabajo de SQL
s
Guardar y ejecutar scripts SQL
a
h
)
Crear y guardar informes
org
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Objetivos
le
N
b
a
O
r introduccin a la herramienta grfica SQL Developer. Aprender
Ise ofrecefeuna
En este apndice,
C
s
A
cmo utilizar
para las tareas de desarrollo de la base de datos. Aprender cmo
n
aDeveloper
rtrabajo
NlaDhojanSQL
t
utilizar
de
de
SQL
para ejecutar sentencias y scripts SQL.
U
F no
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
d
n
u
o
t
i
S
c
SQL Developer
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Qu es Oracle SQL Developer?
le
N
b
a
O
Oracle SQL Developer
una
grfica gratuita diseada para mejorar la productividad y
erherramienta
CI nesde
flas
s
simplificarD
elA
desarrollo
tareas diarias de la base de datos. Con slo unos clics, puede crear y
rlosa procedimientos almacenados, probar sentencias SQL y visualizar los planes del
N
t
depurar
fcilmente
U
n
F no
optimizador.
SQL Developer, la herramienta visual para el desarrollo de la base de datos, simplifica las siguientes
tareas:
Examen y gestin de objetos de la base de datos
Ejecucin de sentencias y scripts SQL
Edicin y depuracin de sentencias PL/SQL
Creacin de informes
Puede conectarse a cualquier esquema de Oracle Database de destino mediante la autenticacin estndar
de Oracle Database. Una vez conectado, puede realizar operaciones en los objetos de la base de datos.
SQL Developer versin 1.2 est estrechamente integrado con Developer Migration Workbench, que
proporciona a los usuarios un punto nico para examinar los objetos y datos de base de datos en bases
de datos de terceros y migrar desde estas bases de datos a Oracle. Tambin se puede conectar a los
esquemas para las bases de datos de terceros (no de Oracle) seleccionadas, como MySQL, Microsoft
SQL Server y Microsoft Access, y ver los metadatos y datos de estas bases de datos.
Adems, SQL Developer incluye soporte para Oracle Application Express 3.0.1 (Oracle APEX).
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
http://www.oracle.com/technology/products/database/ rg)
o e
a
sql_developer/index.html
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Especificaciones de SQL Developer
le
N
b
a
O
I 1.5feser incluye con Oracle Database 11g Versin 2. SQL Developer est
Oracle SQL Developer
C
A
desarrollado
aprovechando
el entorno de desarrollo integrado (IDE) de Oracle JDeveloper.
ns
D en Java
a
r
N
t
Por
lo
tanto,
es
una
herramienta
entre
plataformas. La herramienta se ejecuta en plataformas
U
n
F
o
n
Windows, Linux y Mac OS (sistema operativo) X.
La conectividad por defecto a la base de datos se realiza a travs del controlador Java Database
Connectivity (JDBC) Thin y, por lo tanto, no es necesario el directorio raz de Oracle. SQL
Developer no necesita un instalador y simplemente necesita descomprimir los archivos descargados.
Con SQL Developer, los usuarios se pueden conectar a Oracle Databases 9.2.0.1 y versiones
posteriores y a todas las ediciones de Oracle Database, incluida Express Edition.
Nota
Para versiones de Oracle Database anteriores a Oracle Database 11g Versin 2, tendr que descargar
e instalar SQL Developer. SQL Developer 1.5 se puede descargar gratuitamente desde el siguiente
enlace:
http://www.oracle.com/technology/products/database/sql_developer/index.html.
Para obtener ms instrucciones sobre cmo instalar SQL Developer, consulte el sitio web en:
http://download.oracle.com/docs/cd/E12151_01/index.htm
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Interfaz de SQL Developer 1.5 le
N ra1.5
b contiene tres separadores de navegacin principales, de izquierda a
La interfaz de SQL
IODeveloper
e
C
sf
derecha: DA
n
a
r
N n-tConnections:
si utiliza este separador, puede examinar los objetos y usuarios de la
F USeparador
o
basende datos a los que tiene acceso.
Separador Files: identificado mediante el icono de carpeta Files, este separador permite
acceder a los archivos desde la mquina local sin tener que utilizar el men File > Open.
Separador Reports: identificado mediante el icono Reports, este separador permite ejecutar
los informes predefinidos o crear y aplicar sus propios informes.
Navegacin General y Uso
SQL Developer utiliza la parte izquierda de la navegacin para buscar y seleccionar objetos y la parte
derecha para mostrar informacin sobre los objetos seleccionados. Tambin puede personalizar
muchos aspectos de la apariencia y del comportamiento de SQL Developer mediante la definicin de
preferencias.
Nota: debe definir al menos una conexin para conectarse a un esquema de base de datos y emitir
consultas SQL o ejecutar procedimientos/funciones.
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Fundacin Proydesa
Interfaz de SQL Developer 1.5 (continuacin)
Mens
Los siguientes mens contienen entradas estndar, adems de entradas de funciones especificas de
SQL Developer.
View: contiene opciones que afectan a lo que se muestra en la interfaz de SQL Developer.
Navigate: contiene opciones para acceder a los paneles y ejecutar los subprogramas.
Run: contiene las opciones Run File y Execution Profile, que son relevantes en la seleccin de
una funcin o un procedimiento, adems de las opciones de depuracin.
Source: contiene opciones para utilizarlas al editar funciones y procedimientos.
Versioning: proporciona soporte integrado para los siguientes sistemas de control de versiones
y orgenes: CVS (Concurrent Versions System) y Subversion.
Migration: contiene opciones relacionadas con la migracin de bases de datos de terceros a
Oracle.
Tools: llama a las herramientas de SQL Developer, como SQL*Plus, Preferences y SQL
Worksheet.
Nota: el men Run tambin contiene opciones relevantes para la seleccin de una funcin o un
procedimiento para depuracin. Son las mismas opciones que las del men Debug de la
versin 1.2.
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
p ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Creacin de una Conexin a lale
Base Datos
N
b
a
O
r SQL Developer que especifica la informacin necesaria para
Una conexin C
es Iun objetoede
f
s
A
conectarse
base
datos concreta como usuario especfico de dicha base de datos. Para utilizar
ande
r
NDa una
t
SQL
Developer,
debe
tener
al menos una conexin a la base de datos que puede ser existente, creada
U
F non
o importada.
Puede crear y probar conexiones para varias bases de datos y esquemas.
Por defecto, el archivo tnsnames.ora est ubicado en el directorio
$ORACLE_HOME/network/admin, pero tambin puede estar en el directorio especificado por la
variable de entorno TNS_ADMIN o el valor de registro. Al iniciar SQL Developer, cuando se muestra
el cuadro de dilogo Database Connections, SQL Developer importa automticamente las conexiones
definidas en el archivo tnsnames.ora al sistema.
Nota: en los sistemas Windows, si existe el archivo tnsnames.ora, pero SQL Developer no est
utilizando sus conexiones, defina TNS_ADMIN como una variable de entorno del sistema.
Puede exportar conexiones a un archivo XML para poder volver a utilizarlas.
Puede crear conexiones adicionales como usuarios diferentes a la misma base de datos o conectarse a
diferentes bases de datos.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Creacin de una Conexin a lale
Base Datos (continuacin)
N
b
a
O
I
Para crear unaC
conexin
ae
larbase de datos, realice los siguientes pasos:
f
s
A
1. En la
con
separadores Connections, haga clic con el botn derecho del mouse en
ay nseleccione
r
NDpgina
t
Connections
New Connection.
U
n
F2. En lanoventana
New/Select Database Connection, introduzca el nombre de la conexin.
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Fundacin Proydesa
Creacin de una Conexin a la Base Datos (continuacin)
c) Haga clic en Test para asegurarse de que la conexin se ha definido correctamente.
d) Haga clic en Connect.
Si activa la casilla de control Save Password, la contrasea se guarda en un archivo XML. De
este modo, cuando cierre la conexin a SQL Developer y la vuelva a abrir, no se le pedir la
contrasea.
3. La conexin se agrega al navegador de conexiones. Puede ampliar la conexin para ver los
objetos de base de datos y las definiciones de objetos (por ejemplo, dependencias, detalles,
estadsticas, etc.).
Nota: en la misma ventana New/Select Database Connection, puede definir conexiones a orgenes de
datos no Oracle mediante los separadores Access, MySQL y SQL Server. Sin embargo, se trata de
conexiones de slo lectura que permiten examinar los objetos y datos de dicho origen de datos.
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Examen de Objetos de Bases de
le Datos
N
b
a
O
ra la base de datos, puede utilizar el navegador de conexiones para
Una vez creada laI conexin
C desunfeesquema
examinarD
losAobjetos n
de base de datos entre los que se incluyen tablas, vistas, ndices,
a
r
N
t
paquetes,
disparadores y tipos.
U procedimientos,
nF
o
n
SQL Developer utiliza la parte izquierda de la navegacin para buscar y seleccionar objetos y la parte
derecha para mostrar la informacin sobre los objetos seleccionados. Tambin puede personalizar
muchos aspectos de la apariencia de SQL Developer mediante la definicin de preferencias.
Puede ver la definicin de los objetos desglosados en separadores de informacin que se transfieren
al diccionario de datos. Por ejemplo, si selecciona una tabla en el navegador, se muestran los detalles
sobre las columnas, restricciones, permisos, estadsticas, disparadores, etc., en una pgina con
separadores fciles de leer.
Si desea ver la definicin de la tabla EMPLOYEES como se muestra en la diapositiva, realice los
siguientes pasos:
1. Ample el nodo Connections en el navegador de conexiones.
2. Ample Tables.
3. Haga clic en EMPLOYEES. Por defecto, est seleccionado el separador Columns. Se muestra la
descripcin de las columnas de la tabla. Mediante el separador Data, puede ver los datos de la
tabla e introducir las nuevas filas, datos de actualizacin y confirmar estos cambios en la base
de datos.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Visualizacin de la Estructura lde
e la Tabla
N
b
a
O
I tambin
En SQL Developer,
visualizar la estructura de una tabla mediante el comando
erpuede
Cresultado
f
s
A
DESCRIBE.
El
del
comando
es una visualizacin de los nombres de columna y tipos de
D tran
N
- indicacin de si una columna debe contener datos.
dato,
una
FUas como
non
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Examen de Archivos
Utilizar el navegador de archivos para explorar el sistema de
archivos y abrir archivos del sistema.
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Examen de Objetos de Bases de
le Datos
N
b
a
O
r archivos para examinar y abrir archivos del sistema.
I
Puede utilizar C
el navegador
ede
f
s
A
ParaDver el navegador
haga clic en el separador Files o seleccione View > Files.
ran dedeunarchivos,
N vernel-tcontenido
Para
archivo,
haga clic dos veces en un nombre de archivo para mostrar
U
F su contenido
no en el rea de la hoja de trabajo de SQL.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Creacin de un Objeto de Esquema
le
N
b
a
O
r
I
SQL Developer
soporta
lae
creacin
de cualquier objeto de esquema mediante la ejecucin de una
C
f
s
A
sentenciaD
en laahoja
de trabajo de SQL. Por otro lado, puede crear objetos mediante los mens
r nse crea,
N SQLnCuando
t
contextuales.
puede editar los objetos con un cuadro de dilogo de edicin o con uno
U
F
o
n
de los muchos mens sensibles al contexto.
Una vez que se han creado los nuevos objetos o se han editado los existentes, el DDL de estos ajustes
estar disponible para la revisin. Una opcin Export DDL est disponible si desea crear el DDL
completo para uno o ms objetos en el esquema.
La diapositiva muestra cmo crear una tabla mediante el men contextual. Para abrir un cuadro de
dilogo para la creacin de una nueva tabla, haga clic con el botn derecho del mouse en Tables y
seleccione New Table. Los cuadros de dilogo para la creacin y edicin de objetos de la base de
datos tienen varios separadores, cada uno de ellos contiene un agrupamiento lgico de propiedades
para dicho tipo de objeto.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Creacin de una Nueva Tabla:lEjemplo
e
N
b
a
O
I
En el cuadro de
dilogo
Create
er Table, si no activa la casilla de control Advanced, puede crear una
C
f
s
A
tabla rpidamente
an la especificacin de columnas y algunas funciones utilizadas con
ND n-trmediante
frecuencia.
U
F
o
Si activa n
la casilla de control Advanced, el cuadro de dilogo Create Table cambia a otro con varias
opciones, en las que puede especificar un juego ampliado de funciones mientras crea la tabla.
En el ejemplo de la diapositiva se muestra cmo crear la tabla DEPENDENTS mediante la activacin
de la casilla de control Advanced.
Para crear una nueva tabla, realice los siguientes pasos:
1. En el navegador de conexiones, haga clic con el botn derecho del mouse en Tables.
2. Seleccione Create TABLE.
3. En el cuadro de dilogo Create Table, seleccione Advanced.
4. Especifique la informacin de columna.
5. Haga clic en OK.
Aunque no es necesario, tambin debe especificar una clave primaria con el separador Primary Key
en el cuadro de dilogo. En ocasiones, puede que desee editar la tabla que ha creado; para ello, haga
clic con el botn derecho del mouse en la tabla del navegador de conexiones y seleccione Edit.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
O hacer clic en el iconog)
Open SQL Worksheet.
or
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Uso de la Hoja de Trabajo de SQL
le (continuacin)
N
b
a
O
r de acceso directo o iconos para realizar determinadas tareas como la
Puede que desee Iutilizar teclas
C nsfeSQL
ejecucinD
deAuna sentencia
o de un script y la visualizacin del historial de sentencias SQL
a
r
N
t
ejecutadas.
Puede
utilizar la barra de herramientas de la hoja de trabajo de SQL que contiene iconos
n-siguientes
FUrealizar
para
tareas:
nolas
1. Execute Statement: ejecuta la sentencia en la que est ubicado el cursor del cuadro Enter SQL
Statement. Puede utilizar variables de enlace en las sentencias SQL pero no variables de
sustitucin.
2. Run Script: ejecuta todas las sentencias en el cuadro Enter SQL Statement mediante Script
Runner. Puede utilizar variables de sustitucin en las sentencias SQL pero no variables de
enlace.
3. Commit: escribe cualquier cambio realizado en la base de datos y finaliza la transaccin.
4. Rollback: desecha cualquier cambio realizado en la base de datos, sin escribirlos en la base de
datos y finaliza la transaccin.
5. Cancel: para la ejecucin de cualquier sentencia que se est ejecutando actualmente.
6. SQL History: muestra un recuadro de dilogo con informacin sobre las sentencias SQL
ejecutadas.
7. Execute Explain Plan: genera la ejecucin del plan, que puede ver haciendo clic en el
separador Explain.
8. Autotrace: genera informacin de rastreo sobre la sentencia.
9. Clear: borra la sentencia o sentencias del recuadro Enter SQL Statement.
Oracle Database: Conceptos Fundamentales de SQL I C-16
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Introducir
sentencias SQL.
Los resultados se
muestran aqu.
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Uso de la Hoja de Trabajo de SQL
le (continuacin)
N
b
a
O
I base fdeerdatos, automticamente se abre una ventana de hoja de trabajo de SQL
Al conectarse C
a una
s utilizar la hoja de trabajo de SQL para introducir y ejecutar sentencias
A
para dicha
nPuede
Dconexin.
a
r
N
t
SQL,
UPL/SQL
ny-SQL *Plus. Todos los comandos SQL y PL/SQL estn soportados conforme se
F
o
n
transfieren directamente desde la hoja de trabajo de SQL a Oracle Database. La hoja de trabajo de
SQL debe interpretar los comandos SQL*Plus utilizados en SQL Developer antes de transferirlos a la
base de datos.
La hoja de trabajo de SQL soporta actualmente varios comandos SQL*Plus. Los comandos que no
soporta la hoja de trabajo de SQL se ignoran y no se envan a Oracle Database. A travs de la hoja de
trabajo de SQL, puede ejecutar sentencias SQL y algunos de los comandos SQL*Plus.
Puede mostrar una hoja de trabajo de SQL mediante cualquiera de las siguientes opciones:
Seleccione Tools > SQL Worksheet.
Haga clic en el icono Open SQL Worksheet.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
F9
F5
F5
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Ejecucin de Sentencias SQL le
N rabse muestra la diferencia entre la salida de la misma consulta cuando
Odiapositiva
En el ejemplo C
de Ila
fe Statement y cuando se utiliza [F5] o Run Script.
s
se utilizaD
la A
tecla [F9]
o
Execute
n
N n-tra
U
F no
F9
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Guardado de Scripts SQL
le
N
b
a
O
Puede guardarC
lasI sentencias
erSQL desde la hoja de trabajo de SQL en un archivo de texto. Para
f
s
A
guardar elDcontenido
cuadro Enter SQL Statement, realice los siguientes pasos:
N clicn-entrelandel
1.
Haga
icono
o utilice la opcin de men File > Save.
U
F2. En elnocuadro de dilogoSave
Save, introduzca un nombre de archivo y la ubicacin en la que desea
guardarlo.
3. Haga clic en Save.
Despus de guardar el contenido de un archivo, en la ventana Enter SQL Statement se muestra una
pgina con separadores del contenido del archivo. Puede tener varios archivos abiertos al mismo
tiempo. Cada archivo se muestra como una pgina con separadores.
Script Pathing
Puede seleccionar una ruta de acceso por defecto para buscar y guardar scripts. En Tools >
Preferences > Database > Worksheet Parameters, introduzca un valor en el campo Select default
path to look for scripts.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
2
3
Seleccionar una
conexin de la lista
desplegable.
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Ejecucin de Archivos de Script
le Guardados: Mtodo 1
N
b
a
O
I de script
Para abrir un archivo
er y mostrar el cdigo en el rea de la hoja de trabajo de SQL, realice los
C
f
s
A
siguientesDpasos: an
Nel navegador
-tr de archivos, seleccione (o navegue hasta) el archivo de script que desea abrir.
n
F1.2.UEn
o
n clic dos veces para abrir. El cdigo del archivo de script se muestra en el rea de la hoja
Haga
de trabajo de SQL.
3. Seleccione una conexin de la lista desplegable de conexiones.
4. Para ejecutar el cdigo, haga clic en el icono Run Script (F5) de la barra de herramientas de la
hoja de trabajo de SQL. Si no ha seleccionado una conexin de la lista desplegable de
conexiones, aparecer un cuadro de dilogo de conexiones. Seleccione la conexin que desea
utilizar para la ejecucin del script.
Tambin puede realizar las siguientes acciones:
1. Seleccione File > Open. Aparece un cuadro de dilogo Open.
2. En el cuadro de dilogo Open, seleccione (o navegue hasta) el archivo de script que desea abrir.
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Fundacin Proydesa
Ejecucin de Archivos de Script Guardados: Mtodo 1 (continuacin)
3. Haga clic en Open. El cdigo del archivo de script se muestra en el rea de la hoja de trabajo de
SQL.
4. Seleccione una conexin de la lista desplegable de conexiones.
5. Para ejecutar el cdigo, haga clic en el icono Run Script (F5) de la barra de herramientas de la
hoja de trabajo de SQL. Si no ha seleccionado una conexin de la lista desplegable de
conexiones, aparecer un cuadro de dilogo de conexiones. Seleccione la conexin que desea
utilizar para la ejecucin del script.
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Ejecucin de Archivos de Script
le Guardados: Mtodo 2
N
b
a
O
rrealice los siguientes pasos:
I SQL,
Para guardar un
script
eseguido
Ccomando
f
s
A
1. Utilice
el
@,
de la ubicacin y el nombre del archivo que desea ejecutar en la
D tran
N
- SQL Statement.
nEnter
F2.Uventana
o
n
Haga clic en el icono Run Script.
El resultado de la ejecucin del archivo se muestra en la pgina con separadores Script Output.
Tambin puede guardar la salida del script haciendo clic en el icono Save de la pgina con
separadores Script Output. Aparece el cuadro de dilogo File Save donde puede identificar un
nombre y una ubicacin para el archivo.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
Despus de la Operacin
pr ent
de Formateo
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Formato del Cdigo SQL
le
N
b
a
O
Idar formato
Puede que desee
eral sangrado, espaciado, uso de maysculas y separacin de lneas del
C
f
s
A
cdigo SQL.
dispone de una funcin para dar formato a cdigo SQL.
D SQLtrDeveloper
an
N
U
Para
n al cdigo SQL, haga clic con el botn derecho del mouse en el rea de la sentencia
F dar formato
o
n
y seleccione Format SQL.
En el ejemplo de la diapositiva, antes de dar formato, las palabras clave del cdigo SQL no estn en
mayscula y la sentencia no est sangrada correctamente. Despus de dar formato, el cdigo SQL
mejora el aspecto con las palabras clave en mayscula y la sentencia sangrada correctamente.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Uso de Fragmentos
Los fragmentos son fragmentos de cdigo que puede ser
simplemente sintaxis o ejemplos.
Al colocar el cursor aqu, se
muestra la ventana Snippets. En
la lista desplegable, puede
seleccionar la categora de
funciones que desee.
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Uso de Fragmentos
le
N
b
a
O
I utilizar
Es posible queC
desee
erdeterminados fragmentos de cdigo al utilizar la hoja de trabajo de SQL
f
s
A
o al crearD
un
o una funcin de PL/SQL. SQL Developer dispone de la funcin
anprocedimiento
r
N o editar
t
denominada
Snippets.
Los
fragmentos
son fragmentos de cdigo, como funciones SQL, indicaciones
U
n
F
o
n
del optimizador y otras tcnicas de programacin de PL/SQL. Puede arrastrar fragmentos a la
ventana Editor.
Para visualizar los fragmentos, seleccione View > Snippets.
Aparece la ventana Snippets a la derecha. Puede utilizar la lista desplegable para seleccionar un
grupo. En el margen de la ventana derecha se encuentra un botn Snippets, para poder acceder a la
ventana Snippets si se oculta.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Insercin de un
fragmento
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Uso de Fragmentos: Ejemplo le
ION feenraelbcdigo en la hoja de trabajo de SQL o en otro procedimiento o
Para insertar un
fragmento
C
funcin PL/SQL,
ns el fragmento desde la ventana Snippets hasta el lugar deseado del cdigo.
DA trarrastre
a
N
AFcontinuacin,
U on-puede editar la sintaxis para que la funcin SQL sea vlida en el contexto actual.
n descripcin breve de una funcin SQL en una ayuda de burbuja, coloque el cursor sobre
Para ver una
Edicin del
fragmento
el nombre de la funcin.
En el ejemplo de la diapositiva se muestra que CONCAT(char1, char2) se arrastra desde el
grupo Character Functions a la ventana Snippets. A continuacin, se edita la sintaxis de la funcin
CONCAT y el resto de la sentencia se agrega como se describe a continuacin:
SELECT CONCAT(first_name, last_name)
FROM employees;
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Depuracin de Procedimientosley Funciones
N depurar
b procedimiento y funciones PL/SQL. Con las opciones del men
a
r
IOpuede
En SQL Developer,
e
C
sfsiguientes tareas de depuracin:
A realizar
Debug, puede
la
n
D
a
N Execution
-tr Point va al siguiente punto de ejecucin.
n
F UFind
o
n contina con la ejecucin.
Resume
Step Over omite el siguiente mtodo y va a la siguiente sentencia despus del mtodo.
Step Into va a la primera sentencia del siguiente mtodo.
Step Out deja el mtodo actual y va a la siguiente sentencia.
Step to End of Method va a la ltima sentencia del mtodo actual.
Pause para la ejecucin pero no sale, lo que permite reanudar la ejecucin.
Terminate para y sale de la ejecucin. No puede reanudar la ejecucin desde este punto; en su
lugar, para iniciar la ejecucin o depuracin desde comienzo de la funcin o del procedimiento,
haga clic en el icono Run o Debug de la barra de herramientas del separador Source.
Garbage Collection elimina los objetos no vlidos de la cach en favor de objetos a los que se
accede con mayor frecuencia y ms vlidos.
Estas opciones tambin estn disponibles como iconos en la barra de herramientas de depuracin.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Informes de Bases de Datos le
ab informes sobre la base de datos y sus objetos. Estos informes
ION ferdiferentes
SQL Developer
proporciona
C
A en
se puedenDagrupar
nlass siguientes categoras:
a
r
N
t
Informes
About
- Your Database
F UInformes
nonDatabase Administration
Informes Table
Informes PL/SQL
Informes Security
Informes XML
Informes Jobs
Informes Streams
Informes All Objects
Informes Data Dictionary
Informes User Defined
Para visualizar los informes, haga clic en el separador Reports situado a la izquierda de la ventana.
Los informes individuales se muestran en los paneles con separadores situados a la derecha de la
ventana y para cada informe puede seleccionar (en una lista desplegable) la conexin a la base de
datos para la que desea mostrar el informe. Para los informes sobre objetos, slo se muestran aquellos
objetos que sean visibles para el usuario de la base de datos asociado a la conexin a la base de datos
seleccionada y las filas ordenadas por propietario. Tambin puede crear sus propios informes
definidos por el usuario.
Oracle Database: Conceptos Fundamentales de SQL I C-27
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
onen carpetas.
tud
Organizar informes
i
S
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Creacin de un Informe Definido
le por el Usuario
N
b
a
O
I porfeelr usuario son informes creados por los usuarios de SQL Developer. Para
Los informes definidos
C
A
crear un informe
ns por el usuario, realice los siguientes pasos:
D tdefinido
a
r
N
-con el botn derecho del mouse en el nodo User Defined Reports en Reports y
Haga clic
F1.Useleccione
non Add Report.
2. En el cuadro Create Report Dialog, especifique el nombre del informe y la consulta SQL para
recuperar del informe. A continuacin, haga clic en Apply.
En el ejemplo de la diapositiva, se especifica el nombre del informe como emp_sal. Se proporciona
una descripcin opcional que indica que el informe contiene los detalles de los empleados con un
salario salary >= 10000. La sentencia SQL completa para la recuperacin de la informacin
que se mostrar en el informe definido por el usuario se especifica en el cuadro SQL. Tambin puede
incluir una ayuda de burbuja opcional que se muestre al colocar el cursor brevemente sobre el
nombre del informe en la pantalla del navegador Reports.
Puede organizar los informes definidos por el usuario en carpetas y puede crear una jerarqua de
carpetas y subcarpetas. Para crear una carpeta para los informes definidos por el usuario, haga clic
con el botn derecho del mouse en el nodo User Defined Reports o en cualquier nombre de carpeta
de dicho nodo y seleccione Add Folder. La informacin sobre los informes definidos por el usuario,
incluidas las carpetas de dichos informes, se almacena en un archivo denominado
UserReports.xml en el directorio de informacin especfica del usuario.
Oracle Database: Conceptos Fundamentales de SQL I C-28
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
1
2
a
s
a
)h
g
r
Enlaces a motores de
o e
a
s
bsqueda y foros de
de Guid
y
discusin conocidos
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Motores de Bsqueda y Herramientas
Externas
le
N
b
a
O
I
Para mejorar laCproductividad
er de los desarrolladores de SQL, SQL Developer ha agregado enlaces
f
s
A
rpidos aD
de
y foros de discusin conocidos, como AskTom, Google, etc. Adems,
anbsqueda
r
Ndemotores
t
dispone
iconos
de
acceso
directo
a algunas de las herramientas ms utilizadas, como el Bloc de
U
n
F
o
n
notas, Microsoft Word y Dreamweaver.
Puede agregar herramientas externas a la lista de herramientas existentes o incluso suprimir accesos
directos a las herramientas que no utilice habitualmente. Para ello, realice los siguientes pasos:
1. En el men Tools, seleccione External Tools.
2. En el cuadro de dilogo External Tools, seleccione New para agregar nuevas herramientas.
Seleccione Delete para eliminar cualquier herramienta de la lista.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Definicin de Preferencias
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Definicin de Preferencias
le
N
b
a
O
I diferentes
Puede personalizar
er aspectos de la interfaz y el entorno de SQL Developer mediante la
C
f
s
A
modificacin
de lasapreferencias
SQL Developer segn sus preferencias y necesidades. Para
r n de SQLdeDeveloper,
NDlas npreferencias
t
modificar
seleccione Tools y, a continuacin, Preferences.
U
F no
Las preferencias se agrupan en las siguientes categoras:
Environment
Accelerators (accesos directos del teclado)
Code Editors
Database
Debugger
Documentation
Extensions
File Types
Migration
PL/SQL Compilers
PL/SQL Debugger
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Restablecimiento del Diseo de
leSQL Developer
N
b
a
O
I Developer,
Al trabajar conC
SQL
er si desaparece el navegador de conexiones o no puede encajar la
f
s
A
ventana Log
su lugar
n original, realice los siguientes pasos para solucionar el problema:
raDeveloper.
NDdeennSQL
t
1.
Salga
U
F2. Abranuna
o ventana de terminal y utilice el comando de bsqueda para buscar la ubicacin de
windowinglayout.xml.
3. Vaya al directorio que contenga el archivo windowinglayout.xml y suprmalo.
4. Reinicie SQL Developer.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Resumen
En este apndice, debe haber aprendido cmo utilizar SQL
Developer para realizar las siguientes acciones:
Examinar, crear y editar objetos de bases de datos
Ejecutar sentencias SQL y scripts en la hoja de trabajo de
SQL
Crear y guardar informes personalizados
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Resumen
le
N
b
a
O
I una herramienta
SQL Developer
es
grfica gratuita para simplificar las tareas de desarrollo de la base
er
C
f
s
A
de datos. D
Con SQLa
Developer,
puede examinar, crear y editar objetos de bases de datos. Puede
n
r
NSQL
t
utilizar
Worksheet
para
ejecutar
archivos de comandos y sentencias SQL. SQL Developer
U
n
F
o
n
permite crear y guardar su propio juego especial de informes para un uso repetido.
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Fundacin Proydesa
Uso de SQL*Plus
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Objetivos
Al finalizar este apndice, debera estar capacitado para lo
siguiente:
Conectarse a SQL*Plus
Editar comandos SQL
Formatear la salida con comandos SQL*Plus
Interactuar con scripts
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Objetivos
le
N
b
a
O
Puede que desee Icrear sentencias
er SELECT que se puedan utilizar repetidamente. En este apndice
C
f
s
A
tambin se
el
nuso de comandos SQL*Plus para ejecutar sentencias SQL. Aprender cmo
amediante
r
NDlaaborda
t
formatear
salida
comandos SQL*Plus, editar comandos SQL y guardar scripts en
U
n
F
o
n
SQL*Plus.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Sentencias SQL
Servidor
SQL*Plus
Resultados de consultas
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
Scripts
pr ent
@
SQL
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
SQL y SQL*Plus
le
N
b
a
O
I de comandos
SQL es un lenguaje
er que se utiliza para la comunicacin con el servidor de Oracle desde
C
f
s
A
cualquierD
aplicacin. Oracle SQL contiene muchas extensiones. Al introducir una
asenoalmacena
r
N herramienta
t
sentencia
SQL,
sta
en una parte de la memoria denominada buffer SQL y permanece
U
n
F
o
n
all hasta que introduzca una nueva sentencia SQL. SQL*Plus es una herramienta de Oracle que
Buffer
reconoce y enva sentencias SQL en Oracle9i Server para su ejecucin. Contiene su propio lenguaje
de comandos.
Funciones de SQL
Las pueden utilizar una gran variedad de usuarios, incluidos aqullos con poca o ninguna
experiencia
.Es un lenguaje que no es de procedimientos.
Reduce la cantidad de tiempo necesario para crear y mantener sistemas.
Es un lenguaje como el ingls.
Funciones de SQL*Plus
Acepta la entrada ad hoc de sentencias.
Acepta la entrada de SQL de los archivos.
Proporciona un editor de lneas para modificar sentencias SQL.
Controla los valores de entorno.
Formatea resultados de consulta en informes bsicos.
Accede a bases de datos locales y remotas.
Oracle Database: Conceptos Fundamentales de SQL I D-3
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
SQL*Plus
Un entorno
Propiedad de Oracle
Las palabras clave se
pueden abreviar.
Los comandos no
permiten la manipulacin
de valores en la base de
datos.
as
)h
g
r
o e
a
s
de Guid
y
o
Sentencias
Buffer
Comandos r
Buffer
t
p eSQL*Plus
n
SQL
SQL
SQL*Plus
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
SQL y SQL*Plus (continuacin)
le
N
b
a
O
I compara
En la siguienteC
tabla
er SQL y SQL*Plus:
f
s
A
ND n-tran
SQL
SQL*Plus
U
F Lenguaje
o
Reconoce las sentencias SQL y las enva al
n para la comunicacin con el
servidor de Oracle para acceder a los datos.
Se basa en SQL del estndar ANSI
(American National Standards Institute).
Manipula la definiciones de tablas y datos en
la base de datos.
Se introduce en el buffer SQL en una o ms
lneas.
No tiene ningn carcter de continuacin.
No se puede abreviar.
servidor.
Interfaz propiedad de Oracle para ejecutar
sentencias SQL.
No permite la manipulacin de valores en la
base de datos.
Se introduce en una lnea al mismo tiempo y
no se almacena en el buffer SQL.
Utiliza un guin () como carcter de
continuacin si el comando es ms largo que
una lnea.
Se puede abreviar.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Conectarse a SQL*Plus.
Describir la estructura de la tabla.
Editar la sentencia SQL.
Ejecutar SQL desde SQL*Plus.
Guardar sentencias SQL en archivos y agregar sentencias
SQL a los archivos.
Ejecutar archivos guardados.
Cargar comandos del archivo en el buffer para la edicin.
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
SQL*Plus
le
N
b
a
O
r que puede:
I
SQL*Plus es un
entorno
eneel
C
f
s
A
Ejecutar
SQL para recuperar, modificar, agregar y eliminar datos de la base de datos.
ran clculos,
ND nsentencias
t
Formatear,
realizar
e imprimir resultados de consulta en forma de informes.
U
F Crearnoscripts para almacenar almacenar
sentencias SQL para un uso repetido en el futuro.
Los comandos SQL*Plus se pueden dividir en las siguientes categoras:
Categora
Objetivo
Entorno
Formato
Manipulacin de
archivos
Ejecucin
Edicin
Interaccin
Otros
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Conexin a SQL*Plus
sqlplus [username[/password[@database]]]
s
a
h
rg)
o
sa ide
e
d
roy 2nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Conexin a SQL*Plus
le
N
b
a
O
I a SQL*Plus
La forma de llamar
er depender del tipo de sistema operativo en que est ejecutando
C
f
s
A
Oracle Database.
D tran
N
U
Para
n-desde un entorno Linux, realice los siguientes pasos:
F conectarse
o
n
1. Haga clic con el botn derecho del mouse en el escritorio de Linux y seleccione un terminal.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Visualizacin de la Estructura lde
e la Tabla
N
b
a
O
En SQL*Plus, puede
I mostrar
er la estructura de una tabla mediante el comando DESCRIBE. El
C
f
s
A
resultadoD
nes una visualizacin de los nombres de columna y tipos de dato, as como una
racolumna
N deldencomando
t
indicacin
si
una
debe contener datos.
U
F no
En la sintaxis:
tablename Nombre de cualquier tabla existente, vista o sinnimo al que puede acceder
el usuario.
Para describir la tabla DEPARTMENTS, utilice este comando:
SQL> DESCRIBE DEPARTMENTS
Name
Null?
Type
----------------------- -------- --------------DEPARTMENT_ID
DEPARTMENT_NAME
MANAGER_ID
LOCATION_ID
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
DESCRIBE departments
Name
----------------------DEPARTMENT_ID
DEPARTMENT_NAME
MANAGER_ID
LOCATION_ID
Null?
Type
-------- -----------NOT NULL NUMBER(4)
NOT NULL VARCHAR2(30)
NUMBER(6)
NUMBER(4)
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Visualizacin de la Estructura lde
e Tabla (continuacin)
N
b
a
O
En el ejemplo C
deIla diapositiva
er se muestra la informacin sobre la estructura de la tabla
f
s
A
DEPARTMENTS.
En
el
resultado:
ansi una columna debe contener datos (NOT NULL indica que una columna debe
r
NDespecifica
t
Null?:
U
F contener
nondatos).
Type: muestra el tipo de dato de una columna.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
A[PPEND] text
C[HANGE] / old / new
C[HANGE] / text /
CL[EAR] BUFF[ER]
DEL
DEL n
DEL m n
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Comandos de Edicin SQL*Plus
le
N
b
a
O
I
Los comandosC
SQL*Plus
se
erintroducen en una lnea al mismo tiempo y no se almacenan en el buffer
f
s
A
SQL. D
an
r
N
t
U
Descripcin
F Comando
non text
A[PPEND]
Agrega texto al final de la lnea actual.
C[HANGE] / old / new
C[HANGE] / text /
CL[EAR] BUFF[ER]
DEL
DEL n
DEL m n
Instrucciones
Si pulsa Intro antes de que haya terminado la ejecucin de un comando, SQL*Plus le solicitar
un nmero de lnea.
Termine el buffer SQL introduciendo uno de los caracteres de terminacin (punto y coma o
barra) o pulsando [Intro] dos veces. Aparecer la peticin de datos SQL.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
I[NPUT]
I[NPUT] text
L[IST]
L[IST] n
L[IST] m n
R[UN]
n
n text
0 text
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Comandos de Edicin SQL*Plus
le (continuacin)
N
b
a
O
CI nsferDescripcin
Comando
A
I[NPUT]
Inserta un nmero indefinido de lneas.
ND n-tra
U
F I[NPUT]
text
o
Inserta una lnea que consta de texto.
n
L[IST]
L[IST] n
L[IST] m n
R[UN]
n
n text
0 text
Nota: puede introducir slo un comando SQL*Plus para cada peticin de datos SQL. Los comandos
SQL*Plus no se almacenan en el buffer. Para que un comando SQL*Plus contine en la siguiente
lnea, finalice la primera lnea con un guin (-).
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
LIST
1 SELECT last_name
2* FROM
employees
1
1* SELECT last_name
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
LIST
pr ent
@
1 SELECT last_name, job_id
d
n
u
o
t
i
S
c
2* FROM
employees
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
RO e lice
Uso de LIST, n y APPEND
P
N L[IST]
bl para mostrar el contenido del buffer SQL. El asterisco (*) situado
a
O
Utilice el comando
r
I
C 2nen
fele buffer indica que la lnea 2 es la lnea actual. Cualquier edicin que
s
junto
aAla lnea
D
ra a la lnea actual.
N sen-aplica
t
realice
U
F Introduzca
no el nmero (n) de la lnea que desea editar para cambiar el nmero de la lnea actual.
A , job_id
1* SELECT last_name, job_id
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
LIST
1* SELECT * from employees
c/employees/departments
1* SELECT * from departments
a
s
a
)h
g
r
o e
a
s
LIST
de Guid
y
o
1* SELECT * from departments
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
RO e lice
Uso del Comando CHANGE
P
Npara mostrar
bl el contenido del buffer.
a
O
Utilice L[IST]
r
I
e
fC[HANGE]
s
AelCcomando
Utilice
para modificar el contenido de la lnea actual del buffer SQL.
n
D
a
r
N
t
- sustituya la tabla employees por la tabla departments. Se muestra la nueva
este n
caso,
FUEn
o
n
lnea actual.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
SAVE filename
GET filename
START filename
@ filename
EDIT filename
SPOOL filename
EXIT
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Comandos de Archivos SQL*Plus
le
N
b
a
O
Las sentencias SQL
se
comunican
r con el servidor de Oracle. Los comandos SQL*Plus controlan el
I
e
C
f
entorno, formatean
A alosnsresultados de la consulta y gestionan archivos. Puede utilizar los comandos
D
N
descritos
en
la siguiente
-tr tabla:
n
FUComando
o
Descripcin
n
SAV[E] filename [.ext]
[REP[LACE]APP[END]]
GET filename [.ext]
STA[RT] filename [.ext]
@ filename
ED[IT]
ED[IT] [filename[.ext]]
Llama al editor para editar el contenido de un archivo guardado.
SPO[OL] [filename[.ext]| Almacena los resultados de la consulta en un archivo. OFF
OFF|OUT]
cierra el archivo de spool. OUT cierra el archivo de spool y
enva los resultados del archivo a la impresora.
EXIT
Sale de SQL*Plus.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
a
s
a
LAST_NAME
MANAGER_ID DEPARTMENT_ID
)h
g
r
------------------------- ---------- ------------- o
s90a ide
King
e
d
Kochhar
100
Gu
roy n90
t
p
...
n@ tude
o
i
107 rows selected.
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
cyeEDIT
i
ROSTART
l
Uso de los Comandos P
SAVE,
le
N
b
a
O
SAVE
CI nsfer
A
Utilice elD
comando
aSAVE para almacenar el contenido actual del buffer en un archivo. De esta forma,
r
N
t
U
podr
F almacenar
on los scripts utilizados con frecuencia para utilizarlos en el futuro.
n
START
Utilice el comando START para ejecutar un script en SQL*Plus. Adems, tambin puede utilizar el
smbolo @ para ejecutar un script.
@my_query
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Comando SERVEROUTPUT
es uide
d
y
ro nt G
p
SET SERVEROUT[PUT] {ON | OFF} [SIZE {n | UNL[IMITED]}]
de
n|@TRU[NCATED]}]
[FOR[MAT] {WRA[PPED] | WOR[D_WRAPPED]
u
o
t
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
RO e lice
Comando SERVEROUTPUT
P
N raPL/SQL
bl realizan entradas y salidas mediante sentencias SQL para
La mayora deC
losIO
programas
fe de las bases de datos o consultar dichas tablas. Las dems
A enalasnstablas
almacenar
datos
D
tr
entradas/salidas
se realizan a travs de API, que interactan con otros programas. Por
UN on-PL/SQL
F
n
ejemplo, el paquete DBMS_OUTPUT tiene procedimientos, como PUT_LINE. Para ver el resultado
fuera de PL/SQL, se necesita otro programa como SQL*Plus, para leer y visualizar los datos
transferidos a DBMS_OUTPUT.
SQL*Plus no muestra los datos de DBMS_OUTPUT a menos que antes emita el comando SQL*Plus
SET SERVEROUTPUT ON siguiente:
SET SERVEROUTPUT ON
Nota
SIZE define el nmero de bytes de la salida que se pueden almacenar en buffer en el servidor
de Oracle Database. El valor por defecto es UNLIMITED. n no puede ser menor que 2.000 o
mayor que 1.000.000.
Para obtener ms informacin sobre SERVEROUTPUT, consulte Oracle Database PL/SQL
User's Guide and Reference 11g (Gua del Usuario y Referencia de PL/SQL de Oracle
Database 11g).
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Descripcin
file_name[.ext]
CRE[ATE]
REP[LACE]
a
s
a
Agrega el contenido del buffer al final del archivo ) h
APP[END]
rg
especificado.
o
sa ide
e
d
Para el envo de resultados.
OFF
roy nt Gu
p
@ eltuarchivo
de a la
Para el envo de datos n
y enva
OUT
o
i
S de la computadora.
c(por defecto)
impresora estndar
a
s
i
d
h
fun se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
ce
i
ROSPOOL
l
Uso del Comando SQL*Plus
P
le
N
b
a
O
El comando SPOOL
los resultados de la consulta en un archivo o enva el archivo a una
I almacena
eelr comando
C
f
s
A
impresora.
Se
ha
mejorado
SPOOL. Ahora puede adjuntar a (o sustituir) un archivo
D tran
N
existente,
U cuando
n- antes slo poda utilizar SPOOL para crear (y sustituir) un archivo. REPLACE es el
F
o
n
valor por defecto.
Para enviar la salida generada por los comandos en un script sin mostrar la salida en la pantalla,
utilice SET TERMOUT OFF. SET TERMOUT OFF no afecta a la salida de los comandos que se
ejecutan interactivamente.
Debe utilizar comillas con los nombres de archivo que contengan espacios en blanco. Para crear un
archivo HTML vlido mediante los comandos SPOOL APPEND, debe utilizar PROMPT o un
comando para crear la cabecera y el pie de pgina de la pgina HTML. El comando SPOOL
APPEND no analiza las etiquetas HTML. SET SQLPLUSCOMPAT[IBILITY] en 9.2 o anterior
para desactivar los parmetros CREATE, APPEND y SAVE.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
a
s
a
)h
g
r
o e
SET AUTOTRACE ON
a
s
-- The AUTOTRACE report includes both the optimizer
de Guid
y
o
-- execution path and the SQL statement execution
r
t
p
n
e
@
-- statistics
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
RO e lice
Uso del Comando AUTOTRACE
P
N deraacceso
bl de ejecucin de consulta mediante la ejecucin de EXPLAIN
O
EXPLAIN muestra
la rutae
I
sf estadsticas de sentencias SQL. El formato del informe AUTOTRACE
AC anmuestra
PLAN. STATISTICS
D
tr de la versin del servidor al que est conectado y la configuracin del
-funcin
puede
variar en
UN
n
F
o
servidor. n
El paquete DBMS_XPLAN proporciona una forma fcil de mostrar la salida del comando
EXPLAIN PLAN en varios formatos predefinidos.
Nota
Para obtener ms informacin sobre el paquete y los subprogramas, consulte Oracle Database
PL/SQL Packages and Types Reference 11g (Referencia sobre Paquetes y Tipos PL/SQL de
Oracle Database 11g).
Para obtener ms informacin sobre EXPLAIN PLAN, consulte Oracle Database SQL
Reference 11g (Referencia sobre SQL de Oracle Database 11g).
Para obtener ms informacin sobre las estadsticas de planes de ejecucin, consulte
Oracle Database Performance Tuning Guide 11g (Gua de Ajuste del Rendimiento de
Oracle Database 11g).
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Resumen
En este apndice, debe haber aprendido cmo utilizar
SQL*Plus como un entorno para realizar las siguientes
acciones:
Ejecutar sentencias SQL
Editar sentencias SQL
Formatear la salida
Interactuar con scripts
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Resumen
le
N
b
a
O
r
I
SQL*Plus es un
entorno
deeejecucin
que puede utilizar para enviar comandos SQL al servidor de la
C
f
s
A
base datos
los comandos SQL. Puede ejecutar los comandos desde la peticin
Dpara editar
anyunguardar
r
t
deFdatos
o
desde
archivo
de script.
UNSQL
non
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Fundacin Proydesa
Uso de JDeveloper
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Objetivos
Al finalizar este apndice, debera estar capacitado para lo
siguiente:
Mostrar las funciones clave de Oracle JDeveloper
Crear una conexin a base de datos en JDeveloper
Gestionar objetos de base de datos en JDeveloper
Utilizar JDeveloper para ejecutar comandos SQL
Crear y ejecutar unidades de programa PL/SQL
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Objetivos
le
N
b
a
O
En este apndice,
er JDeveloper. Aprender cmo utilizar JDeveloper para las tareas de
CseI presentar
f
s
A
Dla basetradendatos.
desarrollo
Nde
U
F non-
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Oracle JDeveloper
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Oracle JDeveloper
le
N
b
a
O
I es un fentorno
Oracle JDeveloper
er de desarrollo de integracin (IDE) para desarrollar y desplegar
C
s
A
aplicaciones
Java yaservicios
web. Soporta cada etapa del ciclo de vida de desarrollo de software
n
r
ND
t
(SDLC),
del
modelado
al
despliegue.
Tiene funciones que permiten utilizar los ltimos estndares de
U
n
F
o
n
la industria para Java, XML y SQL y desarrollar una aplicacin.
Oracle JDeveloper 11g inicia un nuevo enfoque al desarrollo J2EE con funciones que permiten un
desarrollo visual y declarativo. Este enfoque innovador hace que el desarrollo J2EE sea sencillo y
eficaz.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Database Navigator
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Database Navigator
le
N
b
a
O
I
Con Oracle JDeveloper,
puede
er almacenar la informacin necesaria para conectarse a la base de datos
C
f
s
A
en un objeto
n conexin. Una conexin se almacena como parte de los valores de IDE y
D denominado
aimportar
r
t
seFpuede
e
para compartirla fcilmente entre grupos de usuarios. Una conexin
UN exportar
n
o
n
tiene diferentes fines, desde el examen de la base de datos y la creacin de aplicaciones hasta el
despliegue.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Creacin de Conexin
1
2
a
s
a
)h
g
r
o e
3 Haga clic en Test Connection.
a
s
de Guid
y
o
pr ent
@
n
ud
o
t
i
S
c
Haga
clic
en
OK.
4 da
is
h
n
t
u
f
(
se
u
A
Copyright 2010, Oracle
to Todos los derechos reservados.
ESy/o sussefiliales.
D
OY licen
R
Creacin de Conexin P
le
N
b
a
O
r especifica la informacin necesaria para conectarse a una base de
Una conexin C
es Iun objetoeque
f
s
A
datos concreta
especfico de dicha base de datos. Puede crear y probar conexiones para
D como
anusuario
r
N
t
varias
bases
de
datos
y
esquemas.
U
F non
Para crear una conexin a la base de datos, realice los siguientes pasos:
1. Haga clic en el icono New Connection en Database Navigator.
2. En la ventana Create Database Connection, introduzca el nombre de la conexin. Introduzca el
nombre de usuario y la contrasea del esquema al que desea conectarse. Introduzca el SID de la
base de datos a la que desea conectarse.
3. Haga clic en Test para asegurarse de que la conexin se ha definido correctamente.
4. Haga clic en OK.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Examen de Objetos de Bases de
le Datos
N
b
a
O
Una vez creadaClaI conexin
era la base de datos, puede utilizar el navegador de la base de datos para
f
s
A
examinarD
objetos
esquema de base de datos entre los que se incluyen tablas, vistas, ndices,
ande undisparadores
r
N los
t
paquetes,
procedimientos,
y tipos.
U
F non
Puede ver la definicin de los objetos desglosados en separadores de informacin que se transfieren
al diccionario de datos. Por ejemplo, si selecciona una tabla en el navegador, se muestran los detalles
sobre las columnas, restricciones, permisos, estadsticas, disparadores, etc., en un navegador de la
base de datos fcil de leer.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
3
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Ejecucin de Sentencias SQL
le
N
b
a
O
r realice los siguientes pasos:
Para ejecutar una
eSQL,
CIsentencia
f
s
A
1. Haga
NDclicn-entrelanicono Open SQL Worksheet.
U
F2. Seleccione
o la conexin.
n
3. Ejecute el comando SQL haciendo clic en:
1. El botn Execute statement o pulsando F9. La salida es la siguiente:
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
3
n@ tude
o
i
c is S
a
d
Esqueleto de la Funcin
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Creacin de Unidades de Programa
le
N
b
a
O
I de fprograma
Para crear unaC
unidad
er PL/SQL, realice los siguientes pasos:
s
A
1. Seleccione
View
> Database Navigator. Seleccione y ample una conexin de base de datos.
raelnbotn
NDclicn-con
t
Haga
derecho del mouse en una carpeta que corresponda al tipo de objeto
U
F (Procedures,
no Packages, Functions). Seleccione New [Procedures|Packages|Functions].
1
2. Introduzca un nombre vlido para la funcin, el paquete o el procedimiento y haga clic en OK.
3. Se crea una estructura bsica que se abre en la ventana Code Editor. A continuacin, puede
editar el subprograma para que se ajuste a sus necesidades.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Compilacin
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
Compilacin sindErrores
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Compilacin
le
N
b
a
O
I la definicin
Despus de editar
er de esqueleto, debe compilar la unidad de programa. Haga clic con el
C
f
s
A
botn derecho
del mouse
en el objeto PL/SQL que necesita compilar en Connection Navigator y, a
ran Compile.
ND nseleccione
t
continuacin,
Tambin puede pulsar [Ctrl] + [Shift] + [F9] para compilar.
U
F no
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Ejecucin de una Unidad de Programa
le
N
b
a
O
r
I defeprograma,
Para ejecutar laCunidad
haga clic con el botn derecho del mouse en el objeto y haga
s
A
clic en Run.
Run PL/SQL. Puede que tenga que cambiar los valores
D Aparece
anel cuadroquede sedilogo
r
N
t
NULL
por valores
razonables
transfieren
a la unidad de programa. Despus de cambiar los
U
n
F
o
n
valores, haga clic en OK. La salida se mostrar en la ventana Message-Log.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
a
s
a
)h
1
g
r
o e
a
s
de Guid 2
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Borrado de una Unidad de Programa
le
N
b
a
O
r
I defeprograma,
Para borrar unaCunidad
haga clic con el botn derecho del mouse en el objeto y
s
A
seleccione
Aparece
n el cuadro de dilogo Drop Confirmation; haga clic en Apply. El objeto se
adatos.
r
NlaDDrop.
t
borra
de
base
de
U
F non
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Ventana Structure
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Ventana Structure
le
N
b
a
O
I ofrece
La ventana Structure
eruna vista estructural de los datos del documento seleccionados
C
f
s
A
actualmente
en la ventana
activa de las ventanas que proporcionan estructura: navegadores, editores,
ande propiedades.
r
NyD
t
visores
el
inspector
U
F non
Haga clic en la ventana View > Structure para ver la ventana Structure.
En la ventana Structure, puede ver los datos del documento de distintas formas. Las estructuras
disponibles estn basadas en el tipo de documento. Para un archivo Java, puede ver la estructura del
cdigo, la estructura de la interfaz de usuario o los datos de modelo de interfaz de usuario. Para un
archivo XML, puede ver la estructura XML, la estructura del diseo o los datos de modelo de
interfaz de usuario.
La ventana Structure es dinmica y realiza siempre un seguimiento de la seleccin actual de la
ventana activa (a menos que congele el contenido de la ventana en una vista concreta), ya que est
relacionada con el editor que est actualmente activo. Cuando la seleccin actual es un nodo del
navegador, se asume el editor por defecto. Para cambiar la vista en la estructura de la seleccin
actual, haga clic en un separador de estructura distinto.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Ventana del Editor
le
N
b
a
O
I en el nombre
Al hacer dobleC
clic
er de una unidad de programa, se abre en la ventana del editor. Puede
f
s
A
ver todosD
archivos
de proyectos en una nica ventana del editor, abrir varias vistas del mismo
anvistas
r
No los
t
archivo
abrir
varias
de diferentes archivos.
U
F non
Los separadores situados en la parte superior de la ventana del editor son los separadores del
documento. Al hacer clic en un separador del documento, dicho documento se enfoca y se coloca en
primer plano en la ventana del editor actual.
Los separadores situados en la parte inferior de la ventana del editor para un archivo concreto son los
separadores del editor. Al seleccionar un separador del editor, el archivo se abre en ese editor.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Navegador de Aplicaciones
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Navegador de Aplicaciones le
b
ION feraproporciona
El navegador de
aplicaciones
una vista lgica de la aplicacin y de los datos que
C
s
A
contiene.D
proporciona
una infraestructura a la que las distintas extensiones pueden
n
apara
r
N Adems
t
conectarse
y
utilizar
organizar
los datos y mens de forma abstracta y consistente. Aunque el
U
n
F
o
n
navegador de aplicaciones puede contener archivos individuales (como archivos de origen Java), est
diseado para consolidar datos complejos. Los tipos de dato complejos, como los objetos de
entidades, diagramas UML, EJB o servicios web aparecen en el navegador como nodos nicos. Los
archivos raw que componen estos nodos abstractos aparecen en la ventana Structure.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
r
t
p
n
e
@
2
1
on Stud 3
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Despliegue de Procedimientosle
Java Almacenados
N
b
a
O
Cree un perfil C
de Idespliegue
erpara los procedimientos Java almacenados y, a continuacin, despliegue
f
s
A
las clasesD
y, si lo desea,
an cualquier mtodo esttico pblico en JDeveloper con los valores del perfil.
r
N
t
U
ElFdespliegue
nen la base de datos utiliza la informacin proporcionada en Deployment Profile Wizard
o
n
y dos utilidades de Oracle Database:
loadjava carga la clase Java que contiene los procedimientos almacenados en Oracle
Database.
publish genera los envoltorios especficos de llamada PL/SQL para los mtodos estticos
pblicos cargados. La publicacin permite que se llame a los mtodos Java como funciones o
procedimientos PL/SQL.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
a
s
a
)h
g
r
o e
a
s
e uid
2 oyd
G
r
t
p
n
n@ tude
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Publicacin de Java en PL/SQL
le
N
b
a
O
I elfcdigo
La diapositivaC
muestra
er Java y cmo publicar el cdigo Java en un procedimiento PL/SQL.
s
A
ND n-tran
U
F no
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Tema
Pgina del Producto
Oracle JDeveloper
Tutoriales de Oracle
JDeveloper 11g
Documentacin de los
Productos Oracle
JDeveloper 11g
Foro de Discusin de
Oracle JDeveloper 11g
Direccin web
http://www.oracle.com/technology/products/jdev/index.html
http://www.oracle.com/technology/obe/obe11jdev/11/index.html
http://www.oracle.com/technology/documentation/jdev.html
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
http://forums.oracle.com/forums/forum.jspa?forumID=83
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Resumen
En este apndice, debe haber aprendido a realizar lo siguiente:
Mostrar las funciones clave de Oracle JDeveloper
Crear una conexin a base de datos en JDeveloper
Gestionar objetos de base de datos en JDeveloper
Utilizar JDeveloper para ejecutar comandos SQL
Crear y ejecutar unidades de programa PL/SQL
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Fundacin Proydesa
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Objetivos
Al finalizar este apndice, debera estar capacitado para lo
siguiente:
Escribir sentencias SELECT para acceder a datos de ms
de una tabla mediante uniones igualitarias y no igualitarias
Unir una tabla consigo misma mediante autounin
Ver datos que normalmente no cumplen una condicin de
unin mediante uniones externas
Generar un producto cartesiano de todas las filas de una o s
a
h
ms tablas
)
g
or
a
es uide
d
y
ro nt G
p
n@ tude
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Objetivos
le
N
b
a
O
r datos de ms de una tabla. Una unin se utiliza para ver
I cmofeobtener
Esta leccin explica
C
s
A
informacin
rantablas. Por lo tanto, puede unir tablas para ver informacin de ms de una
ND den-varias
t
tabla.
U
F no
Nota: para
obtener ms informacin sobre las uniones, consulte la seccin sobre consultas y
subconsultas SQL: uniones en Oracle Database SQL Language Reference 11g, Release 1 (11.1)
(Referencia sobre Lenguaje SQL de Oracle Database 11g, Versin 1 (11.1)).
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
DEPARTMENTS
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Obtencin de Datos de Varias lTablas
e
N
b
a
O
Iutilizarfdatos
A veces, necesita
er de ms de una tabla. En el ejemplo de la diapositiva, el informe
C
s
A
muestra datos
D detdos
antablas independientes:
r
Ntabla
ULa
EMPLOYEES
los ID de empleado.
F Lasntablas
on EMPLOYEEScontiene
y DEPARTMENTS contienen los ID de departamento.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Productos Cartesianos
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Productos Cartesianos
le
N
b
a
O
I defunin
Cuando una condicin
er no es vlida o se omite completamente, el resultado es un producto
C
s
A
cartesiano,
muestran todas las combinaciones de filas. Es decir, todas las filas de la
Den eltque
ansea todas
r
Ntabla
primera
se
unen
las filas de la segunda tabla.
U
F non
Un producto cartesiano tiende a generar un gran nmero de filas y el resultado es poco til. Por lo
tanto, debe incluir siempre una condicin de unin vlida a menos que tenga necesidades especficas
de combinar todas las filas de todas las tablas.
Sin embargo, los productos cartesianos son tiles para algunas pruebas para las que necesite generar
un gran nmero de filas para simular una cantidad razonable de datos.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
DEPARTMENTS (8 filas)
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Generacin de un Producto Cartesiano
le
N
b
a
O
Se genera un producto
cartesiano
una condicin de unin. En el ejemplo de la diapositiva
er si sey elomite
CI ndel
fempleado
s
A
se muestra
el
apellido
nombre
del departamento de las tablas EMPLOYEES y
D tra
N
DEPARTMENTS,
U on- respectivamente. Ya que no se ha especificado ninguna condicin de unin, todas
F
n filas) de la tabla EMPLOYEES se unen con todas las filas (8 filas) de la tabla
las filas (20
Producto cartesiano:
20 x 8 = 160 filas
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Unin igualitaria
Unin no igualitaria
Unin externa
Autounin
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Tipos de Uniones
le
N
b
a
O
I utilizar
Para unir tablas,
er la sintaxis de unin de Oracle.
Cpuede
f
s
A
D de latrversin
Nota: N
antes
an de Oracle9i , la sintaxis de unin era propietaria. La sintaxis de unin
U
compatible
F noconn SQL:1999 no ofrece ninguna ventaja en el rendimiento respecto a la sintaxis de
unin propietaria de Oracle.
Oracle no tiene una sintaxis equivalente para soportar FULL OUTER JOIN de la sintaxis de unin
compatible con SQL:1999.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
table1.column, table2.column
table1, table2
table1.column1 = table2.column2;
a
s
a
h
e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Unin de Tablas mediante la Sintaxis
de Oracle
le
N
b
a
O
I datosfeder ms de una tabla en la base de datos, se utiliza una condicin de unin.
Cuando se necesitan
C
A
Las filas D
de una tabla
nsespueden unir a las de otra de acuerdo con los valores comunes que existen en
a
r
N
t
columnas
(es decir, stas suelen ser columnas de clave primaria y de clave ajena).
nFU ncorrespondientes
o
Para visualizar datos de dos o ms tablas relacionadas, escriba una condicin de unin simple en la
clusula WHERE.
En la sintaxis:
table1.column
table1.column1 =
table2.column2
Instrucciones
Cuando escriba una sentencia SELECT para unir tablas, anteponga el nombre de la tabla al de
columna para mejorar la claridad y el acceso a la base de datos.
Si aparece el mismo nombre de columna en ms de una tabla, el nombre de columna debe tener
como prefijo el nombre de tabla.
Para unir n tablas, necesita un mnimo de n-1 condiciones de unin. Por ejemplo, para unir
cuatro tablas, es necesario un mnimo de tres uniones. Esta regla puede que no se aplique si la
tabla tiene una clave primaria concatenada, en cuyo caso es necesario ms de una columna para
identificar de forma nica cada fila.
Oracle Database: Conceptos Fundamentales de SQL I F-7
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
a
s
a
)h
g
r
o e
Utilizar alias de columna para distinguir columnas a
que
s
e uid
ddiferentes
tienen nombres idnticos, pero que residen en
y
G
o
r
t
p
n
tablas.
n@ tude
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Cualificacin de Nombres de Columna
Ambiguos
le
N
b
a
O
Al unir dos o msI tablas, debe
r cualificar los nombres de las columnas con el nombre de la tabla para
C Sinnslosfeprefijos
A
evitar ambigedad.
de tabla, la columna DEPARTMENT_ID de la lista SELECT
D detrlaatabla DEPARTMENTS
N
puede
provenir
o de la tabla EMPLOYEES. Por lo tanto, es necesario
U
n
F
o
agregar elnprefijo de tabla para ejecutar la consulta. Si no existen nombres de columna comunes entre
Mantiene el cdigo SQL ms pequeo, utiliza menos
memoria
las dos tablas, no es necesario cualificar las columnas. Sin embargo, el uso del prefijo de tabla mejora
el rendimiento, ya que indica al servidor de Oracle dnde encontrar exactamente las columnas.
La cualificacin de nombres de columna con nombres de tabla puede llevar bastante tiempo,
especialmente si los nombres de tabla son largos. Puede utilizar los alias de tabla, en lugar de los
nombres de tabla. Igual que un alias de columna proporciona otro nombre a una columna, un alias de
tabla proporciona otro nombre a una tabla. Los alias de tabla ayudan a mantener el cdigo SQL ms
pequeo y, por lo tanto, hay menos uso de memoria.
El nombre de tabla se especifica por completo, seguido de un espacio y del alias de tabla. Por
ejemplo, a la tabla EMPLOYEES se le puede proporcionar el alias e y a la tabla DEPARTMENTS el
alias d.
Instrucciones
Los alias de tabla pueden tener hasta 30 caracteres de longitud, pero los alias ms cortos son
mejores que los largos.
Si se utiliza un alias de tabla para un nombre de tabla determinado en la clusula FROM, el alias
de tabla se deber sustituir por el nombre de tabla mediante la sentencia SELECT.
Los alias de tabla deben ser significativos.
El alias de tabla es vlido slo para la sentencia actual SELECT.
Oracle Database: Conceptos Fundamentales de SQL I F-8
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Uniones igualitarias
EMPLOYEES
DEPARTMENTS
a
s
a
)h
g
Clave primaria
r
o e
a
s
Clave ajena
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Uniones igualitarias
le
N
b
a
O
Para determinar
de un empleado, compare el valor de la columna
eder departamento
CelI nombre
f
s
A
DEPARTMENT_ID
en
la
tabla
EMPLOYEES
con los valores de DEPARTMENT_ID de la tabla
D tran
N
DEPARTMENTS.
U on- La relacin entre las tablas EMPLOYEES y DEPARTMENTS es una unin
F
n es decir, los valores de la columna DEPARTMENT_ID de ambas tablas deben ser iguales.
igualitaria;
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
@ tude
n
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Recuperacin de Registros con
leUniones Igualitarias
N
b
a
O
r
En el ejemplo C
de Ila diapositiva:
eespecifica
f
s
A SELECT
La D
clusula
los nombres de columna que se van a recuperar:
n
a
r
N
t
- de empleado, nmero de empleado y nmero de departamento, que son
apellido
n
FU - nEl
o
columnas de la tabla EMPLOYEES
-
Debido a que la columna DEPARTMENT_ID es comn a las dos tablas, debe tener como prefijo el
alias de tabla para evitar la ambigedad. Otras columnas que no estn presentes en las tablas no es
necesario que se cualifiquen segn el alias de tabla, pero es recomendable para obtener un mejor
rendimiento.
Nota: al utilizar el icono Execute Statement para ejecutar la consulta, SQL Developer agrega el
sufijo _1 para diferenciar entre los dos DEPARTMENT_ID.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Recuperacin de Registros con
leUniones Igualitarias: Ejemplo
N
b
a
O
En el ejemplo de Ila diapositiva,
LOCATIONS est unida a la tabla DEPARTMENTS mediante
C nsferquelaestabla
A
la columna
LOCATION_ID,
la
nica
con el mismo nombre en ambas. Los alias de tabla se
D tra
N
- las columnas y evitar ambigedades.
utilizar
cualificar
FU para
non
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
ce mediante el Operador AND
i
RO
l
Condiciones de Bsqueda
Adicionales
P
le
N
b
a
O
Adems de la unin,
r diferentes criterios para la clusula WHERE para restringir las filas
I puede
etener
C
f
s
A
bajo consideracin
n una o ms tablas en la unin. El siguiente ejemplo de la diapositiva limita las
D trapara
Nsalida
filas
de
a
las
que
tienen un ID de departamento igual a 20 o a 50:
U
F non
Por ejemplo, para mostrar el nmero y nombre de departamento del empleado Matos, necesita una
condicin adicional en la clusula WHERE.
SELECT e.last_name, e.department_id,
d.department_name
FROM
employees e, departments d
WHERE e.department_id = d.department_id
AND
last_name = 'Matos';
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
EMPLOYEES
DEPARTMENTS
LOCATIONS
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
Para unir n tablas, necesita un mnimo
n1
t
prparadeeunir
n
condiciones de unin. Por ejemplo,
@
d tres tablas
n uniones.
u
odos
t
i
se necesitan un mnimocde
S
a
s
i
d
h
fun se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Unin de Ms de Dos Tablas le
N unir
bms de dos tablas. Por ejemplo, para mostrar el apellido, el nombre
a
r
IOnecesite
Puede que a veces
e
C
sf de cada empleado, tiene que unir las tablas EMPLOYEES,
A y ala nciudad
de departamento
D
r
N
DEPARTMENTS
FU non-ty LOCATIONS.
SELECT e.last_name, d.department_name, l.city
FROM
WHERE
AND
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Uniones no Igualitarias
EMPLOYEES
JOB_GRADES
s
JOB_GRADES define el rango de valores ) ha
rg
de LOWEST_SAL y HIGHEST_SAL decada
o
sa ide
GRADE_LEVEL. Por lo tanto, lae
columna
d
GRADE_LEVEL se puederutilizar
Gu
oy npara
t
p
asignar grados a cada
de
n@ empleado.
u
o
t
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Uniones no Igualitarias
le
N
b
a
O
r condicin de unin que contiene algn operador diferente del
I
Una unin no igualitaria
eseuna
C
f
s
A
operador D
de igualdad.
an
r
N
t
U
La
n la tabla EMPLOYEES y JOB_GRADES es un ejemplo de unin no igualitaria. Los
Frelacinoentre
rangos denla columna SALARY en la tabla EMPLOYEES entre los valores en las columnas
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
@ tude
n
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Recuperacin de Registros con
le Uniones no Igualitarias
N
b
a
O
r una unin no igualitaria para evaluar el grado de salario de un
La diapositivaC
delI ejemploecrea
f
s
A
empleado.
DEl salario
andebe estar entre cualquier par de los rangos de salario bajos y altos.
r
N
t
U
EsFimportantentener en cuenta que todos los empleados aparecern slo una vez al ejecutar esta
o
consulta. n
No se repite ningn empleado en la lista. Existen dos motivos por los que se produce este
hecho:
Ninguna de las filas de la tabla de grados de cargo contiene grados que se solapen. Es decir, el
valor de salario de un empleado slo puede oscilar entre los valores de salario bajo y alto de
una de las filas de la tabla de grados de salario.
Todos los salarios de los empleados oscilan entre los lmites proporcionados por la tabla de
grados de cargo. Es decir, ningn empleado gana menos que el valor ms bajo de la columna
LOWEST_SAL o ms que el valor ms alto de la columna HIGHEST_SAL.
Nota: se pueden utilizar otras condiciones (como <= y >=), pero BETWEEN es la ms simple.
Recuerde especificar primero el valor bajo y, a continuacin, el alto, al utilizar BETWEEN. El
servidor Oracle convierte la condicin BETWEEN en un par de condiciones AND. Por lo tanto, el uso
de BETWEEN no proporciona ninguna ventaja, se recomienda slo para la simplicidad lgica.
En el ejemplo de la diapositiva se han especificado los alias de tabla por motivos de rendimiento, no
por una posible ambigedad.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
EMPLOYEES
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
No hay ningn
d en el
n empleado
u
o
t
i
S
c
departamento
a hi190.
s
d
n
t
u
f
(
se
u
A
Copyright 2010, Oracle
to Todos los derechos reservados.
ESy/o sussefiliales.
D
OY licen
R
P sinbCoincidencia
Devolucin de Registros
Directa con las Uniones Externas
le
N
a
O
r
Si una fila no cumple
de unin, la fila no aparece en el resultado de consultas. Por
CI nuna
fdeecondicin
s
ejemplo, D
enA
la condicin
unin igualitaria de las tablas EMPLOYEES y DEPARTMENTS, el ID de
a aparece porque no hay ningn empleado con ese ID de departamento registrado
rno
N n190
t
departamento
U
F
o
en la tablanEMPLOYEES.
Igualmente, hay un empleado cuyo DEPARTMENT_ID se ha definido en
NULL, por lo que esta fila tampoco aparecer en los resultados de la consulta de una unin
igualitaria. Para volver al registro de departamento que no tiene ningn empleado o volver al registro
de empleado que no pertenece a ningn departamento, puede utilizar la unin externa.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Utilice una unin externa para ver las filas que no cumplen
la condicin de unin.
El operador de unin externa es el signo ms (+).
SELECT table1.column, table2.column
FROM
table1, table2
WHERE table1.column(+) = table2.column;
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Uniones Externas: Sintaxis le
b externa en la condicin de unin, se pueden devolver las filas que
a
r
ION de
Si se utiliza unC
operador
unin
e
A aesnunsfsigno ms entre parntesis (+) y se coloca en el lado de la unin que
faltan. ElD
operador
-tr El operador crea una o ms filas nulas, a las que se pueden unir una o ms
carece
UNde informacin.
n
F
o
filas de lantabla con informacin.
SELECT table1.column, table2.column
FROM
table1, table2
WHERE table1.column = table2.column(+);
En la sintaxis:
table1.column =
table2.column (+)
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Uso de Uniones Externas
le
N
b
a
O
En el ejemplo C
de Ila diapositiva
er se muestran los apellidos de los empleados e ID y nombres de
f
s
A
departamento.
Contracting no tiene ningn empleado. El valor vaco no se muestra
an
ND nEl-trdepartamento
enFlaUsalida.
no de Unin Externa
Restricciones
La unin externa slo puede aparecer a un lado de la expresin, el lado al que le falta
informacin. Devuelve aquellas filas, de una tabla, que no tienen coincidencia directa en la otra
tabla.
Una condicin que incluya una unin externa no puede utilizar el operador IN ni se puede
enlazar a otra condicin con el operador OR.
Nota: Oracle no tiene una sintaxis equivalente para soportar FULL OUTER JOIN de la sintaxis de
unin compatible con SQL:1999.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Unin Externa: Otro Ejemplo le
b
La consulta del ejemplo
recupera todas las filas de la tabla EMPLOYEES, incluso si
ION defelaradiapositiva
C
s
A
no hay coincidencia
en
la
tabla
DEPARTMENTS.
ND n-tran
U
F no
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
EMPLOYEES (WORKER)
EMPLOYEES (MANAGER)
a
s
a
)h
r
o e
a
s
de Guid
y
o
t
pr igual
n
e
MANAGER_ID en la tabla WORKER
es
a
@
tud
ionMANAGER.
S
c
EMPLOYEE_ID en laatabla
is
d
h
n
t
u
f
(
se
u
A
Copyright 2010, Oracle
to Todos los derechos reservados.
ESy/o sussefiliales.
D
OY licen
R
P bMisma
Unin de una Tabla consigo
le
N
a
O
r una tabla consigo misma. Para buscar el nombre de cada gestor del
Puede que a veces
unir
etabla
CI necesite
f
s
A
empleado,
necesita
unir
la
EMPLOYEES consigo misma o realizar una autounin. Por ejemplo,
D tran
N
- del gestor de Lorentz, necesita:
para
elnnombre
F Ubuscar
o
n
Buscar a Lorentz en la tabla EMPLOYEES buscando en la columna LAST_NAME.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Autounin: Ejemplo
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Autounin: Ejemplo
le
N
b
a
O
El ejemplo de la Idiapositiva
rune la tabla EMPLOYEES consigo misma. Para simular dos tablas en la
ealias,
Cexisten
f
s
A
clusula FROM,
dos
llamados worker y manager, para la misma tabla EMPLOYEES.
D tran
N
U ejemplo,
En
n- la clusula WHERE contiene la unin que significa donde el nmero de gestor de un
Feste
o
n
trabajador coincide con el nmero de empleado del gestor .
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Resumen
En este apndice debe haber aprendido a utilizar uniones para
mostrar los datos de varias tablas utilizando:
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Resumen
le
N
b
a
O
r
Hay varios modos
CI denunir
fetablas.
s
A
Tipos N
deD
Unionesra
-t
U
igualitarias
n
F Uniones
o
n no igualitarias
Uniones
Uniones externas
Autouniones
Productos Cartesianos
Un producto cartesiano da como resultado una visualizacin de todas las combinaciones de filas.
Para ello debe omitir la clusula WHERE.
Alias de Tabla
Los alias de tabla aceleran el acceso a la base de datos.
Los alias pueden ayudar a mantener el cdigo SQL ms pequeo utilizando de esta forma
menos memoria.
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
a
s
a
)h
g
r
o e
a
s
de Guid
y
o
pr ent
@
on Stud
i
c
a his
d
n
fu se t
(
u
Sy/oAsus filiales.
o
Copyright 2010, Oracle
Todos los derechos reservados.
t
E
D nse
Y
O lice
R
P
Prctica F: Visin General
le
N
b
a
O
Idestinada
Esta prctica est
ear proporcionarle experiencia prctica en la extraccin de datos desde ms
C
f
s
A
de una tabla
an sintaxis de unin en Oracle.
r
ND utilizando
t
U
F non
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Fundacin Proydesa
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Fundacin Proydesa
ndice
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
A
alias 1-5, 1-9, 1-17, 1-18, 1-20, 1-21, 1-29, 2-5, 2-6, 2-8,
2-23, 2-24, 2-38, 4-25, 5-14, 5-27, 6-7, 6-14, 6-16, 6-24, 6-36,
8-28, 10-34, 11-8, 11-10, 11-12, C-8, F-8, F-10, F-11, F-15, F-21,
F-22
ALL 2-36, 5-6, 7-3, 7-5, 7-9, 7-16, 7-17, 7-19, 7-21, 7-22,
8-3, 8-4, 8-5, 8-6, 8-7, 8-12, 8-16, 8-17, 8-18, 8-21, 8-24,
8-27, 8-29, 8-30
AND 2-3, 2-8, 2-10, 2-15, 2-16, 2-18, 2-19, 2-20, 2-21, 2-22,
2-26, 2-34, 2-38, 6-18, 6-24, 7-11, 7-18, 7-19, 9-44, F-12, F-13,
F-15
ANY 7-3, 7-5, 7-9, 7-16, 7-17, 7-18, 7-19, 7-21, 7-22, 10-39,
11-20, 11-32, 11-39
atributos i-22, i-23, i-24
autounin 6-2, 6-20, 6-21, F-2, F-20
AVG 5-3, 5-5, 5-7, 5-8, 5-12, 5-15, 5-25, 5-28
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
B
o
i
S
c 2-26,
a
s
BETWEEN 2-3, 2-8, 2-10, 2-12, 2-18, 2-19, 2-20,
2-22,h
i
d
fun se t
(
2-34, 2-37, 2-38, 6-24, F-15
A to u
S
E
C
D nse
Y
CASE 3-7, 4-3, 4-10, 4-23,
4-32,
ce 4-36, 4-37, 4-38, 4-39,
i
RO4-27,
l
P
e
N
4-40, 4-44,
4-45,
5-6abl
O
I
er10-12, 10-16, 10-17, 10-28, 10-29, 10-32, 10-35,
C10-3,
f
CHECK 9-8,
10-7,
s
A
D tran
N10-38,
U
F non-11-8, 11-9, 11-17
clusula 1-5, 1-7, 1-11, 1-20, 1-24, 2-3, 2-4, 2-5, 2-6,
2-7, 2-8, 2-9, 2-11, 2-15, 2-19, 2-22, 2-23, 2-24, 2-25, 2-26,
2-27, 2-28, 2-31, 2-32, 2-34, 2-37, 2-38, 2-39, 3-12, 3-17, 4-38,
4-39, 5-2, 5-9, 5-13, 5-14, 5-15, 5-16, 5-18, 5-19, 5-20, 5-21,
5-22, 5-23, 5-26, 5-27, 5-28, 5-29, 6-6, 6-7, 6-9, 6-10, 6-11,
6-14, 6-15, 6-16, 6-17, 6-18, 6-21, 6-34, 6-36, 7-2, 7-5, 7-13,
7-14, 7-15, 7-23, 7-25, 8-3, 8-5, 8-6, 8-7, 8-12, 8-13, 8-15,
8-17, 8-18, 8-21, 8-24, 8-27, 8-28, 8-29, 8-30, 9-6, 9-7, 9-8,
9-12, 9-15, 9-16, 9-17, 9-22, 9-43, 9-44, 9-47, 10-14, 10-33, 10-39,
11-12, 11-14, 11-15, 11-16, 11-17, 11-25, 11-28, 11-38, F-4, F-7, F-8,
F-10, F-12, F-17, F-21, F-22
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
C
COALESCE 3-7, 4-3, 4-10, 4-23, 4-27, 4-28, 4-33, 4-34, 4-35,
4-36, 4-44, 5-6
comando 1-8, 1-26, 1-27, 2-27, 2-28, 2-29, 2-33, 2-35, 2-36,
4-22, 9-8, 9-31, 9-32, 9-43, 10-11, 10-34, 10-37, 11-9, 11-13, 11-39,
C-11, C-22, C-31, D-6, D-7, D-9, D-10, D-11, D-12, D-14, D-15,
D-16, D-17, E-7
condiciones 1-23, 2-3, 2-8, 2-11, 2-12, 2-14, 2-15, 2-16, 2-19,
2-21, 2-22, 2-26, 2-27, 2-34, 2-38, 6-15, 6-18, 6-24, 6-37, 7-5,
7-7, 7-11, 7-22, 9-27, 10-28, 11-15, F-7, F-13, F-15, F-23
consulta i-30, 1-4, 1-8, 1-17, 1-18, 1-24, 2-2, 2-5, 2-23,
2-25, 2-27, 2-31, 2-33, 3-6, 3-26, 3-33, 4-21, 4-35, 5-15, 6-7,
6-14, 6-16, 6-20, 6-24, 6-28, 6-29, 6-30, 7-4, 7-5, 7-6, 7-11,
7-12, 7-13, 7-14, 7-15, 7-17, 7-22, 7-24, 7-25, 7-26, 8-5, 8-6,
8-13, 8-17, 8-19, 8-20, 8-22, 8-25, 8-26, 8-28, 8-29, 8-30, 9-23,
9-33, 9-44, 9-47, 10-28, 10-42, 11-8, 11-29, 11-36, 11-37, 11-38, C-18,
C-28, D-3, D-5, D-13, D-16, D-17, F-8, F-10, F-15, F-16, F-19,
F-20
COUNT 5-3, 5-5, 5-9, 5-12, 5-19, 5-25, 5-28
CURRENT_DATE 3-24, 9-9
CURRVAL 10-10, 10-28, 11-3, 11-22, 11-27, 11-28, 11-29, 11-33, 11-40
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
D
N rabl
O
I
DBMS i-17
AC ansfe
D
-tr4-3, 4-10, 4-23, 4-27, 4-36, 4-37, 4-39, 4-40, 4-41,
UN on3-7,
FDECODE
n 4-44, 4-45, 5-6
4-42,
DEFAULT 10-3, 10-7, 10-8, 10-10, 10-11, 10-12, 10-16, 10-19, 10-32,
10-35, 10-38, 11-28
DELETE i-31, 9-3, 9-13, 9-19, 9-21, 9-22, 9-23, 9-24, 9-25, 9-29,
9-35, 9-36, 9-37, 9-39, 9-40, 9-42, 9-46, 9-47, 10-27, 10-31, 11-7,
11-19, 11-28, D-17
DESCRIBE 1-3, 1-10, 1-16, 1-19, 1-25, 1-26, 1-27, 8-9, 8-10,
9-7, 9-8, 10-11, 10-34, 11-9, 11-13, B-4, B-5, B-6, B-7, B-8,
B-9, B-10, C-11, D-7, D-8
DISTINCT 1-3, 1-5, 1-10, 1-16, 1-19, 1-24, 1-25, 1-29, 2-5,
2-38, 5-3, 5-6, 5-10, 5-12, 5-25, 11-14, 11-15, 11-16, 11-28
Fundacin Proydesa
D
DUAL 3-17, 3-18, 3-24, 3-32
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
E
esquema i-2, i-4, i-34, i-40, 10-2, 10-5, 10-6, 10-9, 10-29,
10-41, 11-35, 11-42, C-3, C-5, C-8, C-10, C-13, E-5, E-6
expresin 1-5, 1-11, 1-12, 1-13, 1-15, 1-20, 1-29, 2-3, 2-8,
2-19, 2-22, 2-23, 2-26, 2-34, 3-6, 3-13, 3-17, 3-18, 3-31, 4-5,
4-6, 4-25, 4-29, 4-30, 4-31, 4-32, 4-33, 4-37, 4-38, 4-39, 4-40,
4-44, 5-9, 5-19, 10-10, 10-34, 11-13, 11-28, 11-38, F-18
F
fecha i-22, 1-9, 1-11, 1-20, 1-21, 2-7, 2-24, 2-31, 3-2, 3-3,
3-7, 3-8, 3-15, 3-17, 3-18, 3-20, 3-21, 3-22, 3-23, 3-24, 3-25,
3-26, 3-27, 3-28, 3-29, 3-30, 3-32, 3-33, 4-5, 4-11, 4-14, 4-16,
4-20, 4-21, 4-22, 4-25, 4-29, 4-43, 4-44, 5-8, 8-8, 9-7, 9-9,
9-10, 10-11, 10-13, 10-15
funciones i-2, i-4, i-9, i-10, i-11, i-13, i-16, i-39, 2-5,
2-7, 3-2, 3-4, 3-5, 3-6, 3-7, 3-9, 3-10, 3-11, 3-13, 3-16,
3-17, 3-18, 3-24, 3-28, 3-30, 3-31, 3-32, 3-33, 4-2, 4-4, 4-7,
4-9, 4-20, 4-24, 4-28, 4-44, 4-45, 5-2, 5-3, 5-4, 5-5, 5-6,
5-7, 5-8, 5-11, 5-12, 5-13, 5-14, 5-15, 5-19, 5-20, 5-22, 5-25,
5-26, 5-27, 5-28, 5-29, 7-2, 7-25, 8-25, 9-9, 10-10, 10-18, 10-28,
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
l C-24, C-26, E-2, E-3, E-15, E-18
NC-2, C-6,
bC-14,
11-7, 11-13,
a
O
r
I
e 3-17, 3-18, 3-19, 3-23, 3-24,
funcin 3-4,
sf3-12,
AC3-6,a3-7,
n
D
N n3-29,
-tr 3-32, 4-11, 4-17, 4-20, 4-25, 4-26, 4-29, 4-30, 4-31,
FU 3-26,
o
n 4-33, 4-34, 4-37, 4-39, 4-40, 4-42, 4-43, 4-44, 4-45, 5-3,
4-32,
5-6, 5-9, 5-11, 5-12, 5-14, 5-15, 5-16, 5-18, 5-19, 5-22, 5-23,
5-25, 5-27, 7-12, 8-25, 9-9, 9-10, 9-12, 10-10, 10-33, 11-13, C-6,
C-23, C-24, C-25, C-26, D-17, E-8
H
HAVING 5-2, 5-3, 5-12, 5-20, 5-21, 5-22, 5-23, 5-24, 5-25, 5-28,
5-29, 7-3, 7-5, 7-9, 7-13, 7-16, 7-21, 7-25, 11-28
I
icono 1-6, 1-8, 2-36, 6-16, 9-4, 10-10, 10-42, 11-8, C-5, C-15,
C-17, C-19, C-20, C-21, C-22, C-26, E-5, E-7, F-10
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
I
IN 2-3, 2-11, 2-18, 2-19, 2-20, 2-22, 2-26, 2-34, 2-37, 2-38,
4-31, 6-10, 7-5, 7-14, 7-16, 7-17, 7-18, 7-19, 7-22, 7-23, 7-25,
9-22, 9-35, F-12, F-18
INSERT i-31, 3-23, 9-3, 9-6, 9-7, 9-8, 9-9, 9-10, 9-11, 9-12,
9-13, 9-19, 9-25, 9-29, 9-30, 9-35, 9-39, 9-40, 9-42, 9-47, 10-8,
10-10, 10-11, 10-19, 10-22, 10-24, 10-25, 11-7, 11-17, 11-28, 11-29, D-17
INTERSECT 8-3, 8-4, 8-5, 8-7, 8-12, 8-18, 8-19, 8-20, 8-21,
8-24, 8-27, 8-30, 8-31
J
Java i-12, C-4, C-8, E-3, E-12, E-14, E-15, E-16
L
s
a
LENGTH 3-9, 3-10, 3-13, 3-14, 3-32
h
rg)
o
LIKE 2-3, 2-8, 2-12, 2-13, 2-16, 2-17, 2-18, 2-19, 2-20, 2-22,
sa ide
e
2-26, 2-34, 2-37, 2-38, 3-30, 5-7, 5-24, 9-12, 9-23
d
oy nt Gu
literal 1-14, 1-21, 1-22, 1-23, 3-13, 4-11, 4-31, 4-32, 4-38, pr
n@ tude
8-26, 10-10
o
i
c is S
a
d
LPAD 3-9, 3-13
fun se th
(
M
SA to u
E
e
D 5-28
MAX 5-3, 5-5, 5-7, 5-8, 5-12,Y5-25,
s
n
e
O lic5-28, 7-12
R
MIN 5-3, 5-5, 5-7, 5-8,
5-12, 5-25,
P
le 8-18, 8-21, 8-22, 8-23, 8-24,
N
b
MINUS 8-3, 8-4,
8-5,
8-7,
8-12,
a
O
er
CI 8-31
f
s
A
8-27,
8-30,
D tran
N
- 3-32
U
3-19,
FMOD 3-16,
non
N
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
N
NULL 1-3, 1-10, 1-14, 1-16, 1-19, 1-20, 1-25, 1-26, 1-27, 2-3,
2-8, 2-14, 2-18, 2-19, 2-20, 2-22, 2-26, 2-34, 2-37, 2-38, 4-32,
4-38, 4-39, 5-3, 5-12, 5-18, 5-25, 7-23, 8-13, 9-8, 9-9, 9-16,
9-35, 10-3, 10-7, 10-10, 10-12, 10-16, 10-17, 10-19, 10-20, 10-21, 10-22,
10-23, 10-25, 10-26, 10-27, 10-29, 10-32, 10-33, 10-35, 10-38, 11-16, D-7,
D-8, E-10, F-16
NULLIF 3-7, 4-3, 4-10, 4-23, 4-27, 4-28, 4-32, 4-36, 4-44
NVL2 3-7, 4-3, 4-10, 4-23, 4-27, 4-28, 4-31, 4-36, 4-44, 5-6
NVL 3-7, 4-3, 4-10, 4-23, 4-27, 4-28, 4-29, 4-30, 4-33, 4-36,
4-44, 5-6, 5-11
O
OLTP i-11, i-16
ON 2-36, 6-3, 6-5, 6-6, 6-8, 6-15, 6-16, 6-17, 6-18, 6-19,
6-21, 6-22, 6-24, 6-25, 6-27, 6-28, 6-29, 6-30, 6-31, 9-31, 10-27,
11-13, 11-37, D-15, D-17
opcin i-24, 2-13, 9-31, 10-10, 10-33, 11-8, 11-9, 11-12, 11-18, 11-25,
11-26, 11-31, 11-32, C-13, C-19, C-26
operador 1-3, 1-10, 1-12, 1-16, 1-19, 1-20, 1-23, 1-25, 2-5,
2-10, 2-11, 2-12, 2-14, 2-18, 4-30, 6-23, 7-3, 7-7, 7-9, 7-10,
7-14, 7-16, 7-17, 7-18, 7-19, 7-20, 7-21, 7-22, 7-25, 8-2, 8-4,
8-5, 8-6, 8-13, 8-14, 8-16, 8-17, 8-19, 8-22, 8-25, 8-26, 8-29,
8-30, 8-31, F-14, F-17, F-18
OR 2-3, 2-11, 2-15, 2-17, 2-19, 2-20, 2-21, 2-22, 2-26, 2-34,
2-38, 11-8, 11-9, 11-10, 11-12, 11-13, 11-17, 11-19, F-18
ORDBMS i-2, i-39
orden i-27, 1-7, 1-13, 2-2, 2-11, 2-20, 2-23, 2-24, 2-25, 2-33,
2-39, 5-15, 5-18, 5-27, 5-28, 8-2, 8-4, 8-5, 8-6, 8-13, 8-15,
8-19, 8-28, 9-7, 9-8, 11-12
ordenacin 2-23, 2-24, 2-25
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
P
pseudocolumnas 10-28, 11-27, 11-28
Fundacin Proydesa
Q
q 1-23
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
R
RDBMS i-2, i-18, i-25, i-27, i-39, 9-43
REFERENCES 10-26, 10-27, 10-29
REPLACE 3-9, 3-13, 11-8, 11-9, 11-10, 11-12, 11-13, 11-17, 11-19,
D-16
restricciones i-16, i-39, 1-14, 6-10, 9-4, 9-8, 9-24, 10-2,
10-3, 10-7, 10-12, 10-14, 10-16, 10-17, 10-18, 10-19, 10-20, 10-21, 10-22,
10-23, 10-26, 10-28, 10-30, 10-32, 10-33, 10-35, 10-38, 10-40, 10-41, 11-17,
11-39, C-10, E-6
restriccin 1-26, 2-4, 9-4, 9-8, 9-20, 9-24, 10-17, 10-18, 10-19,
10-20, 10-21, 10-22, 10-23, 10-24, 10-25, 10-26, 10-27, 10-28, 10-30, 10-31,
10-33, 11-8, 11-9, 11-17, 11-19, 11-21, 11-34, 11-36, 11-38, 11-44
ROUND 3-16, 3-17, 3-18, 3-28, 3-30, 3-32, 4-26
RPAD 3-9, 3-13
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
S
o
i
c is S
a
d
secuencias 2-24, 10-9, 11-2, 11-3, 11-22, 11-23,
11-24,
un se th11-25, 11-30,
f
(
11-31, 11-33, 11-39, 11-40, 11-42,
11-46
u
A 11-45,
S
o
t
E
seleccin C-6, E-12
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
S
SELECT i-4, i-5, i-30, i-31, 1-1, 1-2, 1-3, 1-4, 1-5, 1-6,
1-7, 1-9, 1-10, 1-12, 1-13, 1-14, 1-15, 1-16, 1-17, 1-18, 1-19,
1-20, 1-21, 1-22, 1-23, 1-24, 1-25, 1-28, 1-29, 1-30, 2-5, 2-6,
2-7, 2-9, 2-10, 2-11, 2-12, 2-13, 2-14, 2-16, 2-17, 2-18, 2-21,
2-23, 2-24, 2-25, 2-28, 2-29, 2-31, 2-32, 2-33, 2-35, 2-36, 2-38,
2-39, 3-2, 3-6, 3-11, 3-12, 3-14, 3-17, 3-18, 3-19, 3-21, 3-24,
3-26, 3-29, 3-30, 4-2, 4-11, 4-16, 4-19, 4-21, 4-22, 4-25, 4-26,
4-30, 4-31, 4-32, 4-34, 4-35, 4-39, 4-41, 4-42, 4-44, 5-6, 5-7,
5-8, 5-9, 5-10, 5-11, 5-14, 5-15, 5-16, 5-17, 5-18, 5-19, 5-20,
5-22, 5-23, 5-24, 5-26, 5-27, 5-28, 6-2, 6-6, 6-7, 6-10, 6-13,
6-14, 6-16, 6-17, 6-18, 6-21, 6-24, 6-28, 6-29, 6-30, 6-34, 7-2,
7-5, 7-6, 7-8, 7-10, 7-11, 7-12, 7-13, 7-14, 7-15, 7-17, 7-18,
7-19, 7-20, 7-22, 7-23, 7-25, 7-26, 8-3, 8-5, 8-6, 8-7, 8-10,
8-11, 8-12, 8-13, 8-14, 8-15, 8-17, 8-18, 8-19, 8-20, 8-21, 8-22,
8-23, 8-24, 8-25, 8-26, 8-27, 8-28, 8-29, 8-30, 9-3, 9-9, 9-12,
9-13, 9-16, 9-17, 9-18, 9-19, 9-22, 9-23, 9-25, 9-33, 9-37, 9-39,
9-40, 9-41, 9-42, 9-43, 9-44, 9-45, 9-47, 10-9, 10-33, 10-34, 10-37,
10-42, 11-5, 11-8, 11-9, 11-10, 11-11, 11-12, 11-13, 11-17, 11-19, 11-28,
11-29, B-4, B-5, B-6, B-7, B-8, B-9, B-10, C-25, D-2, D-11,
D-12, D-14, D-17, F-2, F-5, F-7, F-8, F-10, F-11, F-12, F-13,
F-15, F-17, F-18, F-19, F-21
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
S
sentencia i-4, i-30, 1-2, 1-3, 1-4, 1-5, 1-6, 1-7, 1-8,
1-10, 1-11, 1-12, 1-16, 1-18, 1-19, 1-21, 1-22, 1-25, 1-29, 2-6,
2-10, 2-12, 2-13, 2-14, 2-21, 2-23, 2-27, 2-28, 2-29, 2-30, 2-31,
2-32, 2-35, 2-36, 2-38, 3-12, 3-14, 4-2, 4-16, 4-25, 4-37, 4-38,
4-39, 4-40, 4-41, 4-44, 5-9, 5-15, 5-16, 5-17, 5-18, 5-19, 5-20,
5-28, 6-7, 6-14, 6-15, 7-2, 7-5, 7-8, 7-10, 7-11, 7-13, 7-14,
7-15, 7-22, 7-25, 8-4, 8-5, 8-6, 8-20, 8-22, 8-26, 8-28, 8-30,
9-2, 9-3, 9-4, 9-6, 9-8, 9-11, 9-12, 9-13, 9-15, 9-16, 9-17,
9-19, 9-21, 9-22, 9-24, 9-25, 9-26, 9-27, 9-29, 9-30, 9-31, 9-33,
9-34, 9-35, 9-36, 9-37, 9-38, 9-39, 9-40, 9-41, 9-42, 9-43, 9-44,
9-47, 10-8, 10-10, 10-11, 10-19, 10-29, 10-31, 10-33, 10-36, 10-37, 10-39,
10-41, 10-42, 11-5, 11-6, 11-8, 11-10, 11-13, 11-20, 11-25, 11-28, 11-29,
11-30, 11-31, 11-32, 11-37, 11-39, 11-43, C-13, C-16, C-19, C-23, C-25,
C-26, C-28, D-3, D-5, E-7, F-7, F-8
sinnimo i-24, 1-24, 1-26, 7-18, 11-2, 11-42, 11-43, 11-46, D-7
subconsulta 7-3, 7-4, 7-5, 7-7, 7-9, 7-10, 7-11, 7-12, 7-13,
7-14, 7-15, 7-16, 7-17, 7-18, 7-19, 7-20, 7-21, 7-22, 7-23, 7-24,
7-25, 9-12, 9-15, 9-23, 10-3, 10-7, 10-12, 10-14, 10-33, 10-35, 10-38,
10-41, 11-8, 11-9, 11-10, 11-12, 11-28
SUBSTR 3-9, 3-10, 3-13, 3-32, 4-25
SYSDATE 3-23, 3-24, 3-26, 3-29, 3-30, 3-32, 9-9, 10-10, 10-11,
10-28
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
T
tabla i-19, i-20, i-25, i-27, i-28, i-30, i-34, 1-4, 1-5, 1-6,
1-7, 1-12, 1-14, 1-24, 1-26, 1-27, 1-29, 2-7, 2-9, 2-10, 2-11,
2-12, 2-16, 2-17, 2-18, 2-20, 2-24, 2-25, 2-28, 2-32, 3-12, 3-17,
3-22, 3-23, 3-24, 3-32, 4-32, 5-2, 5-4, 5-5, 5-9, 5-10, 5-11,
5-13, 5-14, 5-15, 5-17, 5-18, 6-2, 6-4, 6-6, 6-7, 6-10, 6-12,
6-14, 6-16, 6-20, 6-21, 6-23, 6-24, 6-26, 6-27, 6-28, 6-29, 6-30,
6-32, 6-33, 6-34, 6-36, 6-37, 7-5, 7-20, 8-8, 8-20, 8-23, 8-25,
8-26, 9-2, 9-3, 9-4, 9-5, 9-6, 9-7, 9-9, 9-10, 9-11, 9-12,
9-13, 9-14, 9-15, 9-16, 9-18, 9-19, 9-20, 9-21, 9-22, 9-23, 9-24,
9-25, 9-35, 9-37, 9-39, 9-41, 9-42, 9-43, 9-44, 9-47, 9-48, 10-2,
10-3, 10-4, 10-5, 10-7, 10-8, 10-9, 10-10, 10-11, 10-12, 10-13, 10-14,
10-17, 10-18, 10-19, 10-20, 10-21, 10-22, 10-23, 10-24, 10-25, 10-26, 10-27,
10-28, 10-29, 10-30, 10-31, 10-33, 10-34, 10-35, 10-36, 10-37, 10-38, 10-39,
10-40, 10-41, 10-42, 11-5, 11-6, 11-7, 11-11, 11-16, 11-26, 11-29, 11-30,
11-35, 11-36, 11-37, 11-38, 11-39, 11-41, 11-42, 11-43, 11-44, C-10, C-11,
C-13, C-14, C-15, D-4, D-5, D-7, D-8, D-12, D-13, E-6, F-2,
F-3, F-4, F-5, F-7, F-8, F-9, F-10, F-11, F-14, F-15, F-16,
F-17, F-18, F-19, F-20, F-21, F-22, F-23
TO_CHAR 4-2, 4-3, 4-7, 4-8, 4-9, 4-10, 4-11, 4-16, 4-17,
4-18, 4-19, 4-22, 4-23, 4-26, 4-27, 4-34, 4-36, 4-44, 4-45, 8-25
TO_DATE 4-2, 4-3, 4-7, 4-8, 4-9, 4-10, 4-20, 4-21, 4-22,
4-23, 4-27, 4-36, 4-44, 4-45, 9-10
TO_NUMBER 4-2, 4-3, 4-7, 4-8, 4-9, 4-10, 4-20, 4-21, 4-23,
4-27, 4-36, 4-43, 4-44
transacciones i-11, 9-2, 9-3, 9-4, 9-13, 9-19, 9-25, 9-26,
9-29, 9-38, 9-39, 9-42, 9-48, 10-39
TRIM 3-9, 3-10, 3-13
TRUNC 3-16, 3-18, 3-28, 3-30, 3-32
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t
U
UNION 8-3, 8-5, 8-6, 8-7, 8-12, 8-13, 8-14, 8-15, 8-16, 8-17,
8-18, 8-21, 8-24, 8-25, 8-26, 8-27, 8-28, 8-29, 8-30, 8-31
UNIQUE 1-24, 10-3, 10-7, 10-12, 10-16, 10-17, 10-22, 10-23, 10-29, 10-32,
10-35, 10-38, 11-36, 11-37, 11-44
Fundacin Proydesa
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
U
UPDATE i-31, 9-3, 9-13, 9-15, 9-16, 9-17, 9-18, 9-19, 9-25, 9-29,
9-30, 9-35, 9-39, 9-40, 9-41, 9-42, 9-43, 9-44, 9-45, 9-47, 10-30,
10-37, 11-7, 11-17, 11-28, D-17
USING 6-3, 6-5, 6-6, 6-8, 6-11, 6-13, 6-14, 6-17, 6-19, 6-22,
6-25, 6-27, 6-31, 9-44
V
VARIANCE 5-5, 5-8, 5-28
VERIFY 2-3, 2-19, 2-22, 2-26, 2-34, 2-36
vistas 10-9, 10-11, 10-39, 11-2, 11-3, 11-4, 11-5, 11-6, 11-7, 11-14,
11-17, 11-20, 11-21, 11-22, 11-33, 11-39, 11-40, 11-42, 11-45, C-10, E-6,
E-13
s
a
W
h
rg)
o
WHERE 2-3, 2-4, 2-5, 2-6, 2-7, 2-8, 2-9, 2-10, 2-11, 2-12,
sa ide
e
2-13, 2-14, 2-15, 2-16, 2-17, 2-18, 2-19, 2-21, 2-22, 2-23, 2-26,
d
y t Gu
ro2-39,
2-27, 2-28, 2-29, 2-31, 2-32, 2-34, 2-35, 2-36, 2-37, 2-38,
p
en
@
d
n
u
3-6, 3-12, 3-14, 3-19, 3-21, 3-26, 3-29, 3-30, 4-11,
t
io 4-19,S4-21,
c
a
s
i
4-22, 4-25, 4-31, 4-42, 5-6, 5-7, 5-9, 5-14,
5-18,
th 5-20,
und5-15,
f
e
(
5-21, 5-22, 5-24, 5-27, 5-28, 6-10,
us 6-18, 6-36, 7-2,
A 6-14,to6-15,
S
E 7-14,
7-5, 7-6, 7-10, 7-11, 7-12,D7-13,
e 7-15, 7-17, 7-18, 7-19,
s
Y
n
e
7-20, 7-22, 7-23, 7-25,
ic 9-12, 9-15, 9-16, 9-17, 9-18,
RO 8-5,
l9-9,
P
e
l
N 9-35,
b9-37, 9-41, 9-43, 9-44, 9-45, 10-30, 10-31,
9-21, 9-22,
a
r
IO9-23,
e
C
10-34,
11-10,
sf 11-12, 11-17, 11-19, 11-38, F-4, F-7, F-10, F-11,
A 11-9,
n
D
a
N nF-13,
-tr F-15, F-17, F-18, F-19, F-21, F-22
FU F-12,
o
n
X
XML i-9, i-14, i-39, C-7, C-9, C-27, E-3, E-12
Unauthorized reproduction or distribution prohibited Copyright 2013, Oracle and/or its affiliates
Fundacin Proydesa
s
a
h
rg)
o
sa ide
e
d
roy nt Gu
p
n@ tude
o
i
c is S
a
d
fun se th
(
SA to u
E
D nse
Y
RO e lice
P
N rabl
O
I
AC ansfe
D
r
N
FU non-t