Introducción
¿Qué es SQL?
Aplicaciones de SQL
Intérpretes de SQL
Tipos de RDBMS
Cómo usar este libro
Convenciones tipográficas
1. El modelo relacional
1.1. Introducción
1.2. Modelos de bases de datos
1.3. Bases de datos relacionales
1.3.1. Tablas y sus relaciones
1.3.2. Filas y columnas
1.3.3. Acceso a los datos
1.3.4. Catalogación de los datos
1.3.5. Integridad de los datos
Tipos de datos
Integridad referencial
1.3.6. Tratamiento de valores nulos
1.3.7. Lenguajes de comunicación con la base de datos
1.3.8. Tratamiento de conjuntos de datos
1.4. Normalización de bases de datos
1.4.1. Primera forma normal
1.4.2. Segunda y tercera forma normal
1.5. Resumen
2. Consultas simples
2.1. Introducción
2.2. Pasos previos
2.2.1. Microsoft Access
2.2.2. MySQL
2.2.3. Oracle
2.2.4. SQL Server
2.3. Estructura de la base de datos
2.4. Primeros pasos con SELECT
2.4.1. Sintaxis general
2.4.2. Obtener todo el contenido de una tabla
2.4.3. Selección de columnas
2.4.4. Columnas con alias
2.4.5. Alias para las tablas
2.4.6. Exclusión de filas repetidas
2.5. Resumen
3. Filtros y búsquedas
3.1. Introducción
3.2. Sintaxis de la cláusula WHERE
3.2.1. Operadores de relación
3.2.2. Operadores lógicos
3.2.3. Agrupar expresiones con paréntesis
3.3. Predicados de la cláusula WHERE
3.3.1. Búsqueda de patrones de caracteres
3.3.2. Rangos y listas de valores
3.3.3. Búsqueda de valores nulos
3.3.4. Predicados con subconsultas
3.4. Adición de columnas calculadas
3.4.1. Cálculos numéricos
3.4.2. Operaciones con caracteres
3.4.3. Operaciones con fechas
3.4.4. Análisis y sustitución de valores
3.5. Resumen
4. Consultas en múltiples tablas y vistas
4.1. Introducción
4.2. Operaciones de conjuntos
4.2.1. Unión de conjuntos
4.2.2. Intersección de conjuntos
4.2.3. Diferencia de conjuntos
4.3. Combinación de tablas
4.3.1. Combinaciones por equivalencia
4.3.2. Combinaciones no exclusivas
4.3.3. Otros tipos de combinaciones entre tablas
4.4. Reutilización de consultas complejas
4.4.1. Definición de una vista
4.4.2. Uso de una vista
4.4.3. Otras operaciones con vistas
4.5. Resumen
5. Agrupación y ordenación de datos
5.1. Introducción
5.2. Ordenar las filas
5.2.1. La cláusula ORDER BY
5.2.2. Orden ascendente y descendente
5.2.3. Ordenar por varias columnas
5.2.4. Referencias a columnas derivadas
5.3. Agrupación de resultados
5.3.1. La cláusula GROUP BY
5.3.2. Funciones de agregación
5.3.3. Funciones de agregado y columnas derivadas
5.3.4. Uso de las funciones de agregado sin GROUP BY
5.3.5. Filtrado de las filas agrupadas
5.4. Resumen
6. Funciones de SQL
6.1. Introducción
6.2. Categorías de funciones
6.3. Funciones integradas
6.3.1. Particularidades de Oracle
6.3.2. Particularidades de MySQL
6.3.3. Particularidades de SQL Server
6.3.4. Particularidades de Access
6.4. Funciones de cadena
6.4.1. Longitud de la cadena
6.4.2. Eliminación de caracteres sobrantes
6.4.3. Conversiones de caracteres
6.4.4. Posición de una cadena en otra
6.5. Funciones de fechas
6.6. Funciones numéricas
6.6.1. Redondeo y valor absoluto
6.6.2. Raíces y potencias
6.6.3. Otras funciones matemáticas
6.7. Otras funciones de SQL
6.8. Resumen
7. Operaciones de inserción
7.1. Introducción
7.2. La sentencia INSERT
7.2.1. Inserción de valores por posición
7.2.2. Inserción de valores por nombre de columna
7.2.3. Obtener la estructura de una tabla
7.3. Valores por defecto y valores nulos
7.4. Inserciones y subconsultas
7.4.1. Generación automática de códigos
7.4.2. Producción de contenido
7.5. Confirmación y rechazo de cambios
7.6. Resumen
8. Actualización de datos
8.1. Introducción
8.2. Modificación de datos
8.2.1. Cambiar una columna de una fila
8.2.2. Cambiar varias columnas de una fila
8.2.3. Modificación de datos en varias filas
8.2.4. Uso de expresiones en la asignación
8.2.5. Valores nulos y por defecto
8.3. Eliminación de filas
8.4. Actualización de datos y transacciones
8.5. Resumen
9. Definición de estructuras
9.1. Introducción
9.2. Creación de una tabla
9.2.1. Tipos de datos
9.2.2. Introducción de restricciones
Claves primarias
Restricciones sobre valores nulos
Restricción de unicidad
Referencias externas
Integridad referencial
Restricciones CHECK
9.2.3. Valores por defecto
9.2.4. Crear una tabla a partir de otra
9.3. Eliminación de tablas
9.4. Modificar la estructura de una tabla
9.4.1. Añadir y eliminar columnas
9.4.2. Modificar una columna
9.4.3. Añadir y eliminar restricciones
9.5. Tablas temporales
9.6. Resumen
10. Control de acceso a los datos
10.1. Introducción
10.2. Otorgar privilegios sobre una base de datos
10.2.1. Conceder permisos generales
10.2.2. Concesión de privilegios específicos
10.2.3. Permisos sobre columnas individuales
10.2.4. Delegación de los privilegios
10.3. Revocación de privilegios
10.4. Transacciones y concurrencia
10.5. Resumen
11. Vistas e índices
11.1. Introducción
11.2. Definición y uso de vistas
11.2.1. Filtrado de columnas
11.2.2. Filtrado de filas
11.2.3. Vistas con columnas derivadas
11.2.4. Actualización de datos a través de una vista
11.2.5. Modificar y eliminar vistas
11.3. Creación de índices
11.4. Resumen
12. Procedimientos, funciones y desencadenadores
12.1. Introducción
12.2. Procedimientos almacenados
12.2.1. Definir un procedimiento almacenado
12.2.2. Un procedimiento de ejemplo
12.2.3. Ejecución de un procedimiento almacenado
12.2.4. Corrección de errores
12.2.5. Uso de parámetros
12.3. Funciones
12.3.1. Una función de ejemplo
12.3.2. Uso de funciones
12.4. Desencadenadores
12.4.1. Definición de un desencadenador
12.4.2. Un desencadenador de ejemplo
12.4.3. Uso de un desencadenador
12.5. Resumen
13. El lenguaje Transact-SQL
13.1. Introducción
13.2. Variables y expresiones
13.2.1. Asignación y recuperación de valores
13.2.2. Operadores
13.2.3. Variables globales
13.3. Control del flujo de ejecución
13.3.1. Ejecución condicional
13.3.2. Ejecución repetitiva
13.3.3. Desvío del flujo de ejecución
13.4. Cursores
13.4.1. Declaración de un cursor
13.4.2. Operaciones sobre un cursor
13.4.3. Apertura y cierre del cursor
13.4.4. Número de filas resultantes y tipos de cursor
13.4.5. Recorrer las filas de un cursor
13.5. Tablas en memoria
13.5.1. Funciones que devuelven tablas
13.6. Resumen
14. El lenguaje PL/SQL
14.1. Introducción
14.2. Variables y expresiones
14.2.1. Asignación y recuperación de valores
14.2.2. Salida de resultados en SQL*Plus
14.2.3. Operadores
14.2.4. Tipos de filas y columnas
14.2.5. Constantes
14.3. Control del flujo de ejecución
14.3.1. Ejecución condicional
14.3.2. Ejecución repetitiva
14.3.3. Desvío del flujo de ejecución
14.4. Cursores
14.4.1. Declaración de un cursor
14.4.2. Apertura y cierre del cursor
14.4.3. Atributos de un cursor
14.4.4. Recorrer las filas de un cursor
14.5. Tablas en memoria
14.5.1. Definición de una tabla en memoria
14.5.2. Acceso a las filas y columnas de la tabla
14.5.3. Trabajando con tablas en memoria
14.6. Resumen
15. El lenguaje SQL/PSM
15.1. Introducción
15.2. Procedimientos almacenados
15.2.1. Recepción de parámetros
15.3. Funciones
15.3.1. Declaración de variables
15.4. Desencadenadores
15.4.1. Acceso a filas en el desencadenador
15.5. Estructuras de control
15.6. Resumen
16. Introducción a ORDBMS
16.1. Introducción
16.2. Conceptos teóricos
16.2.1. Características ORDBMS de Oracle
16.2.2. Modelo lógico de la solución
16.2.3. Obtención del modelo de datos
16.2.4. Explotación de la base de datos
16.3. Implementación
16.3.1. Definición de tipos
16.3.2. Implementación de métodos
16.3.3. Creación de tablas
16.4. Manual de instalación
16.4.1. Instalación
16.4.2. Desinstalación
16.5. Manual de usuario
16.5.1. Inserción de datos
16.5.2. Consultas
16.6. Resumen
Índice alfabético
El lenguaje SQL es un estándar universal para el tratamiento de datos, independientemente de dónde residan éstos, y su conocimiento es importante para muchos profesionales y usuarios de ordenadores, desde los diseñadores Web, que necesitan saber cómo extraer la información de una base de datos, hasta los usuarios de ofimática que operan con aplicaciones como Access, pasando por programadores y administradores de bases de datos.
Esta guía representa una vía rápida para aprender a trabajar con SQL, conociendo gran parte de las sentencias de este lenguaje y aprendiendo a usarlas en ejemplos prácticos utilizando Microsoft Access, Oracle, SQL Server y MySQL. Tras una introducción al modelo de datos relacional, el más usado en la actualidad, se explica cómo ejecutar consultas sencillas, cómo aplicar filtros y realizar búsquedas, cómo ordenar los datos, efectuar uniones entre consultas o agrupar la información por categorías.
Se aborda además el estudio de todas las sentencias relacionadas con la manipulación de los datos, así como las que permiten definir las estructuras de las bases de datos. Finalmente, se describe el proceso de creación de elementos más complejos como los desencadenadores, funciones y procedimientos almacenados, usando para ello los lenguajes derivados de SQL: Transact-SQL, PL/SQL y SQL/PSM.
Aprenderá a completar cualquier operación sobre una base de datos, conociendo la sintaxis estándar de SQL y en muchos casos los aspectos específicos de cada producto.