SQL Los fundamentos del lenguaje (con ejercicios corregidos) (2ª edición)

Documentos relacionados
SQL Los fundamentos del lenguaje

Curso Universitario en Creación y Gestión de Base de Datos SQL + 4 Créditos ECTS

Creación y Gestión de Base de Datos SQL (Curso Online Homologado BBDD SQL con Titulación Universitaria con 4 Créditos ECTS)

Curso en Creación y Gestión de Base de Datos SQL (Certificación Universitaria + 4 Créditos ECTS)

Curso SQL. Gestor de Bases de Datos Relacionales

Master en Arquitectura de Software + Titulación Universitaria

Introducción 1 Recuperación de Datos mediante la Sentencia SQL SELECT

FUNDAMENTOS ORACLE 12C

Master en Bases de Datos y Lenguajes Estructurados + Titulación Universitaria

Master en Administración de Bases de Datos: SGBD, SQL + Titulación Universitaria

SQL Oracle 12c. Este curso le permitira saber y conocer:

Oracle Fundamentos. Programa de Estudio.

Oracle Fundamentos. Programa de Estudio.

Master Experto en Base de Datos + Prácticas en Gestión de Bases de Datos + Titulación Universitaria en SQL Server 2014

Oracle Database 12c SQL and PLSQL Fundamentals

Master en Bases de Datos y Lenguajes Estructurados + Titulación Universitaria

Analista Programador PHP Javascript + Titulación Universitaria

Máster Experto en Base de Datos + Prácticas en Gestión de Bases de Datos

Capítulo 1: Modelo conceptual

ÍNDICE INTRODUCCIÓN...17

ADMINISTRACION DE ORACLE 9i Guía de estudio (OCA) TEMA 1

Manual Aprendiendo Practicando Oracle SQL (Spanish Edition) Click here if your download doesn"t start automatically

INDICE CARTAS DESCRIPTIVAS S3

Anexo 3 COMPONENTES DE SQL SERVER. Los DDL (Data Definition Languaje) que permiten crear y definir nuevas

ÍNDICE. Introducción... XVII. Capítulo 1. Oracle 10g y el Grid Computing... 1

ÍNDICE. Introducción... Capítulo 1. Características, instalación, inicio y entorno de trabajo... 1

Guía práctica SQL. (c) Francisco Charte Ojeda

Master Experto en Base de Datos + Prácticas en Gestión de Bases de Datos + Titulación Universitaria en SQL Server 2014

Master en Oracle, Expert en BBDD + Titulación Universitaria+ Instalación Gratuita + Proyecto Final

Objetivos: Descripción del curso. Curso: Dirigido a: INTRODUCCIÓN A SQL - ORACLE UNIVERSIDAD NACIONAL DE INGENIERÍA

ÍNDICE PRIMERA PARTE... 17

Objetivos y Temario CURSO MySQL 5

CONOCIMIENTOS DE CONCEPTOS BASES DE DATOS

Programación de Base de Datos con SQL Duración: 25 Horas Código Sence:

ESCUELA SUPERIOR POLITECNICA DEL LITORAL

ÍNDICE INTRODUCCIÓN...13

8 ACCESS CURSO PRÁCTICO RA-MA

Introducción a Base de Datos

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA

En este curso se presenta un análisis profundo de la base de datos MySQL para los sistemas operativos Windows y Linux.

8 SQL SERVER 2008 RA-MA

El SQL es un lenguaje estándar de programación para el acceso a bases de datos.

Programación con SQL Server

Oracle 11g SQL. Curso práctico de formación. Antolín Muñoz Chaparro

20761 Querying Data with Transact-SQL

Programación con SQL Server

Modulo I: Introducción Gestores de Bases De Datos

CC BASES DE DATOS PRIMAVERA Clase 7: SQL (II) Aidan Hogan

SQL Server SQL, Transact SQL Diseño y creación de una base de datos (con ejercicios prácticos corregidos)

SQL Server SQL, Transact SQL Diseño y creación de una base de datos

Administración y Análisis de Base de Datos con Microsoft SQL Server

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 2014-II SÍLABO

