1. Bases de datos relacionales

1.1. Introducción

El modelo relacional es un modelo de datos basado en la lógica de predicados y en la teoría de conjuntos. Su idea fundamental es el uso de relaciones. Estas relaciones podrían considerarse en forma lógica, como conjuntos de datos llamados tuplas. Pensamos cada relación como si fuese una tabla que está compuesta por registros: cada fila de la tabla sería un registro o tupla, y columnas, también llamadas campos.

Entre los paradigmas actuales de bases de datos, el modelo relacional está muy extendido y se adapta a la mayoría de los entornos bioinformáticos por su eficiencia y simplicidad.

Otra ventaja de este paradigma es que existen numerosas implementaciones open source que proporcionan los servicios completos de un sistema gestor de base de datos relacional con diferentes interfaces gráficas de usuario.

Formalmente, el paradigma relacional está dividido en tres componentes básicos:

  • Las tablas y las relaciones entre estas estructuran los datos.
  • El álgebra relacional opera sobre la información.
  • Un conjunto de axiomas mantiene la integridad del sistema.

Una tabla modela un elemento del mundo real, caracterizando sus atributos. Una relación entre dos tablas emula las asociaciones lógicas existentes entre dos elementos de distintas clases en la realidad, permitiendo el acceso cruzado de información.

Para un universo de datos en particular, la organización de las tablas y las relaciones que lo conforman reciben el nombre de esquema relacional. Una vez definida esta estructura, debe crearse una base de datos para ser poblada con los datos reales (conocidos como instancias o registros), siendo administrada desde ese momento por un sistema de gestión de bases de datos.

Utilizando el álgebra relacional, el usuario puede realizar consultas para extraer nueva información y actualizarla.

Para realizar un diseño eficiente de la base de datos debemos seguir estas reglas:

  • Reunir todas las clases de información que deseamos guardar.
  • Estructurar de forma lógica la información en diferentes categorías.
  • Definir los atributos que caracterizan cada categoría.
  • Asignar identificadores suficientemente descriptivos a los atributos.
  • Decidir el tipo de datos asociado a cada atributo.
  • Descomponer cada pieza de información en la unidad más elemental.
  • Seleccionar los atributos que identifican de forma única cada categoría.
  • Identificar las relaciones entre categorías.