Portada » Informática » Fundamentos Esenciales de Bases de Datos: Diseño, SGBD y Propiedades ACID
La fase de diseño de una base de datos debería englobar tres etapas principales:
El SGBD ayuda a evitar que los datos se dupliquen innecesariamente, controlando la redundancia de los datos que era común porque diferentes programas creaban y modificaban archivos a lo largo del tiempo1.
Se logra separar los datos contenidos en los archivos de los programas que los manipulan. Esto resuelve la dependencia de los datos física-lógica que obligaba a modificar y probar todos los programas si cambiaba la estructura física de los datos.
El SGBD permite que todos los datos estén en un único repositorio. Esto soluciona la separación y aislamiento de los datos que ocurría al estar repartidos en varios archivos con distintos formatos, haciendo difícil su manipulación.
Los SGBD están diseñados para evitar la dificultad para el acceso concurrente, permitiendo a múltiples usuarios realizar sus tareas habituales con los datos mediante un conjunto coordinado de programas.
Los SGBD resuelven los problemas en la seguridad de los datos que se presentaban al ser difícil implantar restricciones a medida que las aplicaciones se añadían al sistema. El SGBD garantiza la seguridad6, y maneja diferentes perfiles de usuario y permisos específicos.
El éxito del SGBD reside en mantener la seguridad e integridad de los datos. Esto elimina los problemas de integridad de datos que requerían añadir un gran número de líneas de código en los programas para asegurar que los valores almacenados cumplieran con restricciones de consistencia3.
El SGBD proporciona herramientas específicas que no se encuentran en los sistemas de archivos48. Estas herramientas permiten crear y administrar la estructura de los datos, manipularlos (añadir, borrar, modificar o consultar), gestionar la comunicación, e incluso crear copias de seguridad y permitir su recuperación.
Una transacción en bases de datos es una unidad lógica de trabajo que agrupa una o varias operaciones (INSERT, UPDATE, DELETE, etc.) que deben ejecutarse como un todo: o se completan todas correctamente, o no se realiza ninguna.
Para asegurar que las transacciones sean confiables, los sistemas de bases de datos implementan las propiedades ACID, un conjunto de garantías que preservan la integridad y consistencia de los datos.
La transacción es indivisible:
No pueden quedar cambios parciales.
Tras finalizar la transacción, la base de datos debe quedar en un estado válido, respetando:
Una transacción no debe violar estas reglas.
Cada transacción debe ejecutarse como si fuera la única en el sistema. El nivel de aislamiento evita problemas como:
Los SGBD ajustan esto mediante niveles de aislamiento.
Una vez una transacción es confirmada (COMMIT), sus cambios perduran incluso ante fallos:
Se logra mediante técnicas como logs de recuperación, journaling, write-ahead logging, etc.
Cualquier SGBD ofrece la posibilidad de utilizar lenguajes específicos3. Estos lenguajes permiten a los usuarios especificar:
Estos lenguajes se clasifican en:
El Diccionario de Datos es el lugar donde se deposita la información referente a la totalidad de los datos que forman la base de datos. Contiene:
El gestor es la parte software del SGBD4. Su función principal es garantizar que el acceso y el almacenamiento de los datos sean correctos, seguros, íntegros y eficientes.
El gestor actúa como un intermediario entre el usuario y los datos, ya que proporciona una interfaz entre los datos almacenados y los programas de aplicación que se encargan de manipularlos.
En un SGBD, existen diferentes perfiles de usuario, y cada uno de ellos posee permisos concretos5. Generalmente, se realiza una distinción entre:
Las herramientas son aplicaciones que facilitan la administración y gestión del SGBD6. Estas herramientas permiten a los administradores:
