MI SQL
Cómo usar este libro 	 
Estructura del libro 	
Convenciones tipográficas 	
Introducción 	 
Breve historia del lenguaje SQL 	
Para qué puedo usar SQL 	
Herramientas para trabajar con SQL 	
Tipos de RDBMS 	
Bases de datos NoSQL 	
Capítulo 1. Bases de datos y el modelo relacional 	 
Modelos de bases de datos 	
Bases de datos relacionales 	
	Tablas y sus relaciones 	
	Filas y columnas 	
	Identificación de tablas, filas y columnas 	
	Meta-información sobre estructura de la base de datos 	
	Integridad de los datos 	
	Tratamiento de valores nulos 	
	Lenguajes de comunicación con la base de datos 	
	Tratamiento de conjuntos de datos 	
Normalización de bases de datos 	
	Primera forma normal 	
	Segunda y tercera forma normal 	
Resumen 	
Capítulo 2. Software RDBMS y herramientas de trabajo 	 
Microsoft Access 	
MariaDB (MySQL) 	
Oracle 	
SQL Server 	
SQL Fiddle 	
Resumen 	
Capítulo 3. Preparación de la base de datos de ejemplo 	 
Descarga del material asociado al libro 	
Microsoft Access 	
MariaDB 	
Oracle 	
SQL Server 	
SQL Fiddle 	
Estructura de la base de datos 	
Resumen 	
Capítulo 4. Consultas simples 	 
Estructura de una sentencia DML 	
La cláusula SELECT 	
	Sintaxis general 	
Obtener todo el contenido de una tabla 	
Selección de columnas 	
	Columnas con alias 	
Alias para las tablas 	
Exclusión de filas duplicadas 	
Resumen 	
Capítulo 5. Filtrado y búsqueda de datos 	 
Sintaxis de la cláusula WHERE 	
	Relaciones simples 	
	Relaciones compuestas 	
	Agrupar expresiones con paréntesis 	
Predicados de la cláusula WHERE 	
	Búsqueda de patrones de caracteres 	
	Rangos y listas de valores 	
	Búsqueda de valores nulos 	
	Predicados con subconsultas 	
Adición de columnas calculadas 	
	Cálculos numéricos 	
	Operaciones con caracteres 	
	Operaciones con fechas 	
	Análisis y sustitución de valores 	 
Resumen 	
Capítulo 6. Consultas en múltiples tablas y vistas 	 
Introducción 	
Operaciones de conjuntos 	
	Unión de conjuntos 	
	Intersección de conjuntos 	
	Diferencia de conjuntos 	
	Producto cartesiano 	
Combinación de tablas (JOIN) 	
	Combinaciones por equivalencia 	
	Combinaciones no exclusivas 	
	Otros tipos de combinaciones entre tablas 	
	Resumen de tipos de uniones 	
Reutilización de consultas complejas 	
	Definición de una vista 	
	Uso de una vista 	
	Otras operaciones con vistas 	
Resumen 
	
Capítulo 7. Ordenar y agrupar los resultados 	 
Ordenar las filas 	
	La cláusula ORDER BY 	
	Orden ascendente y descendente 	
	Ordenar por varias columnas 	
	Referencias a columnas derivadas 	
Agrupación de resultados 	
	La cláusula GROUP BY 	
	Funciones de agregación 	
	Funciones de agregado y columnas derivadas 	
	Uso de las funciones de agregado sin GROUP BY 	
	Filtrado de las filas agrupadas 	
Resumen 
	
Capítulo 8. Uso de funciones predefinidas en consultas SQL 	
Categorías de funciones 	
Funciones integradas 	
	Particularidades de Oracle 	
	Particularidades de MySQL - MariaDB 	
	Particularidades de SQL Server 	
	Particularidades de Access 	
Funciones de cadena 	 
	Longitud de la cadena 	 
	Eliminación de caracteres sobrantes 	 
	Conversiones de caracteres 	 
	Posición de una cadena en otra 	 
Funciones de fechas 	 
Funciones numéricas 	 
	Redondeo y valor absoluto 	 
	Raíces y potencias 	 
	Otras funciones matemáticas 	 
Otras funciones de SQL 	 
Resumen 
	 
Capítulo 9. Inserción de nuevos datos 	 
La sentencia INSERT 	 
	Inserción de valores por posición 	 
	Inserción de valores por nombre de columna 	 
	Obtener la estructura de una tabla 	 
Valores por defecto y valores nulos 	 
Inserciones y subconsultas 	 
	Generación automática de códigos 	 
	Producción de contenido 	 
Confirmación y rechazo de cambios 	 
Resumen 
	 
