Descripción

Una base de datos es una especie de archivo digital inteligente donde, a diferencia de una simple carpeta con documentos, los datos están estructurados para que podamos encontrar, modificar o analizar lo que haga falta de forma rápida y eficiente.

Componentes

Para que una base de datos funcione, normalmente se compone de tres elementos básicos:

El sistema de gestión de bases de datos (SGBD o DBMS)

Es el software que sirve de interfaz para interactuar con los datos (ejemplos: MySQL, Oracle, MongoDB).

Los datos

La información en sí (nombres, números, fechas, imágenes).

El esquema

La estructura o reglas que definen cómo se organiza la información.

Estructura

Dependiendo de la tecnología, los datos se estructuran de distintas formas. La más común es la relacional, que utiliza una estructura similar a una hoja de cálculo.

Tablas

Son los contenedores principales (ej. una tabla de «Clientes»).

Columnas (campos)

Definen el tipo de dato (ej. «Nombre», «Email»).

Filas (registros)

Son las entradas individuales (ej. los datos específicos de «Juan Pérez»).

Clave primaria (primary key)

Un identificador único para cada registro (como el DNI o un número de ID), que evita confusiones entre datos similares.

Tipos

No todas las bases de datos funcionan igual; se eligen según la necesidad del proyecto.

Relacionales (SQL)

Son bases de datos estructuradas en tablas fijas; ideales para datos precisos y consistentes.

Ejemplos de uso

  • Sistemas bancarios
  • Inventarios.

No relacionales (NoSQL)

Bases de datos flexibles, sin tablas fijas. Manejan grandes volúmenes de datos variados.

Ejemplos de uso

  • Redes sociales.
  • Análisis de big data.

En la nube (clouding)

Bases de datos almacenadas en servidores remotos (cloud computing).

Ejemplos de uso

  • Aplicaciones móviles.
  • Servicios web.

Orientadas a grafos

Tipo de base de datos en que la información se representa como conjunto de nodos y aristas de un grafo. Se enfocan en las relaciones entre los datos.

Ejemplos de uso

  • Recomendaciones de Netflix.
  • Mapas.

Ejemplos

El ejemplo más claro es el sistema de gestión de una biblioteca.

En este tipo de base de datos, la información no está mezclada en un solo lugar, sino que se divide en diferentes tablas, conectadas entre sí mediante identificadores únicos. Esto evita que los datos se repitan innecesariamente; este proceso es conocido como normalización.

Características

  • Esquema rígido: Antes de guardar cualquier dato, ya está definido que el «ID_Libro» debe ser un número y el «Título» debe ser texto. No podemos guardar un número de teléfono en el campo de fecha.

  • Relaciones claras: Gracias a las claves primarias (PK) y claves foráneas (FK), el sistema sabe exactamente qué usuario tiene qué libro sin necesidad de duplicar la información de contacto del usuario en cada préstamo.

  • Lenguaje SQL: Para saber qué libros tiene Laura, la bibliotecaria lanza una consulta (query) como esta:

Este orden permite que, aunque la biblioteca tenga un millón de libros, el sistema encuentre la información en milisegundos.

Un buen ejemplo de una base de datos no relacional (NoSQL) es el sistema de perfiles de usuario en una red social, como Instagram o LinkedIn, o incluso el catálogo de productos de un sitio como Amazon.

Las bases de datos no relacionales suelen utilizar el formato  JSON. Aquí la información se guarda en «documentos» en lugar de filas y columnas.

Características

  • Flexibilidad de esquema (schema-less): No todos los usuarios tienen que tener los mismos campos. Si Elena quiere añadir sus «habilidades» pero otro usuario no, no hay problema. No hay «huecos vacíos» o nulos que ocupen espacio innecesario.

  • Datos anidados: En una base de datos estructurada, los «intereses» tendrían que estar en otra tabla separada. Aquí, todo lo que pertenece a Elena vive dentro de su propio «documento».

  • Escalabilidad masiva: Estas bases de datos están diseñadas para repartirse en cientos de servidores. Es por eso que plataformas con millones de usuarios (como Facebook o Twitter) las prefieren para manejar datos que cambian constantemente.

Recursos adicionales

Recursos en línea

Sinónimos:
database