Bases de datos

Una base de datos consiste en una colección estructurada de muchos datos. Estos datos están manejados siempre por una aplicación informática llamada gestor de bases de datos (DataBase Management System, abreviado DBMS), de los cuáles hay varias (MySQL, PostgreSQL, SQLite, MongoDB etc. de entre las de código abierto).

Además, han de resultar sencillas y seguras las siguientes operaciones con datos:

  1. almacenarlos: aunque falle el disco duro, mediante copias de seguridad
  2. modificarlos: modificar un dato
  3. consultarlos: consultar un dato que cumpla unas características (por ejemplo todos los teléfonos de personas desempleadas)
  4. regular el acceso: el gestor reconoce varios usuarios y les deja realizar operaciones de lectura y escritura según los permisos y roles que se les haya otorgado.

A los seres humanos se nos da bien manejar conceptos, y mal recordar muchos datos. A los ordenadores al revés. Del orden de miles de nombres completos de persona, con sus correspondientes DNIes, teléfonos, direcciones, fechas de nacimiento etc. Por eso recurrimos a las bases de datos.


Para comprender cómo puede ser una base de datos pensemos en una tabla de datos en la que cada columna representa un aspecto de algo (nombre, fecha, identificador etc.) y cada fila representa un objeto o ente. Por ejemplo pensemos en una tabla de libros. Cada file describiría un libro, y cada columna aspectos tales como fecha de publicación, género, autor, extensión, tema etc.

De hecho el modelo de base de datos más frecuente está formado por tablas interrelacionadas, de ahí que se denominen bases de datos relacionales. Para entender cómo una tabla puede estar relacionada con otra, supongamos que la tabla de libros (llamada libros) exigiera que cada nombre de autor existiera idéntico en otra tabla de autores, llamada autores. También podríamos exigir que cada dato o entrada de la columna lugar_de_nacimiento se correspondiera tal cuál con otra entrada de una tercera tabla llamada lugares, etc.

Preguntaros: ¿Cómo de potente sería esta forma de organizar la información?


Cada sistema de bases de datos se caracteriza y se diferencia de los demás por:

  1. cómo está organizada la información: tablas, notas, listas
  2. lo bien que cumplen sus diferentes cometidos: perdurabilidad, rapidez (de escritura o de lectura), ciberseguridad etc.
  3. facilidad de uso
  4. precio (desde las muy caras hasta no pocas que son gratuitas)

Bases de datos relacionales*

Bases de datos documentales*

Las bases datos documentales constan de documentos, en el sentido especial de textos estructurados. Se diferencias de las filas de las tablas (de las bases de datos relacionales) en que su formato es más libre: uno puede improvisar campos porque no parte de un esquema inicial.

Bases de datos documentales de JSON*

Bases de datos documentales de XML*