Píldora TAI CXVII; Reglas ACID y su Importancia en Bases de Datos

🧠 ¿Qué es un SGBD y qué servicios debe ofrecer?

🔹 Modelo Relacional (Codd, 1970) – 8 servicios fundamentales

  1. Almacenamiento de datos: Acceso, actualización y ocultamiento de la estructura física.
  2. Catálogo de datos: Diccionario con descripciones accesibles al usuario.
  3. Transacciones: Ejecución atómica de operaciones (todo o nada).
  4. Concurrencia: Acceso simultáneo seguro a la base de datos.
  5. Recuperación: Mecanismo de recuperación ante fallos.
  6. Integridad: Garantía de validez y consistencia de los datos.
  7. Seguridad: Accesos autorizados y protección contra ataques.
  8. Interfaces múltiples: Interacción mediante lenguajes y herramientas externas.

🛡️ Reglas ACID: Garantías para las transacciones

ReglaSignificado
AtomicidadTodo o nada: la transacción completa o no se hace.
ConsistenciaMantiene la integridad antes y después.
Aislamiento (Isolation)Una transacción no ve los efectos de otras hasta que terminen.
DurabilidadUna vez confirmada (COMMIT), los cambios persisten.

🛠️ Servicios adicionales esperados en un SGBD

  • 🔄 Independencia entre programas y datos: Permite modificar vistas o estructuras sin cambiar el software.
  • 🧩 Herramientas de administración: Para backup, recuperación, monitoreo, etc.

🔐 Integridad de los datos

Un SGBD debe garantizar:

  • Validez y coherencia de los datos.
  • Reglas de integridad: restricciones, claves primarias, claves foráneas, etc.

🔗 Concurrencia y control de accesos

Cuando múltiples usuarios acceden simultáneamente, deben evitarse problemas como:

  • Pérdida de actualizaciones.
  • Lecturas inconsistentes.
  • Acceso a datos sucios.

🔒 Tipos de bloqueos

TipoDescripciónEjemplo
Shared (S)Bloqueo compartido para lectura.SELECT
Exclusive (X)Exclusivo para actualización.INSERT, UPDATE
ExplícitoDefinido por el programador.SELECT FOR UPDATE

🔁 Granularidad del bloqueo: Entre mayor sea (más grande el ítem), menor será la concurrencia.


🧩 Protocolos de concurrencia

🔹 Bloqueo binario

  • Estados: Bloqueado (1) o Desbloqueado (0).
  • Muy restrictivo.

🔹 Bloqueo compartido/exclusivo

  • Estados: Lectura compartida, escritura exclusiva, o desbloqueado.

🔹 Protocolo de dos fases

  1. Fase de expansión: Se adquieren bloqueos.
  2. Fase de contracción: Se liberan bloqueos (no se adquieren nuevos).

👉 Ventaja: Garantiza serialización.

❌ Problemas comunes:

  • Interbloqueo (Deadlock): Transacciones esperando indefinidamente.
  • Inversión de prioridades (Livelock): Nunca se ejecuta una transacción.

🕓 Alternativas: Control por marcas de tiempo

  • Cada transacción recibe un timestamp (TS).
  • El SGBD ordena operaciones según sus marcas para mantener la consistencia serial.

🔑 Claves e integridad referencial

Tipo de claveDescripción
SuperclaveUno o más atributos que identifican una tupla de forma única.
Clave candidataSubconjunto mínimo de una superclave.
Clave primariaCandidata seleccionada como identificador único.
Clave alternativaClaves candidatas no elegidas como primaria.
Clave ajena (foránea)Atributo que referencia una clave primaria de otra tabla.
Clave compuestaCompuesta por varios atributos.
Clave externaPuede tener valores NULL.

✅ La integridad referencial asegura que los valores de una clave foránea existan en la tabla referenciada.


📌 Conclusión

Los SGBD modernos no solo almacenan datos, sino que también:

  • Aseguran la integridad, seguridad y concurrencia.
  • Proveen herramientas administrativas.
  • Permiten transacciones confiables bajo reglas ACID.
  • Soportan sistemas complejos con múltiples usuarios de forma eficiente.

Respuesta

  1. […] Píldora TAI CXVII; Reglas ACID y su Importancia en Bases de Datos – Anacrolibrum […]

    Me gusta

Replica a Píldoras TAI de Anacrolibrum – Anacrolibrum Cancelar la respuesta