You are on page 1of 9

INFORMATICA64 Introduccin al Servidor de Bases de Datos Oracle9 i INFORMATICA64

CONTENIDOS
1.

INTRODUCCIN .................................................................................................. 1
1.1.
1.2.
1.3.
1.4.
1.5.

2.

SENTENCIAS SQL BSICAS ............................................................................. 8


2.1.
2.2.
2.3.
2.4.
2.5.
2.6.

3.

EQUIJOINS ....................................................................................................... 27
NONEQUIJOINS................................................................................................. 28
OUTERJOINS .................................................................................................... 29
SELFJOINS ........................................................................................................ 30
PRCTICAS .................................................................................................. 31

AGRUPACIN DE DATOS ............................................................................... 32


6.1.
6.2.
6.3.
6.4.

7.

FUNCIONES DE CARCTER ............................................................................... 19


FUNCIONES NUMRICAS .................................................................................. 20
FUNCIONES DE FECHA ..................................................................................... 20
FUNCIONES DE CONVERSIN DE TIPO DE DATOS .............................................. 22
PRCTICAS .................................................................................................. 26

CONSULTAS A VARIAS TABLAS .................................................................. 27


5.1.
5.2.
5.3.
5.4.
5.5.

6.

LIMITACIN DE REGISTROS USANDO LAS SELECCIONES ................................... 13


CLUSULA ORDER BY .................................................................................. 17
PRCTICAS .................................................................................................. 18

FUNCIONES A NIVEL DE FILA ...................................................................... 19


4.1.
4.2.
4.3.
4.4.
4.5.

5.

SENTENCIA SELECT BSICA ............................................................................ 8


VALORES NULOS................................................................................................ 9
DEFINICIN DE ALIAS EN COLUMNAS ............................................................... 10
CONCATENACIN DE CARACTERES .................................................................. 11
VALORES NICOS (DISTINCT)....................................................................... 11
PRCTICAS .................................................................................................. 12

RESTRICCIN Y ORDENACIN DE DATOS .............................................. 13


3.1.
3.2.
3.3.

4.

CARACTERSTICAS DE ORACLE 9I ...................................................................... 1


CICLO DE VIDA DEL DESARROLLO DE UN SISTEMA ............................................. 1
SISTEMAS GESTORES DE BASES DE DATOS RELACIONALES............................... 2
COMANDOS SQL ............................................................................................... 6
COMANDOS PL/SQL. ........................................................................................ 6

FUNCIONES COLECTIVAS ................................................................................. 32


AGRUPACIONES ............................................................................................... 32
RESTRICCIONES A LAS AGRUPACIONES ............................................................ 33
PRCTICAS .................................................................................................. 35

SUBCONSULTAS ................................................................................................ 36
7.1.

PRCTICAS .................................................................................................. 38

Introduccin al Servidor de Bases de Datos Oracle9i Contenidos

INFORMATICA64 Introduccin al Servidor de Bases de Datos Oracle9 i INFORMATICA64

8.

MANIPULACIN DE DATOS .......................................................................... 39


8.1.
8.2.
8.3.
8.4.
8.5.
8.6.

9.

INSERCIN DE REGISTROS ................................................................................ 39


MODIFICACIN DE VALORES............................................................................ 40
BORRADO DE REGISTROS................................................................................. 40
TRANSACCIONES ............................................................................................. 41
INTEGRIDAD DE DATOS EN TRANSACCIONES .................................................... 42
PRCTICAS .................................................................................................. 43

CREACIN Y ADMINISTRACIN DE TABLAS ......................................... 44


9.1.
9.2.
9.3.
9.4.
9.5.
9.6.

CREACIN ....................................................................................................... 44
MODIFICACIONES DE UNA TABLA .................................................................... 46
ELIMINACIN DE UNA TABLA........................................................................... 47
CAMBIAR EL NOMBRE DE UNA TABLA .............................................................. 47
TABLAS DE SISTEMA ........................................................................................ 47
PRCTICAS .................................................................................................. 48

10.

RESTRICCIONES ........................................................................................... 49

10.1.
10.2.
10.3.
10.4.
10.5.
10.6.
10.7.
11.

