Sei sulla pagina 1di 8

NDICE

INTRODUCCIN .............................................................................................................. 13


CAPTULO 1. EL MODELO RELACIONAL. LENGUAJE SQL ........................................ 17
1.1 INTRODUCCIN AL MODELO RELACIONAL.................................................... 17
1.2 RELACIONES............................................................................................................ 19
1.2.1 Definicin formal de relacin ............................................................................. 21
1.2.2 Propiedades y tipos de relaciones ....................................................................... 22
1.2.3 Intencin y extensin de las relaciones............................................................... 23
1.2.4 Claves de las relaciones ...................................................................................... 23
1.2.5 Nulos ................................................................................................................... 25
1.3 RESTRICCIONES...................................................................................................... 26
1.4 ESQUEMAS DE BASES DE DATOS RELACIONALES ........................................ 28
1.4.1 Grafos relacionales.............................................................................................. 29
1.4.2 Esquemas relacionales ........................................................................................ 29
1.5 LGEBRA RELACIONAL ....................................................................................... 32
1.5.1 Operaciones relacionales bsicas ........................................................................ 32
1.5.2 Otras operaciones relacionales y operadores booleanos ..................................... 34
1.6 NORMALIZACIN................................................................................................... 36
1.6.1 Formas normales ................................................................................................. 37
1.6.2 Primera forma normal ......................................................................................... 37
1.6.3 Dependencias funcionales ................................................................................... 38
1.6.4 Segunda forma normal ........................................................................................ 39
1.6.5 Tercera forma normal.......................................................................................... 39

6 PROGRAMACIN EN ORACLE 11g. SQL, SQL*PLUS Y PL/SQL

RA-MA

1.6.6 Forma normal de Boyce-Codd ............................................................................ 40


1.6.7 Dependencias multivaluada y cuarta forma normal............................................ 41
1.6.8 Quinta forma normal ........................................................................................... 42
1.7 EL LENGUAJE SQL................................................................................................... 44
1.8 CREACIN DE LAS TABLAS DE UNA BASE DE DATOS RELACIONAL
EN SQL ESTNDAR ................................................................................................ 46
1.8.1 Nombres de tablas ............................................................................................... 47
1.8.2 Nombres de columnas ......................................................................................... 48
1.8.3 Tipos de datos en SQL estndar.......................................................................... 49
1.8.4 Tipos de datos extendidos en SQL estndar ....................................................... 50
1.9 DISEO RELACIONAL EN ORACLE. UN EJEMPLO .......................................... 51
1.9.1 Introduccin a la creacin de tablas en Oracle 11g............................................. 59
1.9.2 Introduccin a las restricciones de integridad en Oracle 11g ............................. 60
1.9.3 Introduccin de registros en tablas en Oracle 11g .............................................. 63
1.9.4 Introduccin a los tipos de datos en Oracle 11g ................................................. 64
CAPTULO 2. ENTORNO DE EJECUCIN DE ORACLE SQL Y PL/SQL.
PLATAFORMA SQL*PLUS............................................................................................. 77
2.1 PLATAFORMA DE PROGRAMACIN SQL*PLUS.............................................. 77
2.2 INSTALACIN DE ORACLE 11G Y PL/SQL ......................................................... 77
2.3 PRIMEROS PASOS EN ORACLE 11G: INICIO DEL SERVIDOR......................... 83
2.3.1 Comprobar, Iniciar y Parar Oracle 11g desde Servicios de Windows
NT/2000/XP ........................................................................................................ 86
2.3.2 Inicio automtico de Oracle 11g ......................................................................... 87
2.4 CONEXIN A ORACLE 11G ................................................................................... 88
CAPTULO 3. SQL*PLUS COMO ENTORNO DE TRABAJO PARA SQL Y
PL/SQL................................................................................................................................. 97
3.1 EL ENTORNO DE SQL*PLUS .................................................................................. 97
3.2 INTRODUCCIN AL COMANDO SELECT EN ORACLE 11G ............................. 99
3.2.1 Clusula FROM................................................................................................. 101
3.2.2 Clusula WHERE.............................................................................................. 101
3.2.3 Clusula GROUP BY........................................................................................ 102
3.2.4 Clusula ORDER BY........................................................................................ 103
3.2.5 Clusula HAVING ............................................................................................ 104
3.3 OPERADORES CONJUNTISTAS EN ORACLE 11G SQL.................................... 105
3.4 LA TABLA DUAL: TABLA DE TRABAJO DE ORACLE 11G SQL .................... 105
3.5 EDICIN DE SINTAXIS DE CONSULTAS O COMANDOS EN EL
ENTORNO SQL*PLUS ........................................................................................... 106