ÍNDICE. Capítulo 1. Características, novedades y entorno de trabajo...13

DESCRIPCIÓN ESPECÍFICA NÚCLEO: Núcleo Sector Comercio y Servicios.

PRECIO: 350 * * Materiales didácticos, titulación oficial y gastos de envío incluidos (internacionales se presupuestará aparte)

Índice general Prácticas Propuestas Resumen Test de repaso Comprueba tu aprendizaje...

Sistemas y Aplicaciones Informáticas

: COMPUTACIÓN E INFORMATICA : Ingeniería de Software Ingeniería de Redes y Comunicaciones : Administración de Bases de Datos I : T-INF127

Oracle Database 11g: Conceptos Fundamentales de SQL y PL/SQL Nuevo

Bases de Datos 1. Teórico: Structured Query Language

Tema 4. DML (Parte I)

Oracle Database: Introducción a SQL

Base de Datos Oracle 10g: Introducción a SQL Código: D Duración: 5 días (40 horas)

INTRODUCCIÓN CAPÍTULO 1. ENTORNO DE TRABAJO...

Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando su:

LENGUAJE DE CONSULTA ESTRUCTURADO (SQL)

1. Lenguaje de Definición de Datos. 2. Lenguaje de Manipulación de. Datos. M. C. Gustavo Alfonso Gutiérrez Carreón

Introducción a SQL (DDL)

Técnico en Sistemas de Almacenamiento

PHP y MySQL Domine el desarrollo de un sitio Web dinámico e interactivo (3ª edición)

ORACLE 10g. Descripción A QUIEN VA DIRIGIDO?

ORACLE 11g &12c Developer PLSQL

ADMINISTRACION DE BASES DE DATOS EN ORACLE

Introducción a SQL Oracle Database 12c

MySQL 5 (versiones 5.1 a 5.6) Guía de referencia del desarrollador

Introducción a Oracle PL / SQL 12c

Guía del Curso Curso de Bases de Datos Relacionales

SQL SERVER Curso Teórico-Práctico

Unidad III. Bases de Datos

Tutorial MySql - 1 -

RESUMEN SQL. Tipo de coincidencia Modelo Planteado Coincide No coincide. Varios caracteres 'ab*' 'abcdefg', 'abc' 'cab', 'aab'

Un proyecto de IBM llamado Sistem/R construye un prototipo simple llamado SQUARE que después se transformó en SQL.

Técnico en Tratamiento y Manipulación de Datos. Informática y Programación

PROGRAMAS DE ESTUDIO FORMATO 7 INTRODUCCIÓN A SQL. Área de Formación Profesional

Curso Querying Microsoft SQL Server 2014 (20461)

Curso Universitario en Creación y Gestión de Base de Datos SQL + 4 Créditos ECTS. Más información en: (+34)

UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES

Objetivos del curso sobre fundamentos de bases de datos - Examen Oracle Database Foundations

Oracle 12c SQL, PL/SQL, SQL*Plus

SERVICIO NACIONAL DE APRENDIZAJE SENASOFT CAUCA 2013 CATEGORIA: BASES DE DATOS. Diseño y Desarrollo de Bases de Datos

Oracle PL/SQL. Programa de Estudio.

Tema 33. El lenguaje SQL

Master en Oracle, Expert en BBDD + Titulación Propia Universitaria+ Instalación Gratuita + Proyecto Final

SÍLABO POR COMPETENCIAS

CONOCIMIENTOS, COMPRENSIONES Y RECOLECCIÓN DE Pacto Pedagógico

Transcripción:

Introducción 1. Un poco de historia 2. Las normas SQL 3. Descripción rápida del modelo relacional 3.1 Principales conceptos del modelo relacional 3.2 Principales reglas 4. El álgebra relacional 4.1 Aspectos generales 4.2 Los operadores 4.2.1 Unión 4.2.2 Intersección 4.2.3 Diferencia 4.2.4 División 4.2.5 Restricción 4.2.6 Proyección 4.2.7 Producto cartesiano 4.2.8 Join 4.2.9 Cálculos elementales 11 13 14 15 17 19 19 20 20 21 22 22 24 24 25 25 1/16

