Contenido verificado asociado a este RA
Introducción a la Manipulación de Datos (DML) y Herramientas
Esta unidad introduce las sentencias fundamentales del Lenguaje de Manipulación de Datos (DML) para interactuar con la información en una base de datos, así como las herramientas gráficas más comunes para realizar estas operaciones.
Operaciones DML Avanzadas y Creación de Guiones
Esta unidad profundiza en la aplicación práctica de las sentencias DML para insertar, actualizar y borrar datos, incluyendo la inserción de resultados de consultas y la creación de guiones SQL para automatizar tareas complejas.
Transacciones y Control de Concurrencia
Esta unidad explica el concepto de transacciones en bases de datos, su importancia para la integridad de los datos y cómo se utilizan para agrupar operaciones, permitiendo anular cambios y gestionar la concurrencia.
Integridad y Consistencia de la Información
Esta unidad aborda las medidas y técnicas para asegurar la integridad y consistencia de los datos en una base de datos, combinando restricciones, transacciones y buenas prácticas de diseño.
Conceptos clave
DML (Data Manipulation Language)INSERTUPDATEDELETECláusula WHEREHerramientas gráficas de bases de datosINSERT INTO ... SELECT FROMGuiones SQL (Scripts)Automatización de tareasConsistencia de datosTransacciónACID (Atomicidad, Consistencia, Aislamiento, Durabilidad)COMMITROLLBACKSAVEPOINTBloqueo compartidoBloqueo exclusivoInterbloqueo (Deadlock)
Errores que conviene evitar
- Omitir la cláusula WHERE en UPDATE o DELETE: Causa la modificación o eliminación de todos los registros de la tabla. Corrección: Siempre verificar la condición WHERE antes de ejecutar, utilizando SELECT con la misma condición para previsualizar los registros afectados.
- No especificar columnas en INSERT: Puede llevar a errores si el orden de los valores no coincide con el orden de las columnas en la tabla. Corrección: Especificar explícitamente las columnas en la sentencia INSERT para mayor claridad y robustez.
- Incompatibilidad de tipos o número de columnas en INSERT INTO ... SELECT: La consulta SELECT debe coincidir exactamente con las columnas de la tabla destino. Corrección: Verificar la estructura de ambas tablas y ajustar la consulta SELECT.
- Errores de sintaxis en guiones largos: Un pequeño error puede detener la ejecución. Corrección: Utilizar un editor SQL con resaltado de sintaxis, ejecutar en bloques y añadir comentarios.
- Olvidar COMMIT o ROLLBACK: Puede dejar transacciones abiertas, causando bloqueos y consumo de recursos. Corrección: Asegurar que cada START TRANSACTION tenga un COMMIT o ROLLBACK correspondiente, usando bloques try-catch-finally en aplicaciones.
- Transacciones demasiado largas: Aumenta la probabilidad de interbloqueos y reduce la concurrencia. Corrección: Diseñar transacciones lo más cortas y eficientes posible.
- Ignorar errores de restricciones: No manejar las excepciones cuando se violan restricciones de integridad. Corrección: La aplicación debe capturar y manejar estos errores, informando al usuario o registrando el problema.
- Diseño deficiente de acciones referenciales: Elegir ON DELETE CASCADE sin comprender sus implicaciones, lo que puede llevar a pérdida masiva de datos. Corrección: Analizar cuidadosamente el impacto de cada acción referencial en el modelo de negocio.