Cada capítulo se ilustra con un número importante de ejercicios prácticos que completan los conceptos teóricos. Estos ejercicios hacen referencia a bases de datos ejemplo que son construidas en el propio libro. También se hace referencia a la base de datos de trabajo que instala por defecto Oracle 11g disponible para los usuarios.
Todos los ejercicios prácticos del libro y los ejemplos incluidos en la parte teórica de los capítulos, pueden realizarse completamente con la información que se presenta en el propio texto y en la instalación por defecto del programa, sin necesidad de acudir a ficheros externos ni a otro tipo de información adicional. CAPÍTULO 1. EL MODELO RELACIONAL. LENGUAJE SQL CAPÍTULO 2. ENTORNO DE EJECUCIÓN DE ORACLE SQL Y PL/SQL. PLATAFORMA SQL*PLUS CAPÍTULO 3. SQL*PLUS COMO ENTORNO DE TRABAJO PARA SQL Y PL/SQL CAPÍTULO 4. ELEMENTOS DE ORACLE 11G SQL Y PL/SQL CAPÍTULO 5. ESTRUCTURAS DE CONTROL EN PL/SQL CAPÍTULO 6. REGISTROS, TABLAS Y MATRICES EN PL/SQL CAPÍTULO 7. SQL EN PL/SQL CAPÍTULO 8. CURSORES EN PL/SQL. CAPÍTULO 9. SUBPROGRAMAS, PROCEDIMIENTOS, FUNCIONES, PAQUETES Y DISPARADORES CAPÍTULO 10. OBJETOS Y COLECCIONES CAPÍTULO 11. EXCEPCIONES Y PL/SQL DINÁMICO CAPÍTULO 12. PL/SQL Y JAVA CAPÍTULO 13. LENGUAJE DE MODIFICACIÓN DE DATOS DML EN ORACLE 11G SQL
1.1 INTRODUCCIÓN AL MODELO RELACIONAL
1.2 RELACIONES
1.2.1 Definición formal de relación
1.2.2 Propiedades y tipos de relaciones
1.2.3 Intención y extensión de las relaciones
1.2.4 Claves de las relaciones
1.2.5 Nulos
1.3 RESTRICCIONES
1.4 ESQUEMAS DE BASES DE DATOS RELACIONALES
1.4.1 Grafos relacionales
1.4.2 Esquemas relacionales
1.5 ÁLGEBRA RELACIONAL
1.5.1 Operaciones relacionales básicas
1.5.2 Otras operaciones relacionales y operadores booleanos
1.6 NORMALIZACIÓN
1.6.1 Formas normales
1.6.2 Primera forma normal
1.6.3 Dependencias funcionales
1.6.4 Segunda forma normal
1.6.5 Tercera forma normal
1.6.6 Forma normal de Boyce-Codd
1.6.7 Dependencias multivaluada y cuarta forma normal
1.6.8 Quinta forma normal
1.7 EL LENGUAJE SQL
1.8 CREACIÓN DE LAS TABLAS DE UNA BASE DE DATOS RELACIONAL EN SQL ESTÁNDAR
1.8.1 Nombres de tablas
1.8.2 Nombres de columnas
1.8.3 Tipos de datos en SQL estándar
1.8.4 Tipos de datos extendidos en SQL estándar
1.9 DISEÑO RELACIONAL EN ORACLE. UN EJEMPLO
1.9.1 Introducción a la creación de tablas en Oracle 11g
1.9.2 Introducción a las restricciones de integridad en Oracle 11g
1.9.3 Introducción de registros en tablas en Oracle 11g
1.9.4 Introducción a los tipos de datos en Oracle 11g
2.1 PLATAFORMA DE PROGRAMACIÓN SQL*PLUS
2.2 INSTALACIÓN DE ORACLE 11G Y PL/SQL
2.3 PRIMEROS PASOS EN ORACLE 11G: INICIO DEL SERVIDOR
2.3.1 Comprobar, Iniciar y Parar Oracle 11g desde Servicios de Windows NT/2000/XP
2.3.2 Inicio automático de Oracle 11g
2.4 CONEXIÓN A ORACLE 11G
3.1 EL ENTORNO DE SQL*PLUS
3.2 INTRODUCCIÓN AL COMANDO SELECT EN ORACLE 11G
3.2.1 Cláusula FROM
3.2.2 Cláusula WHERE
3.2.3 Cláusula GROUP BY
3.2.4 Cláusula ORDER BY
3.2.5 Cláusula HAVING
3.3 OPERADORES CONJUNTISTAS EN ORACLE 11G SQL
3.4 LA TABLA DUAL: TABLA DE TRABAJO DE ORACLE 11G SQL
3.5 EDICIÓN DE SINTAXIS DE CONSULTAS O COMANDOS EN EL ENTORNO SQL*PLUS
3.6 MANIPULANDO SINTAXIS DE CONSULTAS O COMANDOS
3.7 FORMATEANDO SALIDAS DE CONSULTAS O COMANDOS
3.8 RELACIÓN DE COMANDOS A UTILIZAR EN SQL*PLUS
3.9 UTILIZANDO TECLAS DE COMANDO EN SQL*PLUS
3.10 FORMATOS NUMÉRICOS EN SQL*PLUS
3.11 FUNCIONES A UTILIZAR EN SQL*PLUS
3.12 VARIABLES EN SQL*PLUS
4.1 CATEGORÍAS DE SENTENCIAS EN ORACLE 11G SQL
4.2 LA ESTRUCTURA DE PL/SQL
4.3 LOS BLOQUES EN PL/SQL
4.4 UNIDADES LÉXICAS
4.4.1 Identificadores
4.4.2 Delimitadores
4.4.3 Literales
4.4.4 Comentarios
4.5 TIPOS (DATATYPES) Y CONVERSIONES
4.5.1 Tipos de datos ANSI, DB2 y SQL/DS
4.6 FORMATOS
4.6.1 Formatos de elementos numéricos
4.6.2 Formatos de fechas
4.7 CARACTERES ASCII Y EBCDIC EN ORACLE 11G SQL Y PL/SQL
4.8 VARIABLES
4.9 EXPRESIONES Y OPERADORES EN ORACLE 11G SQL Y PL/SQL.
4.9.1 Operadores aritméticos
4.9.2 Operador concatenación
4.9.3 Operadores de comparación
4.9.4 Operadores de conjuntos
4.9.5 Operadores lógicos.
4.9.6 Orden de prioridad de los operadores
4.10 FUNCIONES PREDEFINIDAS EN ORACLE 11G SQL Y PL/SQL
4.10.1 Funciones numéricas
4.10.2 Funciones carácter que devuelven valores carácter
4.10.3 Funciones carácter que devuelven valores numéricos
4.10.4 Funciones de fecha
4.10.5 Funciones de conversión
4.10.6 Funciones agregadas
5.1 TIPOS DE ESTRUCTURAS DE CONTROL EN PL/SQL
5.1.1 Estructuras condicionales
5.2 BUCLES
5.2.1 Bucles simples
5.2.2 Bucles WHILE
5.2.3 Bucles FOR numéricos
5.2.4 Órdenes GOTO y etiquetas
5.2.5 Orden NULL
6.1 REGISTROS EN PL/SQL
6.1.1 Utilización de %TYPE y %ROWTYPE
6.1.2 Inicializando y referenciando registros
6.1.3 Asignación de registros
6.2 TABLAS Y MATRICES
6.2.1 Atributo COUNT
6.2.2 Atributo DELETE
6.2.3 Atributo EXISTS
6.2.4 Atributos FIRST y LAST
6.2.5 Atributos NEXT y PRIOR
6.3 VARRAYS
7.1 SQL EN PL/SQL
7.2 LENGUAJE DE MANIPULACIÓN DE DATOS EN PL/SQL
7.3 LENGUAJE DE DEFINICIÓN DE DATOS EN PL/SQL
7.3.1 Enlaces de bases de datos
7.3.2 Secuencias
7.3.3 Sinónimos
7.3.4 Instrucción ROWNUM
7.3.5 Instrucción ROWID
7.3.6 Sentencias GRANT y REVOKE
7.4 LENGUAJE DE CONTROL DE TRANSACCIONES EN PL/SQL
7.4.1 Sentencia COMMIT
7.4.2 Sentencia ROLLBACK
7.4.3 Sentencia SET TRANSACTION
7.4.4 Sentencia SAVE POINT
7.5 FUNCIONES INTEGRADAS DE PL/SQL
7.5.1 Funciones de cadena
7.5.2 Funciones numéricas
7.5.3 Funciones de fechas
7.6 FUNCIONES DE CONVERSIÓN Y TRANSFORMACIÓN
7.6.1 Conversiones automáticas
7.6.2 Funciones TRANSLATE y DECODE
8.1CURSORES
8.1.1 Cursores explícitos
8.1.2 Cursores implícitos
8.2 BUCLES DE EXTRACCIÓN MEDIANTE CURSOR
8.2.1 Variables de cursor
9.1 SUBPROGRAMAS ALMACENADOS: PROCEDIMIENTOS Y FUNCIONES
9.1.1 Creación de procedimientos almacenados
9.1.2 Creación de funciones
9.1.3 Eliminación de procedimientos y funciones
9.2 SUBPROGRAMAS LOCALES
9.2.1 Procedimientos locales
9.2.2 Funciones locales
9.3 PAQUETES
9.4 DISPARADORES
10.1 INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
10.2 BASES DE DATOS OBJETO-RELACIONALES
10.3 TIPOS DE OBJETOS
10.3.1 Especificaciones del tipo de objeto
10.3.2 Cuerpo del tipo de objeto
10.3.3 Modificación y eliminación de tipos
10.4 OBJETOS DE BASE DE DATOS
10.4.1 Objetos transitorios y persistentes
10.4.2 Identificadores y referencias a objetos
10.4.3 Objetos en las órdenes DML
10.5 VARRAYS
10.6 TABLAS ANIDADAS
10.7 VARRAYS EN LA BASE DE DATOS
10.8 COLECCIONES
11.1 EXCEPCIONES
11.2 EXCEPCIONES PREDEFINIDAS
11.3 EXCEPCIONES DEFINIDAS POR EL USUARIO
11.3.1 La sentencia RAISE
11.3.2 SQLCODE y SQLERRM
11.3.3 Excepciones personalizadas en PL/SQL. RAISE_APPLICATION_ERROR
11.4 PROPAGACIÓN DE EXCEPCIONES EN PL/SQL
11.5 PL/SQL DINÁMICO
11.5.1 Sentencias DML con SQL dinámico. EXECUTE IMMEDIATE y SQL%ROWCOUNT
11.6 CURSORES CON SQL DINÁMICO
12.1 PL/SQL Y JAVA
12.2 LA UTILIDAD LOADJAVA
12.3 EJECUCIÓN DE PROGRAMAS JAVA CON PL/SQL
13.1 INTRODUCCIÓN
13.2 LA SENTENCIA SELECT
13.2.1 Ejemplos relativos a la sentencia SELECT
13.2.2 Selección de todas las tablas de una instancia de base de datos y de todas las columnas de una tabla
13.2.3 Selección de filas
13.2.4 Filas duplicadas y la cláusula DISTINCT
13.2.5 Ordenación de los resultados de una consulta
13.2.6 Columnas calculadas
13.2.7 Renombrar columnas: cláusula AS
13.3 CONSULTAS CON CONDICIONES DE BÚSQUEDA
13.3.1 Contrastes de comparación