Capítulo 10. Actualización de datos 	 
Introducción 	 
Modificación de datos 	 
	Cambiar una columna de una fila 	 
	Cambiar varias columnas de una fila 	 
	Modificación de datos en varias filas 	 
	Uso de expresiones en la asignación 	 
	Valores nulos y por defecto 	 
Eliminación de filas 	 
Fusión de datos (MERGE) 	 
Actualización de datos y transacciones 	 
Resumen 
	 
Capítulo 11. Crear, modificar y eliminar tablas de una base de datos 	 
Cómo definir una nueva tabla 	 
	Tipos de datos 	 
	Introducción de restricciones 	 
	Valores por defecto 	 
	Crear una tabla a partir de otra 	 
Eliminación de tablas 	 
Modificar la estructura de una tabla 	 
	Añadir y eliminar columnas 	 
	Modificar una columna 	 
	Añadir y eliminar restricciones 	 
Tablas temporales 	 
Columnas virtuales 	 
Resumen 
	 
Capítulo 12. Control de acceso a los datos 	 
Otorgar privilegios sobre una base de datos 	 
	Conceder permisos generales 	
	Concesión de privilegios específicos 	
	Permisos sobre columnas individuales 	
	Delegación de los privilegios 	
Revocación de privilegios 	
Transacciones, concurrencia y propiedades ACID 	
	Atomicidad 	
	Consistencia 	
	Aislamiento 	
Resumen 
	
Capítulo 13. Vistas e índices 	 
Definición y uso de vistas 	
	Proyección (Filtrado de columnas) 	
	Selección (Filtrado de filas) 	
	Vistas con columnas derivadas 	
	Actualización de datos a través de una vista 	
	Modificar y eliminar vistas 	
Creación de índices 	
Resumen 	
Capítulo 14. Procedimientos, funciones y desencadenadores 	 
Procedimientos almacenados 	
	Definir un procedimiento almacenado 	
	Un procedimiento de ejemplo 	
	Ejecución de un procedimiento almacenado 	
	Corrección de errores 	 
	Uso de parámetros 	 
Funciones 	 
	Una función de ejemplo 	 
	Uso de funciones 	 
Desencadenadores 	 
	Definición de un desencadenador 	 
	Un desencadenador de ejemplo 	 
	Uso de un desencadenador 	 
Resumen 
	 
Capítulo 15. Introducción a T-SQL 	 
Variables y expresiones 	 
	Asignación y recuperación de valores 	 
	Operadores 	 
	Variables globales 	 
Control del flujo de ejecución 	 
	Ejecución condicional 	 
	Ejecución repetitiva 	 
	Desvío del flujo de ejecución 	 
Cursores 	 
	Declaración de un cursor 	 
	Operaciones sobre un cursor 	 
	Apertura y cierre del cursor 	 
	Número de filas resultantes y tipos de cursor 	 
	Recorrer las filas de un cursor 	 
Tablas en memoria 	 
Funciones que devuelven tablas 	 
Resumen 
	 
Capítulo 16. Introducción a PL/SQL 	 
Variables y expresiones 	
	Asignación y recuperación de valores 	
	Salida de resultados en SQL Plus y Oracle SQL Developer 	
	Operadores 	
	Tipos de filas y columnas 	
	Constantes 	
Control del flujo de ejecución 	
	Ejecución condicional 	
	Ejecución repetitiva 	
	Desvío del flujo de ejecución 	
Cursores 	
	Declaración de un cursor 	
	Apertura y cierre del cursor 	
	Atributos de un cursor 	
	Recorrer las filas de un cursor 	
Tablas en memoria 	
	Definición de una tabla en memoria 	
	Acceso a las filas y columnas de la tabla 	
	Trabajando con tablas en memoria 	
Resumen 
	
Capítulo 17. Introducción a SQL 
SQL es el lenguaje estándar para el tratamiento de datos en ordenadores. Tanto si somos usuarios de una aplicación de ofimática (Access por ejemplo) como si nuestro objetivo es administrar servidores de datos o desarrollar aplicaciones, es imprescindible que conozcamos SQL.
El contenido cada uno de los veinte capítulos en que se estructura este libro sigue un enfoque didáctico, con explicaciones claras y concisas, ofreciendo al lector abundantes ejemplos y ejercicios propuestos que ayudan a reafirmar el proceso de aprendizaje.
Además del lenguaje estándar SQL, también se introducen derivados de este como T-SQL, PL/SQL y SQL/PSM, muy difundidos y que le permitirán aprovechar al máximo las posibilidades de SQL Server, Oracle y MySQL/MariaDB, respectivamente. Asimismo, podrá conocer las diferencias entre SQL y NoSQL, todo ello desde una perspectiva práctica.
Al finalizar la lectura de este libro estará en disposición de 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.