RA-MA

NDICE 7

3.6 MANIPULANDO SINTAXIS DE CONSULTAS O COMANDOS........................ 107


3.7 FORMATEANDO SALIDAS DE CONSULTAS O COMANDOS ........................ 108
3.8 RELACIN DE COMANDOS A UTILIZAR EN SQL*PLUS ............................... 111
3.9 UTILIZANDO TECLAS DE COMANDO EN SQL*PLUS........................................ 113
3.10 FORMATOS NUMRICOS EN SQL*PLUS........................................................... 114
3.11 FUNCIONES A UTILIZAR EN SQL*PLUS............................................................ 115
3.12 VARIABLES EN SQL*PLUS.................................................................................. 115
CAPTULO 4. ELEMENTOS DE ORACLE 11G SQL Y PL/SQL ............................ 123
4.1 CATEGORAS DE SENTENCIAS EN ORACLE 11G SQL ........................................ 123
4.2 LA ESTRUCTURA DE PL/SQL................................................................................. 124
4.3 LOS BLOQUES EN PL/SQL ...................................................................................... 125
4.4 UNIDADES LXICAS............................................................................................... 129
4.4.1 Identificadores................................................................................................... 130
4.4.2 Delimitadores .................................................................................................... 131
4.4.3 Literales............................................................................................................. 133
4.4.4 Comentarios ...................................................................................................... 133
4.5 TIPOS (DATATYPES) Y CONVERSIONES.............................................................. 134
4.5.1 Tipos de datos ANSI, DB2 y SQL/DS.............................................................. 141
4.6 FORMATOS .............................................................................................................. 142
4.6.1 Formatos de elementos numricos .................................................................... 142
4.6.2 Formatos de fechas............................................................................................ 144
4.7 CARACTERES ASCII Y EBCDIC EN ORACLE 11G SQL Y PL/SQL........................ 145
4.8 VARIABLES.............................................................................................................. 146
4.9 EXPRESIONES Y OPERADORES EN ORACLE 11G SQL Y PL/SQL....................... 147
4.9.1 Operadores aritmticos...................................................................................... 149
4.9.2 Operador concatenacin.................................................................................... 150
4.9.3 Operadores de comparacin .............................................................................. 151
4.9.4 Operadores de conjuntos ................................................................................... 152
4.9.5 Operadores lgicos............................................................................................ 153
4.9.6 Orden de prioridad de los operadores ............................................................... 153
4.10 FUNCIONES PREDEFINIDAS EN ORACLE 11G SQL Y PL/SQL .......................... 154
4.10.1 Funciones numricas ....................................................................................... 157
4.10.2 Funciones carcter que devuelven valores carcter ........................................ 161
4.10.3 Funciones carcter que devuelven valores numricos .................................... 164
4.10.4 Funciones de fecha .......................................................................................... 165
4.10.5 Funciones de conversin ................................................................................. 166
4.10.6 Funciones agregadas ....................................................................................... 168

8 PROGRAMACIN EN ORACLE 11g. SQL, SQL*PLUS Y PL/SQL

RA-MA

CAPTULO 5. ESTRUCTURAS DE CONTROL EN PL/SQL ................................... 185