4.2.10 Cálculo de agregados 5. Los sistemas de gestión de bases de datos que utilizan SQL 27 27 28 La definición de los datos (LDD) 1. Los tipos de datos 1.1 Numéricos 1.2 Caracteres 1.3 Fechas y horas 1.4 Los tipos binarios 1.5 Otros tipos de datos 2. La creación de las tablas 2.1 El comando CREATE 2.2 Tablas temporales 2.3 Los comentarios (COMMENT) 2.4 Crear una tabla a partir de una selección de datos 2.5 Utilización de sinónimos 2.6 Las secuencias 29 29 32 34 36 37 37 37 41 42 44 47 48 3. La eliminación de tablas 2/16

3.1 El comando DROP 4. La modificación de tablas 4.1 El comando ALTER 4.2 Renombrar una tabla (RENAME) 5. Vaciar una tabla 5.1 La cláusula TRUNCATE 6. Las vistas 6.1 Por qué utilizar vistas? 6.2 La creación de vistas 6.3 La eliminación de vistas 7. Los índices 7.1 Los índices y la norma SQL 7.2 Los diferentes métodos de organización de los índices 7.3 La creación de un índice 7.4 La eliminación de un índice 8. La integridad de los datos 8.1 La clave primaria (PRIMARY KEY) 51 51 52 53 54 55 55 56 56 57 61 61 61 62 64 66 66 3/16

8.2 La clave extranjera 8.3 Los valores por defecto (DEFAULT) 8.4 El valor NULL 8.5 La restricción de unicidad UNIQUE 8.6 La restricción de comprobación CHECK 8.7 Algunos consejos 9. Ejercicios de aplicación 10. Soluciones de los ejercicios de aplicación 67 68 70 72 73 73 74 75 77 La manipulación de los datos (LMD) 1. Introducción 2. La selección de datos 2.1 El comando de selección de datos SELECT 2.2 Las opciones DISTINCT y ALL 2.3 Las ordenaciones 2.4 Las opciones TOP, LIMIT, OFFSET o ROWNUM 2.5 La utilización de los alias 2.6 La cláusula de restricción WHERE 81 81 83 84 86 88 89 4/16

2.7 Los comentarios 2.8 Las uniones 2.8.1 La unión interna 2.8.2 La unión externa 2.8.3 La unión natural 2.8.4 La unión cruzada 2.8.5 Sintaxis de las diferentes formas de unión 2.9 Los agrupamientos (GROUP BY) 2.10 Las funciones utilizadas en un agrupamiento 2.10.1 Contar filas (COUNT) 2.10.2 Sumar valores (SUM) 2.10.3 Valores máximo y mínimo (MAX y MIN) 2.10.4 Media de valores (AVG) 2.10.5 La cláusula de restricción sobre una agrupación (HAVING) 2.11 Las instrucciones de condición CASE e IIF 2.12 La concatenación 2.13 La instrucción de opción (CHOOSE) 2.14 Resumen de las posibles sintaxis del SELECT 2.15 Los operadores de conjuntos 2.15.1 El operador UNION 2.15.2 El operador INTERSECT 92 93 93 95 97 100 101 102 103 106 107 109 109 111 111 112 114 116 117 117 117 5/16

2.15.3 El operador EXCEPT 2.16 Los operadores aritméticos 2.17 Los operadores de comparación 2.18 Los operadores lógicos 2.19 Cómo hacer una consulta: algunos consejos 2.20 Ejercicios sobre la selección de datos 2.20.1 Preguntas generales 2.20.2 Ejercicios de aplicación 3. La inserción de datos 3.1 El comando INSERT 3.2 Inserción a partir de otra tabla 3.3 Resumen de la sintaxis del INSERT 3.4 Ejercicios de inserción de datos 4. La eliminación de datos 4.1 El comando DELETE 4.2 Ejercicios sobre la eliminación de datos 5. La modificación de datos 5.1 El comando UPDATE 122 123 125 125 126 129 132 132 132 140 141 143 144 145 146 146 147 147 147 6/16

