Una base de datos relacional es una base de datos en donde todos los datos visibles al usuario están organizados estrictamente como tablas de valores, y en donde todas las operaciones de la base de datos operan sobre estas tablas.

Estas bases de datos son percibidas por los usuarios como una colección de relaciones normalizadas de diversos grados que varían con el tiempo.

El modelo relacional representa un sistema de bases de datos en un nivel de abstracción un tanto alejado de los detalles de la máquina subyacente, de la misma manera como, por ejemplo, un lenguaje del tipo de PL/1 representa un sistema de programación con un nivel de abstracción un tanto alejado de los detalles de la máquina subyacente. De hecho, el modelo relacional puede considerarse como un lenguaje de programación mas bien abstracto, orientado de manera específica hacia las aplicaciones de bases de datos.
En términos tradicionales una relación se asemeja a un archivo, una tupla a un registro, y un atributo a un campo. Pero estas correspondencias son aproximadas, en el mejor de los casos. Una relación no debe considerarase como “solo un archivo”, sino mas bien como un archivo disciplinado, siendo el resultado de esta disciplina una simplificación considerable de las estructuras de datos con las cuales debe interactuar el usuario, lo cual a su vez simplifca los operadores requeridos para manejar esas estructuras.

Características principales de los “archivos” relacionales:

  • Cada “archivo” contiene solo un tipo de registros
  • Los campos no tienen un orden específico, de izquierda a derecha
  • Los registros no tienen un orden específico, de arriba hacia abajo
  • Cada campo tiene un solo valor
  • Los registros poseen un campo identificador único (o combinación de campos) llamado clave primaria

Así, todos los datos en una base de datos relacional se representan de una y solo una manera, a saber, por su valor explícito (esta se denomina en ocasiones “principio básico del modelo relacional”). En particular, las conexiones lógicas dentro de una relación y entre las relaciones se representan mediante esos valores; no existen “ligas” o apuntadores visibles para el usuario, ni ordenamientos visibles para el usuario, ni grupos repetitivos visibles para el usuario, etc.

Actualmente algunos de los manejadores de bases de datos, utilizan un sistema de búsqueda con algoritmos de árboles b. Pero las búsquedas que se pueden realizar con estos algoritmos son sólo para memoria principal.

Los algoritmos implementados para realizar búsquedas con listas salteadas o por bloques (skip lists) son eficientes para realizar búsquedas en memoria secundaria. Como tienen varios niveles en cada nodo de la lista, nos permite dar saltos mas largos al realizar las búsquedas, esto provoca que las sean mas rápidas.

BIBLIOGRAFIA

http://www.fismat.umich.mx/~elizalde/tesis/node15.html