CREACIN ................................................................................................... 49
TIPOS DE RETRICCIONES .............................................................................. 49
AADIR RESTRICCIONES ............................................................................. 51
BORRADO DE LA RESTRICCIN..................................................................... 51
DESHABILITAR O HABILITAR RESTRICCIONES .............................................. 51
INFORMACION SOBRE LAS RESTRICCIONES................................................... 51
PRCTICAS .............................................................................................. 52

VISTAS.............................................................................................................. 53

11.1.
11.2.
11.3.
11.4.
12.

CREACIN ................................................................................................... 53
MANIPULACIN ........................................................................................... 56
VISTAS VOLTILES Y ANLISIS N-SUPERIOR ............................................... 57
PRCTICAS .............................................................................................. 59

SECUENCIAS, NDICES Y SINNIMOS ................................................... 60

12.1.
12.2.
12.3.
12.4.
13.

SECUENCIAS ................................................................................................ 60
NDICES ....................................................................................................... 63
SINNIMOS .................................................................................................. 65
PRCTICAS .............................................................................................. 66
CONSULTAS COMPUESTAS ....................................................................... 67

13.1.
13.2.
13.3.
14.

TIPOS ........................................................................................................... 67
CARACTERSTICAS DE LAS CONSULTAS COMPUESTAS .................................. 70
PRCTICAS .............................................................................................. 71

FUNCIONES PARA LA ARITMTICA DE FECHAS............................... 72

14.1.
14.2.
14.3.

QU HORA ES? ........................................................................................... 72


FUNCIONES DE DESCOMPOSICIN ................................................................ 73
PRCTICAS .............................................................................................. 75

Introduccin al Servidor de Bases de Datos Oracle9i Contenidos

ii

INFORMATICA64 Introduccin al Servidor de Bases de Datos Oracle9 i INFORMATICA64

15.

TCNICAS ESPECIALES DE AGRUPACIN Y RESUMEN.................. 76

15.1.
15.2.
15.3.
15.4.
16.

ROLLUP..................................................................................................... 76
CUBE ......................................................................................................... 76
GROUPING ............................................................................................... 77
PRCTICAS .............................................................................................. 79
SUBCONSULTAS AVANZADAS.................................................................. 80

16.1.
16.2.
16.3.
16.4.
16.5.
16.6.
17.

SUBCONSULTAS MULTI-COLUMNA ............................................................... 81


SUBCONSULTAS PARES ................................................................................ 81
SUBCONSULTAS NO PARES ........................................................................... 82
SUBCONSULTAS CORRELACIONADAS ........................................................... 83
LA CLUSULA WITH................................................................................... 85
PRCTICAS .............................................................................................. 87

SOLUCIN A LAS PRCTICAS.................................................................. 88

17.1.
17.2.
17.3.
17.4.
17.5.
17.6.
17.7.
17.8.
17.9.
17.10.
17.11.
17.12.
17.13.
17.14.
17.15.
17.16.

TABLAS QUE COMPONEN LAS PRCTICAS .................................................... 88


MDULO 2: SENTENCIAS SQL BSICAS ...................................................... 92
MDULO 3: RESTRICCIN Y ORDENACIN DE DATOS .................................. 95
MDULO 4: FUNCIONES A NIVEL DE FILA .................................................... 99
MDULO 5: CONSULTAS A VARIAS TABLAS ............................................... 104
MDULO 6: AGRUPACIN DE DATOS ........................................................ 109
MDULO 7: SUBCONSULTAS...................................................................... 113
MDULO 8: MANIPULACIN DE DATOS ..................................................... 116
MDULO 9: CREACIN Y ADMINISTRACIN DE TABLAS ............................ 119
MDULO 10: RESTRICCIONES .................................................................... 122
MDULO 11: VISTAS ................................................................................. 124
MDULO 12: SECUENCIAS, NDICES Y SINNIMOS ..................................... 127
MDULO 13: CONSULTAS COMPUESTAS .................................................... 128
MDULO 14: FUNCIONES PARA LA ARITMTICA DE FECHAS ...................... 130
MDULO 15: TC. ESPECIALES DE AGRUPACIN Y RESUMEN..................... 131
MDULO 16: SUBCONSULTAS AVANZADAS ............................................... 133

Introduccin al Servidor de Bases de Datos Oracle9i Contenidos

iii

INFORMATICA64 Introduccin al Servidor de Bases de Datos Oracle9 i INFORMATICA64

1. Introduccin
1.1. Caractersticas de Oracle 9i
El servidor Oracle 9i adems de poseer las capacidades del modelado de datos tambin
soporta el modelo de base de datos objeto relacional que nos trae la programacin
orientada a objetos, tipos de datos complejos, y gran compatibilidad con el modelo
relacional.
Oracle 9i puede poseer hasta decenas de miles de usuarios concurrentes, y soporta hasta
512 petabytes de datos (1000 teras), y puede soportar cualquier tipo de dato. Con la
versin 9i Oracle nos trae la base de datos, pero tambin nos permite gestionar algo ms
complejo como es el Servidor de Aplicaciones Oracle 9i. Este nos permite ejecutar que
funcionen las aplicaciones mientras que la base de datos nos permitira guardar los
datos.

1.2. Ciclo de vida del desarrollo de un sistema


Para construir una base de datos que d cobertura a una empresa, el mtodo ms
apropiado, por ser el ms sistemtico, es el conocido como ciclo de desarrollo del
sistema. ste es un proceso que abarca todas las fases del desarrollo, desde la
definicin hasta la produccin, en el que se toman las necesidades de la empresa y se
transforman en una base de datos operativa.

CICLO DE DESARROLLO DEL SISTEMA

Estrategia y
anlisis

Diseo

Construccin y
documentacin

Transicin
4

Produccin
5

1. Estrategia y anlisis:
Consiste en estudiar las necesidades de la empresa. Para llevar a cabo esta fase se debe
entrevistar a usuarios y administradores para identificar cul es la informacin que
necesitan. Esto servir para incorporar las reglas de negocio y de la aplicacin.
Posteriormente se construyen los modelos del sistema. Esto consiste en transferir la
documentacin generada a una representacin grfica de las necesidades de informacin
y reglas de negocio.
2. Diseo:
Consiste en disear la base de datos basndose en el modelo desarrollado en la fase
anterior.
3. Construccin y Documentacin
En esta fase se construye el prototipo del sistema, que consiste en escribir y ejecutar los
comandos para crear las tablas y otros objetos de la base de datos.

Lenguaje SQL - 1

INFORMATICA64 Introduccin al Servidor de Bases de Datos Oracle9 i INFORMATICA64

Asimismo, se elabora la documentacin para el usuario, los textos para la ayuda en


pantalla y los manuales de operacin y soporte.
4. Transicin
Durante esta fase se redefine el prototipo. La aplicacin se pone en marcha de forma
experimental, sometindola a la aprobacin de los usuarios, convirtiendo los datos
existentes y realizando operaciones paralelas.
5. Produccin
Finalmente, se entrega el sistema a los usuarios. Mientras stos utilizan el sistema de
produccin, se supervisa su rendimiento para mejorarlo y refinarlo.

1.3. Sistemas Gestores de Bases de Datos Relacionales


Existen muchos modos de almacenar la informacin de una empresa. Podran utilizarse
hojas de clculo, archivos, etc. Sin embargo, la manera ms sistemtica y adecuada de
almacenar la informacin es una base de datos, que se define como un conjunto
organizado de informacin.
Sin embargo, las exigencias actuales hacen que no baste una simple base de datos: es
necesario un mecanismo que permita gestionar el almacenamiento de la informacin,
que vele por la integridad de los datos, que administre la seguridad de la informacin,
que sea capaz de proporcionar informacin simultneamente a varios usuarios sin que
existan discrepancias, y un largo etctera que aumenta da a da con las complejidades
de la actividad empresarial moderna. En definitiva, se necesita un Sistema Gestor de
Bases de Datos.
A lo largo de la reciente historia de las bases de datos se ha experimentado con varios
modelos o filosofas de bases de datos, y finalmente se ha impuesto el modelo
denominado RELACIONAL. Este modelo tiene su origen en los estudios que realiz
E.F.Codd durante los aos 60 y 70, que se convirtieron en la base de los Sistemas
Gestores de Bases de Datos Relacionales. stos son programas que almacenan,
recuperan y modifican datos en la base de datos requerida siguiendo una serie de
mtodos que los hacen ideales para el mantenimiento de grandes cantidades de
informacin con cambios mnimos en la programacin.
Una base de datos relacional es un conjunto de relaciones o tablas bidimensionales. Por
ejemplo, en el caso de los empleados de una empresa se crearan varias tablas para que
admitiesen la informacin.

1.3.1. Modelo de datos


Los modelos de datos son el punto de partida de cualquier diseo de bases de datos.
Mediante los modelos de datos se logra que el usuario final comprenda la organizacin
de la informacin y, al mismo tiempo, que el desarrollador disponga de un sistema til
para construir un sistema de base de datos.
Gracias a esta primera aproximacin, se logran varios objetivos como describir,
categorizar, investigar, divulgar y refinar el tratamiento que la empresa da a la
informacin. El resultado resulta indispensable tanto para que el desarrollador genere
una aplicacin ajustada a las necesidades de la empresa como para que el usuario final
comprenda el funcionamiento de la aplicacin y el tratamiento que debe dar a los datos.
En la pgina siguiente incluimos una representacin grfica de los conceptos expuestos:

Lenguaje SQL - 2

INFORMATICA64 Introduccin al Servidor de Bases de Datos Oracle9 i INFORMATICA64

MODELO DE DATOS
Modelo del sistema que
el cliente tiene en

Modelo de Entidades a
partir del modelo del
cliente.

Base de Datos
Paso a las tablas
partiendo del modelo de

1.3.2. Modelo entidad-relacin


A partir de la informacin obtenida mediante el modelo de datos, el siguiente paso es
crear un modelo Entidad-Relacin. ste se construye durante la fase de anlisis y sirve
para separar la informacin requerida por el negocio de los procesos internos de la
empresa.
En el siguiente ejemplo de modelo entidad-relacin, se ilustra un escenario en el que a
un vendedor se le asigna uno o ms clientes, mientras que existen vendedores a los que
no se les han asignado clientes.

CLIENTE

Asignado a

EMPLEADO

#* Id

#* Id

Apellido

o Tlf

Es representante de
ventas para

Apellido

o Nombre

Las ventajas que representa el modelo Entidad-Relacin son las siguientes:

Documenta con precisin y claridad las necesidades de informacin de la empresa.

Proporciona una representacin grfica que facilita el diseo de la base de datos.

Define claramente el alcance de las necesidades de informacin.

Ofrece un ambiente de trabajo efectivo para la integracin de mltiples aplicaciones.

Sus componentes bsicos son:

La Entidad: es un elemento relevante sobre el que se necesita conocer informacin,


por ejemplo departamentos o pedidos.

Los Atributos: son elementos que describen o califican la entidad, por ejemplo, el
nombre o el puesto de un empleado.

La Relacin: es la asociacin que vincula las entidades entre si.

Para que la interpretacin resulte fcil para cualquiera, el modelo Entidad-Relacin


adopta una serie de convenciones de representacin. A continuacin, se proporciona una
explicacin basada en el ejemplo anterior:

Lenguaje SQL - 3

INFORMATICA64 Introduccin al Servidor de Bases de Datos Oracle9 i INFORMATICA64

ENTIDAD
Caja con bordes redondeados, con nombre
nico, singular, en maysculas. Sinnimos entre
parntesis.

Asignado

CLIENTE
#* Id
* Apellido
o Tlf

EMPLEADO

Es representante de

#* Id
* Apellido
o Nombre

ATRIBUTO
Nombre en singular, en minsculas.
Si es obligatorio se marca con *, si
es opcional se marca con o.
Si se trata de un identificador
primario, se marca con #.

ventas para
RELACIN
Lnea que une ambas entidades.
La relacin se interpreta en ambas direcciones y puede comportarse de forma distinta en funcin de la direccin.
Si un elemento de una de las entidades puede estar asociado a varios de la otra entidad, se bifurca en tres.
Si, un elemento de una de las entidades slo se asocia a uno de la entidad relacionada, permanece como una lnea
simple.

1.3.3. Modelo Relacional