5.2 Ejercicios sobre la modificación de datos 6. Actuar sobre los datos a partir de otra tabla 6.1 La cláusula MERGE 7. Soluciones de los ejercicios 7.1 Soluciones de los ejercicios sobre la selección de datos 7.1.1 Preguntas generales 7.1.2 Ejercicios de aplicación 7.2 Soluciones de los ejercicios sobre la inserción de datos 7.3 Soluciones de los ejercicios sobre la eliminación de datos 7.4 Solución de los ejercicios sobre la modificación de datos 150 150 150 153 153 153 154 166 168 169 Las funciones 1. Introducción 171 2. Las funciones numéricas 2.1 ABS: valor absoluto 172 2.2 Valor ASCII de un carácter 172 2.3 COS: coseno - SIN: seno 173 2.4 LOG (<número base>,<columna>): logaritmo de la columna seleccionada en la base indicada 173 171 7/16

2.5 MOD(<columna>,<valor>): módulo 2.6 ROUND(<columna>,[<precisión>]): redondeo 2.7 SQRT: raíz cuadrada 3. Las funciones de gestión de fechas y horas 3.1 Fecha del día: CURRENT_DATE 3.2 Hora actual 3.3 Fecha y hora del día: CURRENT_TIMESTAMP 3.4 Los diferentes formatos de visualización de fechas 3.5 La manipulación de las fechas y las horas 4. Las funciones con cadenas de caracteres 4.1 Intercambio entre mayúsculas y minúsculas LOWER / UPPER / UCASE / LCASE 4.2 Eliminar los espacios a la derecha o izquierda de una cadena de caracteres: TRIM / LTRIM / RTRIM 4.3 Encontrar la posición de una cadena de caracteres en otra cadena: INSTR, CHARINDEX y POSITION 4.4 Agregar caracteres antes o después de una cadena: LPAD / RPAD 4.5 Extraer parte de una cadena de caracteres: SUBSTR 5. Las principales funciones de conversión 5.1 Transformar un numérico o una fecha en texto: TO_CHAR 5.2 Cambiar el tipo de una columna: CAST o CONVERT 174 174 175 175 176 177 178 179 186 192 192 193 195 196 197 198 198 199 8/16

6. Las funciones de paginación 6.1 Numeración secuencial y ordenación de filas 6.2 Distribución de filas en grupos numerados 6.3 Intervalo de valores de una fila a otra 7. Otras funciones 7.1 NVL: comprobar si una columna es null 7.2 Comprobar varios valores: COALESCE 7.3 Comparar dos columnas: NULLIF 8. Ejercicios 9. Soluciones de los ejercicios 200 200 202 203 204 204 205 206 207 208 La seguridad de los datos (DCL) 1. Introducción 2. Por qué definir derechos 3. Crear una conexión 4. Crear un usuario 213 213 221 221 9/16

5. Cambiar la contraseña de un usuario 6. Asignar derechos (GRANT) 6.1 Asignar derechos de manipulación de una tabla 6.2 Asignar derechos sobre los objetos de la base 6.3 Otros derechos 7. Prohibir el acceso (DENY) 7.1 Prohibir el acceso a algunos objetos de la base de datos 8. Eliminar derechos (REVOKE) 8.1 Eliminar derechos sobre la manipulación de una tabla 8.2 Eliminar derechos sobre los objetos de la base 9. Utilización de los roles 10. Eliminar un rol 11. Ejercicios 12. Soluciones de los ejercicios 223 224 224 229 232 235 235 235 235 236 237 238 239 239 10/16

El control de transacciones (TCL) 1. La problemática de los accesos concurrentes 1.1 Ilustración de accesos concurrentes 1.1.1 Ejemplo 1: actualizaciones simultáneas 1.1.2 Ejemplo 2: incoherencia de los datos después de una modificación de otro usuario 1.2 El mecanismo de bloqueo 2. Concepto de transacción 2.1 Definición de una transacción 2.2 Cómo evitar las incoherencias de datos 2.3 Implementación de un bloqueo 2.3.1 READ UNCOMMITTED 2.3.2 READ COMMITTED 2.3.3 REPEATABLE-READ 2.3.4 SERIALIZABLE 2.3.5 Sintaxis 2.4 Implementación de un bloqueo aplicativo 2.4.1 Cómo saber los bloqueos que tiene una tabla? 2.4.2 Cómo eliminar bloqueos que tenga una tabla? 2.5 Validación de las modificaciones (COMMIT) 2.6 Cancelación de las modificaciones (ROLLBACK) 243 243 243 245 246 247 248 248 248 249 249 249 250 250 251 252 254 256 257 11/16

