1. Libros
  2. SQL - Los fundamentos del lenguaje (con ejercicios corregidos) (2ª edición)

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

  • Acceso ilimitado 24/7
  • Todos los libros online de ENI
  • Novedades todos los meses
  • Acceso 100% online
  • Disponible
  • Envío gratis a partir de 25 € de compra
  • Versión online gratis
  • Acceso gratuito a todos nuestros libros online durante 1 hora por toda compra
  • Consulta inmediata
  • Versión HTML online
  • Acceso ilimitado 24/7

Presentación

Este libro sobre los fundamentos del lenguaje SQL se dirige a desarrolladores e informáticos principiantes que deban trabajar con un Sistema Gestor de Bases de Datos Relacionales (SGBDR) para almacenar y manipular datos. Su objetivo es describir los principales comandos más utilizados del lenguaje SQL (independientemente de las variaciones realizadas por los editores de los diferentes SGBDR) para permitir al lector hacerse cargo rápidamente de una base de datos relacional y ser capaz de crear tablas, de consultarlas, de modificarlas, de insertar y suprimir registros.

El libro comienza con una breve historia sobre la creación de la norma SQL y algunas nociones sobre el modelo relacional. A continuación, cada capítulo aborda una subdivisión de SQL; la creación y la manipulación de tablas, y a continuación la gestión de los datos de estas tablas, incluyendo las últimas evoluciones como las funciones de paginación. El autor continúa con la seguridad de los datos y algunas nociones sobre transacciones. A continuación presenta la programación con algunos elementos de PL/SQL y el estudio de los triggers. El libro termina abordando algunos aspectos un poco más complicados, como los cambios masivos, las importaciones y exportaciones de tablas, las nociones de rendimiento e incluso, los objetos de sistema.

Los ejemplos que se utilizan en este libro se han realizado con la versión Oracle 12c (12.1.0.2) DB Developer VM, SQL Server 2016 SP1 Developer Edition, la versión MySQL 5.7.11, PostgreSQL en versión 9.5.6 y se pueden descargar del sitio web www.ediciones-eni.com.


Los capítulos del libro:
Preámbulo – Introducción – La definición de los datos (LDD) – La manipulación de los datos (LMD) – Las funciones – La seguridad de los datos (DCL) – El control de transacciones (TCL) – La programación – Profundizando – Los errores más comunes – Anexos

Índice

  • 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
        • 4.2.10 Cálculo de agregados
    • 5. Los sistemas de gestión de bases de datos que utilizan SQL
  • 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
    • 3. La eliminación de tablas
      • 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)
      • 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
  • 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
      • 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
        • 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
      • 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
  • Las funciones
    • 1. Introducción
    • 2. Las funciones numéricas
      • 2.1 ABS: valor absoluto
      • 2.2 Valor ASCII de un carácter
      • 2.3 COS: coseno - SIN: seno
      • 2.4 LOG (<número base>,<columna>): logaritmo de la columna seleccionada en la base indicada
      • 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
    • 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
  • La seguridad de los datos (DCL)
    • 1. Introducción
    • 2. Por qué definir derechos
    • 3. Crear una conexión
    • 4. Crear un usuario
    • 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
  • 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)
      • 2.7 Los puntos de sincronización (SAVEPOINT)
      • 2.8 Ejemplo de utilización de los puntos de sincronización
  • 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
    • 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
  • 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
      • 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
    • 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
  • 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)
  • Anexos
    • 1. Resumen de los principales comandos
      • 1.1 Los principales comandos del LDD (lenguaje de definiciónde datos) o DDL (Data Definition Language)
      • 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)
      • 1.4 Los principales comandos del LCT (lenguaje de control de transacciones) o TCL (Transaction Control Language)
      • 1.5 La creación de procedimientos y funciones
    • 2. Funciones SQL presentadas en este libro
    • 3. Glosario
    • índice 387

Autores

Anne-Christine BISSONMás información

Anne-Christine BISSON es consultora independiente en informática decisional. Esta experta aconseja sobre el diseño de bases y almacenes de datos en diferentes SGDB. Con este objetivo, manipula y agrega datos a partir de fuentes diversas para usarlos de manera sintética en empresas y en la administración, pertenecientes a diferentes sectores. También es formadora y con este libro amplía su voluntad de compartir sus conocimientos sobre SQL con sus lectores.

Eric GODOCMás información

Eric GODOC es Director de proyectos informáticos en un departamento de sistemas de información. Sus proyectos entorno al desarrollo y migraciones de aplicaciones en grandes empresas le han reportado una gran experiencia en la manipulación de bases de datos relacionales. Con este libro ofrece a los lectores su experiencia, y sobre todo, proporciona los medios para aprender las bases del lenguaje SQL. Su objetivo es que puedan responder a la mayoría de necesidades que puedan tener en la utilización de una base de datos relacional, sea cual sea.

Características

  • Nivel Medio a Experto
  • Número de páginas 403 páginas
  • Publicación julio 2018
    • Encuadernación rústica - 17 x 21 cm
    • ISBN: 978-2-409-01493-2
    • EAN: 9782409014932
    • Ref. ENI: RIT3SQL
  • Nivel Medio a Experto
  • Publicación julio 2018
    • HTML
    • ISBN: 978-2-409-01494-9
    • EAN: 9782409014949
    • Ref. ENI: LNRIT3SQL

Descargas

Al completar este formulario, acepta recibir información y comunicaciones comerciales sobre nuestros productos y servicios. Puede darse de baja de nuestra newsletter en cualquier momento. Si desea conocer más información acerca de nuestra política de protección de datos, pulse aquí.
  • Descargar los ejemplos del libro (24 Ko)