5.1 TIPOS DE ESTRUCTURAS DE CONTROL EN PL/SQL ........................................... 185
5.1.1 Estructuras condicionales.................................................................................. 185
5.2 BUCLES.................................................................................................................... 189
5.2.1 Bucles simples................................................................................................... 189
5.2.2 Bucles WHILE .................................................................................................. 190
5.2.3 Bucles FOR numricos ..................................................................................... 192
5.2.4 rdenes GOTO y etiquetas ............................................................................... 192
5.2.5 Orden NULL ..................................................................................................... 193
CAPTULO 6. REGISTROS, TABLAS Y MATRICES EN PL/SQL......................... 211
6.1 REGISTROS EN PL/SQL ........................................................................................ 211
6.1.1 Utilizacin de %TYPE y %ROWTYPE .............................................................. 212
6.1.2 Inicializando y referenciando registros................................................................. 212
6.1.3 Asignacin de registros ....................................................................................... 214
6.2 TABLAS Y MATRICES .......................................................................................... 215
6.2.1 Atributo COUNT ................................................................................................ 216
6.2.2 Atributo DELETE............................................................................................... 217
6.2.3 Atributo EXISTS ................................................................................................ 217
6.2.4 Atributos FIRST y LAST .................................................................................... 218
6.2.5 Atributos NEXT y PRIOR................................................................................... 219
6.3 VARRAYS ............................................................................................................... 219
CAPTULO 7. SQL EN PL/SQL..................................................................................... 237
7.1 SQL EN PL/SQL....................................................................................................... 237
7.2 LENGUAJE DE MANIPULACIN DE DATOS EN PL/SQL ................................ 237
7.3 LENGUAJE DE DEFINICIN DE DATOS EN PL/SQL........................................ 240
7.3.1 Enlaces de bases de datos .................................................................................... 240
7.3.2 Secuencias .......................................................................................................... 240
7.3.3 Sinnimos........................................................................................................... 242
7.3.4 Instruccin ROWNUM ....................................................................................... 242
7.3.5 Instruccin ROWID ............................................................................................ 243
7.3.6 Sentencias GRANT y REVOKE ......................................................................... 243
7.4 LENGUAJE DE CONTROL DE TRANSACCIONES EN PL/SQL........................ 244
7.4.1 Sentencia COMMIT............................................................................................ 246
7.4.2 Sentencia ROLLBACK....................................................................................... 247
7.4.3 Sentencia SET TRANSACTION ........................................................................ 247
7.4.4 Sentencia SAVE POINT ..................................................................................... 248

RA-MA

NDICE 9

7.5 FUNCIONES INTEGRADAS DE PL/SQL ............................................................. 249


7.5.1 Funciones de cadena............................................................................................ 249
7.5.2 Funciones numricas........................................................................................... 254
7.5.3 Funciones de fechas ............................................................................................ 258
7.6 FUNCIONES DE CONVERSIN Y TRANSFORMACIN .................................. 264
7.6.1 Conversiones automticas ................................................................................... 264
7.6.2 Funciones TRANSLATE y DECODE ................................................................ 265
CAPTULO 8. CURSORES EN PL/SQL ....................................................................... 275
8.1CURSORES............................................................................................................... 275
8.1.1 Cursores explcitos .............................................................................................. 275
8.1.2 Cursores implcitos.............................................................................................. 277
8.2 BUCLES DE EXTRACCIN MEDIANTE CURSOR............................................ 278
8.2.1 Variables de cursor.............................................................................................. 280
CAPTULO 9. SUBPROGRAMAS, PROCEDIMIENTOS, FUNCIONES,
PAQUETES Y DISPARADORES................................................................................... 297
9.1 SUBPROGRAMAS ALMACENADOS: PROCEDIMIENTOS Y FUNCIONES ... 297
9.1.1 Creacin de procedimientos almacenados............................................................ 297
9.1.2 Creacin de funciones ......................................................................................... 302
9.1.3 Eliminacin de procedimientos y funciones ......................................................... 304
9.2 SUBPROGRAMAS LOCALES ............................................................................... 305
9.2.1 Procedimientos locales ........................................................................................ 305
9.2.2 Funciones locales ................................................................................................ 306
9.3 PAQUETES .............................................................................................................. 307
9.4 DISPARADORES .................................................................................................... 310
CAPTULO 10. OBJETOS Y COLECCIONES............................................................ 327
10.1 INTRODUCCIN A LA PROGRAMACIN ORIENTADA A OBJETOS ......... 327
10.2 BASES DE DATOS OBJETO-RELACIONALES ................................................ 330
10.3 TIPOS DE OBJETOS ............................................................................................. 330
10.3.1 Especificaciones del tipo de objeto .................................................................... 331
10.3.2 Cuerpo del tipo de objeto................................................................................... 334
10.3.3 Modificacin y eliminacin de tipos .................................................................. 341
10.4 OBJETOS DE BASE DE DATOS .......................................................................... 344
10.4.1 Objetos transitorios y persistentes ...................................................................... 344
10.4.2 Identificadores y referencias a objetos................................................................ 345
10.4.3 Objetos en las rdenes DML ............................................................................. 346
10.5 VARRAYS ............................................................................................................. 348

10 PROGRAMACIN EN ORACLE 11g. SQL, SQL*PLUS Y PL/SQL

RA-MA

10.6 TABLAS ANIDADAS ........................................................................................... 349


10.7 VARRAYS EN LA BASE DE DATOS.................................................................. 352
10.8 COLECCIONES ..................................................................................................... 352
CAPTULO 11. EXCEPCIONES Y PL/SQL DINMICO.......................................... 377
11.1 EXCEPCIONES ..................................................................................................... 377
11.2 EXCEPCIONES PREDEFINIDAS ........................................................................ 379
11.3 EXCEPCIONES DEFINIDAS POR EL USUARIO .............................................. 380
11.3.1 La sentencia RAISE .......................................................................................... 381
11.3.2 SQLCODE y SQLERRM ................................................................................. 381
11.3.3 Excepciones personalizadas en PL/SQL. RAISE_APPLICATION_ERROR ..... 382
11.4 PROPAGACIN DE EXCEPCIONES EN PL/SQL .............................................. 383
11.5 PL/SQL DINMICO .............................................................................................. 384
11.5.1 Sentencias DML con SQL dinmico. EXECUTE IMMEDIATE y
SQL%ROWCOUNT......................................................................................... 384
11.6 CURSORES CON SQL DINMICO..................................................................... 385
CAPTULO 12. PL/SQL Y JAVA................................................................................... 395
12.1 PL/SQL Y JAVA .................................................................................................... 395
12.2 LA UTILIDAD LOADJAVA ................................................................................. 397
12.3 EJECUCIN DE PROGRAMAS JAVA CON PL/SQL ........................................ 397
CAPTULO 13. LENGUAJE DE MODIFICACIN DE DATOS DML EN
ORACLE 11G SQL .......................................................................................................... 401
13.1 INTRODUCCIN .................................................................................................. 401
13.2 LA SENTENCIA SELECT..................................................................................... 402
13.2.1 Ejemplos relativos a la sentencia SELECT..................................................... 406
13.2.2 Seleccin de todas las tablas de una instancia de base de datos y de todas
las columnas de una tabla................................................................................ 409
13.2.3 Seleccin de filas............................................................................................. 410
13.2.4 Filas duplicadas y la clusula DISTINCT....................................................... 412
13.2.5 Ordenacin de los resultados de una consulta................................................. 413
13.2.6 Columnas calculadas ....................................................................................... 415
13.2.7 Renombrar columnas: clusula AS ................................................................. 416
13.3 CONSULTAS CON CONDICIONES DE BSQUEDA....................................... 417
13.3.1 Contrastes de comparacin ............................................................................. 418
13.3.2 Contraste de rango: clusula BETWEENAND........................................... 419
13.3.3 Contraste de pertenencia a un conjunto: clusula IN ...................................... 420
13.3.4 Contraste de correspondencia con patrn: clusula LIKE .............................. 422
13.3.5 Contraste de valor nulo: clusula IS NULL.................................................... 424

RA-MA

NDICE 11

13.3.6 Contrastes compuestos: clusulas AND, OR y NOT...................................... 424


13.3.7 Combinacin de consultas: clusula UNION ................................................. 426
13.4 CONSULTAS MUTITABLA. JOINS.................................................................... 429
13.4.1 JOINS con criterios de seleccin de filas........................................................ 433
13.4.2 JOINS con mltiples columnas de emparejamiento ....................................... 434
13.5 JOINS DE TRES O MS TABLAS ....................................................................... 434
13.6 JOIN CON CONDICIONES DE BSQUEDA SIN IGUALDAD......................... 437
13.7 JOINS INTERNOS Y EXTERNOS........................................................................ 438
13.7.1 JOIN EXTERNO completo............................................................................. 439
13.7.2 JOIN EXTERNO izquierdo y derecho............................................................ 439
13.8 INNER JOIN........................................................................................................... 441
13.9 LEFT JOIN, RIGHT JOIN ...................................................................................... 443
13.9.1 Casos especiales en consultas multitabla ........................................................ 446
13.10 RESUMIR DATOS............................................................................................... 449
13.10.1 Resumir datos con CUBE ............................................................................. 449
13.10.2 Utilizar GROUPING para distinguir valores NULL .................................... 450
13.10.3 Resumir datos con ROLLUP ........................................................................ 451
13.11 SUBCONSULTAS ............................................................................................... 452
13.11.1 Reglas de las subconsultas ............................................................................ 455
13.11.2 Subconsultas con IN...................................................................................... 456
13.11.3 Subconsultas con operadores de comparacin.............................................. 457
13.11.4 Subconsultas con EXISTS ............................................................................ 458
13.11.5 Subconsultas con ANY, SOME o ALL ........................................................ 460
13.11.6 Subconsultas usadas en cualquier lugar de una expresin ................................. 461
13.11.7 Subconsultas con mltiples niveles de anidamiento.......................................... 462
13.12 SUBCONSULTAS CORRELACIONADAS ....................................................... 462
13.12.1 Subconsultas correlacionadas con alias ............................................................ 463
13.12.2 Subconsultas correlacionadas con operadores de comparacin............................ 464
13.12.3 Subconsultas correlacionadas con una clusula HAVING ................................ 464
13.12.4 UNION, INTERSECT y MINUS en subconsultas ........................................... 465
13.13 AGREGAR DATOS A TABLAS. LA SENTENCIA INSERT.............................. 466
13.13.1 Insertar una fila mediante INSERT INTO...VALUES...................................... 467
13.13.2 Insertar valores NULL ................................................................................... 468
13.13.3 Insertar todas las columnas ............................................................................ 469
13.13.4 Insertar varias filas mediante INSERT INTO...SELECT .................................. 469
13.14 ELIMINAR DATOS. LAS SENTENCIAS DELETE Y TRUNCATE ................ 470
13.14.1 Eliminar filas con DELETE............................................................................. 470

12 PROGRAMACIN EN ORACLE 11g. SQL, SQL*PLUS Y PL/SQL

RA-MA

13.14.2 Eliminar todas las filas con TRUNCATE TABLE ........................................... 472
13.14.3 Cambiar datos con UPDATE........................................................................... 473
13.14.4 Actualizacin de todas las filas con UPDATE ................................................. 474
13.14.5 UPDATE con subconsulta............................................................................... 474
13.15 BLOQUEO DE TABLAS. SENTENCIA LOCK TABLE......................................... 475
13.16 ACTUALIZACIONES CON LA SENTENCIA MERGE ......................................... 476
CAPTULO 14. LENGUAJE DE DEFINICIN DE DATOS DDL EN
ORACLE 11G SQL .......................................................................................................... 489
14.1 INTRODUCCIN .................................................................................................. 489
14.2 ESQUEMAS, TABLAS, COLUMNAS Y TIPOS DE DATOS ............................. 489
14.3 CREACIN Y ADMINISTRACIN DE TABLAS .............................................. 490
14.4 CREACIN DE TABLAS CON CREATE TABLE .............................................. 490
14.4.1 Restricciones de integridad................................................................................ 492
14.4.2 Anidamiento ..................................................................................................... 497
14.4.3 Particionamiento ............................................................................................... 498
14.4.4 ndices .............................................................................................................. 502
14.4.5 ENABLE y DISABLE en restricciones de integridad ........................................ 503
14.5 MODIFICACIN DE TABLAS CON ALTER TABLE........................................ 504
14.5.1 Modificacin de tabla........................................................................................ 505
14.5.2 Modificacin de columnas................................................................................. 507
14.5.3 Modificacin de restricciones de integridad ....................................................... 509
14.5.4 Modificacin de propiedades de columnas......................................................... 510
14.5.5 Modificacin de tablas externas......................................................................... 513
14.5.6 Movimiento de tablas ........................................................................................ 513
14.5.7 Clusulas ENABLE/DISABLE......................................................................... 514
14.5.8 Modificacin del particionamiento .................................................................... 515
14.6 BORRADO DE TABLAS CON DROP TABLE .................................................... 519
14.7 CREAR Y ADMINISTRAR SECUENCIAS ......................................................... 519
NDICE ALFABTICO................................................................................................... 523

Potrebbero piacerti anche