2.7 Los puntos de sincronización (SAVEPOINT) 2.8 Ejemplo de utilización de los puntos de sincronización 257 258 La programación 1. Introducción 2. Sintaxis general 3. Los cursores 4. El control del flujo 4.1 El bucle WHILE 4.2 El bucle FOR 4.3 El bucle LOOP 4.4 Las estructuras condicionales CASE e IF 5. Las excepciones más utilizadas 6. La gestión de los errores en Transact SQL 7. Creación de un procedimiento almacenado 8. Creación de una función almacenada 263 263 268 272 272 275 278 279 282 282 284 291 12/16

9. Los packages 10. Compilación de un procedimiento, de una función o de un paquete 11. Eliminación de un procedimiento, de una función o de un paquete 12. Los triggers 12.1 Creación de un trigger de control y actualización en una tabla 12.2 Creación de un trigger de seguimiento de las modificaciones 293 297 298 298 302 305 Profundizando 1. Las subconsultas 1.1 Las subconsultas anidadas 1.2 Las subconsultas correlacionadas 2. Las importaciones y exportaciones de datos 2.1 Carga de datos masiva con SQL*Loader 2.2 La importación y exportación de tablas con Oracle 2.2.1 La exportación de tablas 2.2.2 La importación de tablas 2.3 Extraer los datos de una tabla a un archivo plano 2.4 Importar los datos de otro origen de datos 311 311 315 317 317 324 325 328 330 13/16

2.5 Importar los datos de un archivo XML 3. Algunos conceptos de rendimiento 3.1 Utilización de EXPLAIN PLAN 3.2 Utilización del paquete DBMS_XPLAN.DISPLAY 3.3 Optimización de las consultas mediante la utilización de HINTS 3.4 Conclusión 4. Las tablas del sistema 4.1 Tablas del sistema para tablas y columnas 4.1.1 Oracle 4.1.2 MySQL 4.1.3 SQL Server 4.2 Tablas del sistema para índices y vistas 4.2.1 Oracle 4.2.2 MySQL 4.2.3 SQL Server 4.3 El resto de tablas del sistema 4.3.1 Oracle 4.3.2 MySQL 4.3.3 SQL Server 333 333 335 335 338 339 341 341 342 342 342 342 343 343 343 343 344 344 344 345 14/16

5. Los metadatos, funciones y procedimientos de sistema de SQL Server 6. Algunos scripts útiles 6.1 Saber el tamaño real de una columna 6.2 Buscar y eliminar duplicados en una tabla 6.3 Mostrar el contenido de una tabla sin conocer su estructura 6.4 Generar comandos de inserción en una tabla a partir de un fichero Excel 345 346 346 347 348 350 Los errores más comunes 1. Introducción 2. Sobre el acceso a los datos (LDD/LMD) 3. Sobre las transacciones y las sesiones (TCL/DCL) 4. Sobre los componentes internos (memoria, sistema) 353 354 366 368 Anexos 1. Resumen de los principales comandos 1.1 Los principales comandos del LDD (lenguaje de definiciónde datos) o DDL (Data Definition Language) 371 371 15/16

1.2 Los principales comandos del LMD (lenguaje de manipulación de datos) o DML (Data Manipulation Language) 1.3 Los principales comandos del LCD (lenguaje de control de datos) o DCL (Data Control Language) 378 1.4 Los principales comandos del LCT (lenguaje de control de transacciones) o TCL (Transaction Control Language) 380 1.5 La creación de procedimientos y funciones 382 374 2. Funciones SQL presentadas en este libro 3. Glosario 384 385 índice 387 16/16