Fundamentos de Bases de Datos Relacionales: Normalización, Índices y RDBMS

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 4,73 KB

Tercera Forma Normal (3FN)

La Tercera Forma Normal (3FN) establece que una columna que no forme parte de la clave principal no puede depender de columnas que no sean parte de la clave principal. Por ejemplo, si la columna 'Provincia' depende solo de la columna 'Dirección', es necesario crear una tabla separada para registrar los datos de las direcciones:

6 Índices

En la gestión de bases de datos, es común definir uno o varios índices por cada tabla con el objetivo de agilizar la búsqueda de información. Se utilizan índices organizados en estructuras de árbol. Ejemplo: un árbol de tipo B-tree.

El árbol contiene n valores (en este ejemplo, n=10). Cada nodo en un árbol B-tree contiene entre 1 y b valores (en este ejemplo, b=4) y enlaces a otros nodos que contienen información dentro de los intervalos definidos por esos valores, según un cierto criterio de ordenación.

Todos los nodos finales están al mismo nivel (en este ejemplo, en el nivel 2). En el mejor de los casos, el número de niveles de un B-tree es logb n.

Ejemplo: en una tabla de 1.000.000 registros, con un índice binario con b=2, log2 1000000 ≈ 20. La búsqueda de un nodo se reduce a 20 comparaciones.

Las búsquedas de información (que suelen ser las operaciones más comunes en una base de datos) se agilizan, a costa de ralentizar un poco las modificaciones (inserción, borrado y modificación de registros).

Para la creación de un índice en una tabla se utiliza uno o varios campos. Por ejemplo, si es frecuente buscar a un alumno a partir de su nombre y apellidos, se puede crear un índice que sea combinación de estas columnas.

7 RDBMS (Sistema de Gestión de Bases de Datos Relacionales)

RDBMS (Relational Data Base Management System) es un sistema administrador de bases de datos relacionales.

Funciones principales:

  • Definición de reglas de integridad de los datos.
    • Ejemplo: regla de generación de la letra final de un DNI.
    • Ejemplo: cada asignatura tiene que estar relacionada con una titulación existente.
  • Herramientas para la realización de copias de seguridad a partir de acciones del administrador o programadas para que se efectúen con una cierta periodicidad.
  • Replicación de bases de datos, con copias automáticas en otra base de datos redundante.
  • Control de acceso mediante cuentas de usuario del propio sistema operativo o propias del sistema RDBMS, asignando permisos de acceso (como administrador, para introducción de datos, para operaciones de sólo lectura, para poder acceder a determinada información, etc.) por usuario o por grupos de usuarios.
  • Herramientas para la generación automática de informes a partir de la información almacenada.
    • Ejemplo: informes automáticos sobre fabricación diaria, semanal, etc.
  • Herramientas para la programación de aplicaciones en diferentes sistemas operativos y diferentes lenguajes. Ejemplo: conjunto de clases para la programación de aplicaciones Windows.
  • Herramientas para importar datos en diferentes formatos de ficheros.

8 ACID

ACID (Atomicity, Consistency, Isolation and Durability) son las características que debe tener un RDBMS (Relational Database Management System) para poder tratar adecuadamente las transacciones de datos:

  • Atomicidad: Cuando se realiza una transacción de información en la base de datos que implique modificar varios registros en una o varias tablas, ese conjunto de operaciones se tiene que ejecutar en bloque y si hay algún problema, tiene que ser posible revertir la base de datos al estado que tenía previamente.
  • Consistencia: Solo se pueden guardar datos válidos. Se establecen reglas que tienen que cumplirse para que se pueda realizar cualquier añadido o modificación de la información. Ej: límites superiores o inferiores, como el caso de un mes, de 1 a 12.
  • Aislamiento: Con múltiples transacciones de datos que se pueden ejecutar al mismo tiempo, no es conveniente que las operaciones de unas afecten a otras. Para ello, una transacción puede bloquear determinadas tablas para evitar que otra transacción que se esté ejecutando simultáneamente pueda utilizarlas.
  • Durabilidad: La ejecución de una transacción no puede significar la pérdida de datos almacenados que no tengan que ver directamente con dicha transacción y la información añadida o modificada tiene que almacenarse de forma segura.

Entradas relacionadas: