Contenido verificado asociado a este RA
Introducción a la Manipulación de Datos (DML) y Herramientas
Esta unidad introduce el Lenguaje de Manipulación de Datos (DML) y las herramientas gráficas para modificar información en bases de datos. Se cubren las sentencias básicas INSERT, UPDATE y DELETE, y se explora su aplicación práctica.
Inserción de Datos desde Consultas y Mantenimiento de la Integridad
Esta unidad profundiza en la inserción de datos a partir de los resultados de una consulta y aborda la importancia de la integridad y consistencia de la información. Se explican las medidas para asegurar que los datos sean válidos y coherentes.
Guiones de Sentencias y Transacciones
Esta unidad trabaja el diseño de guiones SQL para automatizar tareas complejas (CE principal) y el uso de transacciones para garantizar la fiabilidad de los datos. Se explican las propiedades ACID, las sentencias de control transaccional (COMMIT, ROLLBACK, SAVEPOINT) y cómo anular cambios total o parcialmente, usando ejemplos coherentes en un único dialecto SQL (PostgreSQL) para evitar confusiones de sintaxis entre motores.
Políticas de Bloqueo de Registros y Concurrencia
Esta unidad explora cómo los sistemas de bases de datos gestionan el acceso concurrente a los datos mediante políticas de bloqueo. Se identifican los diferentes tipos de bloqueos y sus efectos en el rendimiento y la consistencia, incluyendo el concepto de interbloqueo (deadlock).
Conceptos clave
DMLINSERTUPDATEDELETEHerramientas gráficas de SGBDCláusula WHEREINSERT INTO SELECTIntegridad de datosConsistencia de datosPRIMARY KEYFOREIGN KEYUNIQUECHECKNOT NULLAcciones referenciales (CASCADE, SET NULL, RESTRICT)Guion SQL (script)TransacciónPropiedades ACID
Errores que conviene evitar
- Omitir la cláusula WHERE en UPDATE o DELETE: Causa la modificación o eliminación de *todas* las filas de la tabla, lo que puede ser catastrófico. Corrección: Siempre verificar la condición WHERE antes de ejecutar, o usar un entorno de desarrollo que pida confirmación.
- Error de sintaxis en INSERT: No coincidir el número de columnas con el número de valores, o usar tipos de datos incorrectos. Corrección: Revisar la definición de la tabla y la sintaxis de la sentencia, asegurando la correspondencia y el tipo de dato.
- Intentar insertar un valor nulo en una columna NOT NULL: Causa un error de restricción. Corrección: Asegurarse de proporcionar un valor para las columnas NOT NULL o modificar la definición de la columna si es apropiado.
- Violación de clave foránea al insertar/actualizar: Causa un error de integridad referencial. Corrección: Asegurarse de que el valor de la clave foránea exista en la tabla padre antes de la operación.
- Violación de clave primaria o única: Causa un error de duplicidad. Corrección: Verificar si el registro ya existe o generar un valor único si es necesario.
- Ignorar las acciones referenciales al eliminar: Causa errores si hay restricciones RESTRICT, o eliminación inesperada de datos si es CASCADE. Corrección: Entender y planificar el impacto de las acciones referenciales antes de eliminar registros.
- No usar transacciones para operaciones lógicamente indivisibles: causa inconsistencias si una parte falla. Corrección: agrupar las operaciones relacionadas en una transacción para asegurar atomicidad.
- Olvidar el COMMIT: los cambios no se hacen permanentes ni visibles para otras sesiones. Corrección: finalizar siempre la transacción con COMMIT o ROLLBACK explícito.