Una vez elaborado el modelo Entidad-Relacin, se traduce al modelo relacional, el cual
se describe a continuacin.
2

ID_EMP
7839
7698
7782
7566
7654
7499
7844
7900
7512
7902
7369
7788
7876
1 7934

APELLIDO
KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH
SCOTT
ADAMS
MILLER

PUESTO

FEC_CONT
PRESIDENTE 17/11/1981
14/05/1981
DIRECTOR
04/07/1981
DIRECTOR
05/06/1980
DIRECTOR
07/02/1981
COMERCIAL
25/07/1980
COMERCIAL
09/03/1982
COMERCIAL
30/05/1981
CONTABLE
25/12/1981
COMERCIAL
05/07/1981
ANALISTA
22/04/1980
CONTABLE
03/07/1980
ANALISTA
05/04/1980
CONTABLE
04/08/1981
CONTABLE

Registro simple

2 Columna o atributo

Columna no valor clave

4 Clave externa

SUELDO
ID_DEPTO
5000
10
2800
30
2000
10
2700
20
1500
20
1500
10
1600
30
1200
30
1600
10
1700
20
1000
10
1800
20
1000
30
1200
10

Un registro simple contiene todos los datos que describen por completo a empleado.
Cada registro en una tabla debe identificarse con una clave primaria para evitar que se
produzcan duplicados.
Una columna o atributo contiene el nmero del empleado, que en este caso tambin es
clave primaria. El nmero del empleado identifica de forma inequvoca a un empleado
nico en la tabla.

Lenguaje SQL - 4

INFORMATICA64 Introduccin al Servidor de Bases de Datos Oracle9 i INFORMATICA64

Una columna que no es valor clave representa un tipo de dato en una tabla; el orden de
la columna no es importante cuando se almacenan los datos: se especifica cuando se
recuperan.
Una columna tambin puede ser una clave externa: una columna cuyos datos se
encuentran almacenados en una clave primaria de la tabla con la que se relaciona esta
tabla.
Cada fila de datos en una tabla est identificada unvocamente por una clave primaria.
Se puede relacionar informacin con mltiples tablas lgicamente usando claves
externas. Los sistemas gestores de bases de datos relacionales permiten relacionar datos
de una tabla con los de otra utilizando las claves externas. Una clave externa es una
columna o un conjunto de columnas que hacen referencia a una clave primaria en la
misma tabla o en tablas distintas. A continuacin presentamos un ejemplo.
EMPNO
7839
7698
7782
7566

Clave

APELLIDO
KING
BLAKE
CLARK
JONES

PUESTO

DEPTNO

PRESIDENTE
DIRECTOR
DIRECTOR
DIRECTOR

DEPTNO
10
20
30
40

10
30
10
20

Clave externa

NOMBRE
CONTABILIDAD
INVESTIGACIN
VENTAS
OPERACIONES

CIUDAD
NEW YORK
DALLAS
CHICAGO
BOSTON

Clave primaria

La clave primaria consiste en una restriccin impuesta a la columna, que impide


repetir el mismo valor en la columna.

Los campos de clave primaria no pueden contener valores nulos.

La clave externa consiste en una restriccin impuesta a la columna, que consiste en


que el valor introducido en dicha columna debe coincidir con un valor existente en
una columna de clave primaria de una tabla.

1.3.4. Bases de datos relacionales


Las bases de datos relacionales permiten acceder a objetos de la base de datos y
modificarlos mediante comandos SQL (Lenguaje Estructurado de Consultas).
Estas bases de datos contienen un conjunto de tablas sin punteros lgicos. En ellas no
necesitamos especificar el acceso a las tablas, ni saber cmo se ordenan los datos
fsicamente. Para acceder a la base de datos, se ejecutan sentencias SQL.
Desde el punto de vista del usuario final, el procesamiento de su peticin de
informacin se produce de forma completamente transparente. El cliente enva una
peticin expresada en lenguaje SQL y recibe un conjunto de resultados. Cualquier
proceso intermedio, tanto en trminos de almacenamiento y ubicacin de nueva
informacin, como en lo referido a la bsqueda de los datos en disco, es procesado
internamente por el sistema gestor.

Lenguaje SQL - 5

You might also like