En plena era digital resulta cada vez más importante la manera en la que se almacena y gestiona la información. Ahí es precisamente donde entran las bases de datos. Pero, ¿qué son exactamente? ¿En qué consisten las bases de datos informatizadas? Te lo contamos en este artículo.

¿Qué es una base de datos? ¿Cómo se define?

La definición de bases de datos es «aquel conjunto de datos almacenados y estructurados según sus características o tipología para ser utilizados o consultados posteriormente«.

Hasta hace relativamente pocos años, las bases de datos eran analógicas, es decir, contenían información en papel o textos impresos. Sin embargo, con la llegada de la era digital y el Big Data se ha hecho imprescindible el uso de bases de datos informatizadas.

Gracias a las bases de datos en formato digital se han podido solucionar muchos de los problemas que surgían a raíz de la ingente cantidad de información que se maneja en la actualidad. Por ejemplo, permiten ahorrar espacio, agilizar las consultas y se puede almacenar mucha más información.

Los programas que han hecho esto posible se denominan sistemas gestores de bases de datos (SGBD) o, en inglés, Database Management System (DBMS). Este tipo de programas facilitan enormemente el almacenamiento de datos y la posterior consulta de los mismos. En un principio eran usados sobre todo por grandes empresas o administraciones públicas, pero en la actualidad también los emplean todo tipo de usuarios o empresas (por ejemplo, para crear el registro de usuarios de una web).

Para obtener la información almacenada en las bases de datos se emplean las consultas. Una consulta es una solicitud al gestor de la base de datos para acceder, borrar o modificar la información presente en la database. Para ello se emplea un lenguaje específico (el más común es SQL, del cual hablaremos más adelante).

Características de las bases de datos

Las principales características de una base de datos son las siguientes:

  • Los datos almacenados tienen independencia física y lógica.
  • Garantizan la integridad de los datos.
  • Son sistema de almacenamiento que contribuyen a reducir la redundancia al mínimo.
  • Es habitual que puedan acceder a ellas múltiples usuarios.
  • Permiten realizar consultas complejas de diferentes tipos de datos.
  • El acceso a los datos es seguro
  • Se pueden hacer copias de seguridad y recuperar los datos
  • Se accede a la información a través de un lenguaje concreto.

Objetivos de las bases de datos

Uno podría pensar que el objetivo de una base de datos es almacenar información. Y lo cierto es que tendría razón. Sin embargo, esa es una visión muy reducida de sus funciones, ya que abarcan muchas otras finalidades.

Trabajar con consultas complejas y no predefinidas

Uno de los objetivos básicos de una base de datos es permitir realizar consultas complejas y no predefinidas que afecten a más de una entidad tipo.

  • *Se quiere saber el número de clientes de una tienda online que tienen más de 30 años y que han realizado más de 5 pedidos en el último año.
  • *De cada uno de esos clientes, se quiere saber el nombre, apellido, domicilio y dirección de correo electrónico.

Ofrecer flexibilidad e independencia

Las bases de datos también deben estar diseñadas para ser flexibles ante los cambios. Es necesario que los datos y los procesos de los usuarios sean lo más independientes posible entre sí, para que se puedan realizar actualizaciones, variaciones o cambios tecnológicos sin necesidad de modificar las aplicaciones ya escritas.

Evitar la redundancia

La redundancia se podría definir como la existencia de datos repetidos en una base de datos. Normalmente, no interesa tener datos redundantes. En caso de que un sistema de gestión de bases de datos permita definir datos redundantes, debería ser el propio sistema quien se encargue de actualizar la información en todos aquellos lugares donde estuviese repetida.

Garantizar la integridad de los datos

Otro de los objetivos fundamentales de una base de datos es mantener la calidad e integridad de los datos bajo cualquier circunstancia. Para ello se definen reglas de integridad. Por ejemplo, definir el número de identificación como un atributo clave, indicar que la fecha de nacimiento ha de ser una fecha concreta, o que los clientes han de tener una edad comprendida entre 18 y 99 años.

Permitir la concurrencia de usuarios

Asimismo, las bases de datos deben permitir el acceso simultáneo de varios usuarios. Esto puede provocar problemas de interferencia cuando varios usuarios estén modificando datos a la vez. Las BD solucionan el problema de los accesos concurrentes a través de las llamadas transacciones de bases de datos.

Asegurar la seguridad de los datos

Por último, pero no menos importante, las bases de datos deben garantizar la seguridad en el acceso y mantenimiento de la información. Por ejemplo, en todo lo referente a confidencialidad de los datos, autorizaciones, derechos de acceso, o cumplimiento de la normativa vigente sobre protección de datos.

Tipos de bases de datos

Existen muchos tipos distintos de bases de datos. Lo más habitual es clasificarlas según el modelo, su contenido o la variabilidad de los datos que incluyen. Pasamos a ver los tipos más frecuentes de bases de datos.

Según el modelo

La primera clasificación de bases de datos es según el modelo empleado. En este caso podemos encontrar bases de datos relacionales, distribuidas, orientadas a objetos, documentales, deductivas, transaccionales y más.

Relacionales

Las bases de datos relacionales son unas de las más frecuentes por su flexibilidad y facilidad de uso. En este modelo no importa el lugar o la forma en la que estén almacenados los datos. Por el contrario, se accede a la información mediante consultas que permiten acceder de forma ágil y flexible a los datos. Suelen emplear el lenguaje SQL.

Distribuida

Las bases de datos distribuidas consisten en bases de datos establecidas en diferentes lugares y conectadas por una red. Se emplean en organismos descentralizados que necesitan unir bases de datos de diferentes lugares (localidades, universidades, etc). Existen bases distribuidas de forma homogénea (usan el mismo SGDB) o heterogénea (emplean sistemas multibase).

NoSQL

Son bases de datos que no usan el lenguaje SQL, o que lo usan solo como apoyo, pero no como consulta. Entre los lenguajes más usados por las bases de datos no relacionales están CQL (Contextual Query Language, JSON (JavaScript Object Notation) y GQL (Graph Query Language).

Orientadas a objetos

Las bases de datos orientadas a objetos están enfocadas al almacenamiento de objetos completos, incluyendo su estado y comportamiento. Este tipo de bases de datos se basan en conceptos básicos del tratamiento informatizado de objetos, como la herencia, encapsulación o polimorfismo.

Multidimensionales

Las bases de datos multidimensionales son similares a las relacionales, pero se suelen usar para el desarrollo de aplicaciones muy específicas. La principal diferencia entre ambas es que en las multidisciplinares los atributos de las tablas pueden representar tanto dimensiones como métricas.

Documentales

Las bases de datos documentales están pensadas para indexar textos completos y, por tanto, han de estar preparadas para almacenar una gran cantidad de información.

Deductivas

Las bases de datos deductivas o lógicas se asientan sobre la lógica matemática y son capaces de hacer deducciones basadas en hechos o reglas establecidas, Gracias a ello permiten establecer relaciones indirectas entre diferentes tipos de datos y solventar algunas de las limitaciones de las bases de datos relacionales.

Transaccionales

Las bases de datos transaccionales se emplean para enviar y recibir datos a gran velocidad. En este tipo de bases de datos no se tienen en cuenta la redundancia o duplicidad de los datos ya que su función es exclusivamente el envío y recepción de información a la mayor velocidad posible.

Jerárquicas

Las bases de datos jerárquicas se organizan en base a un nudo principal de información, o nodo padre (raíz), del cual surgen diferentes hijos (hojas). Es un sistema que organiza los datos de forma jerárquica, en forma de árbol invertido.

Red

Las bases de datos de red son similares a las jerárquicas, con la salvedad de que pueden existir varios nodos padres. Esto supuso un importante avance respecto a las bases jerárquicas, sobre todo en lo relativo a la redundancia de datos.

Según el contenido

Otro método para clasificar las bases de datos es según la forma en que presenten el contenido. En este caso nos podemos encontrar con dos tipos, las bibliográficas y las de texto completo.

Bibliográficas

Las bases de datos bibliográficas muestran información relevante sobre una terminada publicación: título, autor, año de publicación, editorial, etc. También pueden presentar un pequeño extracto del texto, pero nunca la publicación original al completo, ya que sino estaríamos hablando de la tipología que sigue a continuación.

Texto completo

Las bases de datos de texto completo guardan y muestran todo el contenido de las publicaciones. Por ejemplo, todo el contenido de los números publicados de una determinada revista.

Según la variabilidad

Otra de las variables que se emplean para la clasificación de bases de datos es la variabilidad de la información que presentan. Así, podemos distinguir entre databases estáticas o dinámicas.

Estáticas

Las bases de datos estáticas almacenan datos fijos que no se modifican con el tiempo. Normalmente se trata de datos históricos que pueden ser estudiados para ver su evolución en el tiempo y realizan proyecciones o tomar decisiones en base a dicha evolución.

Dinámicas

Por su parte, las bases de datos dinámicas almacenan información que se modifica con el tiempo. Los datos se editan y actualizan a medida que van cambiando. Por ejemplo, una base de datos con los precios de un comercio,

¿Dónde tenerla en la nube o local?

Hoy en día existen diferentes métodos para la gestión de las bases de datos. Lo más habitual es hacerlo a través de una red local o en el entorno cloud (en la nube). Veamos las diferencias entre ambos..

Nube

El método DBaaS (Database as a Service) se basa en la contratación de proveedores de servicios para el almacenamiento de los datos. En este caso, la información se guarda en los servidores del proveedor, pudiendo acceder a ella a través de internet.

Entre las principales ventajas de las bases de datos en la nube está el ahorro de espacio físico, la disminución de los costes, o la posibilidad de acceder a los datos desde cualquier lugar o dispositivo con acceso a internet.

Local

Por su parte, una base de datos en local utiliza una red local (LAN), de manera que la infraestructura y la gestión de dicha base de datos se realiza en la propia organización. Solo pueden acceder a la información los equipos que estén conectados a la red local.

Ventajas y desventajas de las bases de datos

A continuación vemos las principales ventajas e inconvenientes de trabajar con bases de datos.

Ventajas

Las ventajas de las bases de datos son muchas y muy variadas, sobre todo de las que están informatizadas:

  • Disminuyen la redundancia: las bases de datos informatizadas solo almacenan una copia de los mismos datos, lo que permite ahorrar espacio de almacenamiento y facilita las consultas. Ojo, reducir la redundancia a cero no siempre es posible ya que en ocasiones es necesaria para crear las relaciones entre los datos.
  • Contribuyen a la consistencia de los datos: al reducir la redundancia también se minimiza la posibilidad de que se produzcan inconsistencias entre los datos. Al almacenar cada dato una sola vez, también es posible modificarlos de una sola vez, y que estén inmediatamente disponibles para los usuarios.
  • Se pueden compartir los datos: las bases de datos permiten que la información almacenada sea compartida por los miembros de la organización o por los usuarios que estén autorizados.
  • Favorecen la integridad de los datos: la información almacenada tiene mayor validez y consistencia, gracias a la aplicación de reglas y restricciones definidas en el SGDB y que no se pueden violar.
  • Aumentan la seguridad: solo puede acceder a los datos personal autorizado. Además, las bases de datos electrónicas suelen incluir medidas de seguridad para evitar accesos indeseados o intromisiones ilegítimas.
  • Agilizan las consultas: el acceso a los datos es más rápido y eficaz gracias al uso de lenguajes de consultas.
  • Aumentan la productividad: permiten ahorrar tiempo, tanto a los programadores, como a los usuarios que realizan las consultas.
  • Simplifican el mantenimiento: gracias a la independencia entre datos y aplicaciones, cualquier cambio, modificación o traslado de datos se pueden realizar de forma más ágil y sencilla.
  • Permiten el acceso simultáneo de varios usuarios: en los sistemas de ficheros esto podría dar lugar a pérdidas de información o de la integridad de la mismas, lo cual no sucede con los sistemas gestores de bases de datos.
  • Realizan copias de seguridad: en los sistemas de ficheros tradicionales el usuario tenía que estar continuamente haciendo copias de seguridad. En caso de pérdida de datos, también se perdía toda la información añadida posteriormente a la última copia de seguridad. Sin embargo, los SGBS hacen copias de seguridad de forma automática, con lo cual se minimiza la pérdida accidental de datos.
  • Permiten cumplir estándares: es más sencillo adaptar el almacenamiento, acceso e intercambio de datos a los estándares de la empresa, así como a las normas nacionales e internacionales, por ejemplo al RGPD o la LOPDGD

Desventajas

Sin embargo, no todo es perfecto y también se pueden hablar de algunas desventajas de las bases de datos:

  • Los SGDB pueden ser complejos: se trata de programas que incluyen muchas funcionalidades que hay que entender, además de conocer el lenguaje de programación que emplean.
  • Suponen un coste añadido: en función de la cantidad de datos que se vayan a almacenar es posible que sea necesario adquirir máquinas potentes y gran espacio de almacenamiento.
  • Pueden tener fallos: los SGBD no son infalibles y son vulnerables a los fallos de seguridad. Esto puede ser especialmente grave en el caso de que toda la información esté centralizada en el SGDB, lo cual podría poner en riesgo todo el sistema. Por eso es tan importante tener siempre copias de seguridad.

Principales motores de bases de datos

En la actualidad existen numerosos gestores de bases de datos, los cuales permiten almacenar y acceder a la información de manera ágil y flexible. A continuación vemos cuáles son algunos de los más empleados.

MySQL

MySQL es el gestor de bases de datos más utilizado en el mundo. Se trata de un sistema multiusuario y multihilo que se emplea en la mayoría de páginas web actuales y en apps de software libre.
Entre las ventajas principales del gestor de bases de datos MySQL está su sencillez de uso y su buen rendimiento. Además, resulta muy sencillo de instalar y configurar y permite soporte multiplataforma. Por contra, presenta algún problemas de escalabilidad, es decir, no resulta tan eficaz cuando se trata de manejar grandes volúmenes de datos.

SQLite

Se trata de una biblioteca en C que permite realizar transacciones de datos. Su principal ventajas es que no necesita usar un servidor ni configuraciones, por lo que ocupa mucho menos espacio que otros gestores. Además, ofrece un buen rendimiento y cumple con los criterios de atomicidad, consistencia, aislamiento y durabilidad.

MongoDB

Es el gestor de base de datos NoSQL más empleado de la actualidad. Se trata de un sistema basado en ficheros que utiliza el lenguaje BSON. Su popularidad es tal que lo utilizan empresas tan conocidas como Google, Facebook o Cisco.

MariaDB

Es un gestor de bases de datos muy parecido a MySQL. De hecho, nace como una evolución de este programa, tras la compra de MySQL por Oracle. Tiene la mayoría de funcionalidades de MySQL pero incluye algunas extensiones extra. Además, es de código abierto y compatible al 100% con MySQL.

El lenguaje de las bases de datos: SQL

El lenguaje de consulta de bases de datos más empleado es el SQL, Structured Query Language o lenguaje de consulta estructurada.

Básicamente, se trata de un lenguaje ideado para gestionar y recuperar información en gestores de bases de datos (relacionales). Para ello, hace uso del cálculo relacional y del álgebra. Gracias a ello permite la inserción de datos en los gestores, la realización de actualizaciones, consultas, o modificaciones, así como borrado de datos o controlar el acceso a la información.

La semilla del lenguaje SQL se plantó en el año 1970, cuando E.F.Codd propone un sistema de almacenamiento basado en el módulo relacional y el cálculo de predicados. En base a ello, la compañía IBM desarrollo el lenguaje SEQUEL, el cual fue posteriormente ampliado y mejorado para ser usado por el gestor de bases de datos System R, en 1977.

Este lenguaje, SEQUEL, fue evolucionado y perfeccionado para dar lugar a lo que hoy conocemos por lenguaje SQL. En los años 80, pasa a ser el lenguaje usado por la mayoría de bases de datos relacionales, hasta que en el año 1986 es finalmente reconocido y estandarizado por el ANSI (Instituto Nacional Estadounidense de Estándares).

Entre las principales características del lenguaje SQL están las siguientes:

  • Permite crear, modificar y borrar esquemas de relación.
  • Usa el álgebra y el cálculo relacional para la realización de consultas.
  • Contiene reglas basadas en comandos para asegurar la integridad de los datos.
  • Se pueden incluir instrucciones en diferentes lenguajes de programación como C++, Pascal, Java, PHP, etc.

Por otro lado, el lenguaje SQL está preparado para manejar diferentes tipos de datos:

  • Int: son datos de valores enteros, con signo o sin signo.
  • Varchar: cadenas de palabras formadas por caracteres alfanuméricos (también permite caracteres especiales).
  • Time: hora
  • Date: fecha

Ejemplos

Existen numerosos ejemplos de bases de datos obsoletas que hoy en día han sido sustituidas por bases de datos informatizadas basadas en el lenguaje SQL. Veamos algunos ejemplos de bases de datos comunes:

  • Guías de teléfonos: un ejemplo serían las Páginas Amarillas. Hoy en día están  prácticamente en desuso. Estas guías contenían un listado de números de teléfono, ordenados por sectores, o por el nombre de su titular (alfabéticamente). Solían ser bastante completas, pero a cambio eran pesadas, ocupaban mucho espacio y no permitían el acceso inmediato a la información.
  • Bibliotecas: las bibliotecas suelen tener su propio sistema para almacenar y clasificar los libros. Estos sistemas han de incluir funciones que permitan registrar todos los títulos disponibles, así como conocer el número de ejemplares de cada uno, o si se encuentran en préstamos, tanto circulante como en sala.
  • Historiales médicos: los datos de los pacientes se actualizan cada vez que acuden al hospital. Incluyen datos como la fecha de las últimas visitas, patologías, tratamientos recibidos, etc. Se trata de información considerada sensible, por lo que el acceso a estos datos está altamente restringido y es exclusivo para el personal medico que va a tratar al paciente.
  • Tiendas online: en cualquier eCommerce se manejan datos sobre clientes, productos, precios, transacciones realizadas y un largo etcétera. Para ello resulta fundamental el uso de un gestor de base de datos.

¿Cuánto cuesta una base de datos?

En ocasiones, cuando se compra determinado software, el proveedor ya incluye del mismo el servicio de base de datos. Este servicio se puede pagar de forma total, o en la modalidad de pago por uso o software as a service (SaaS).

En otras ocasiones, la empresa ya tiene sus propios servidores y desea tener una base de datos propia y no «alquilada». En ese caso, deberá ponerse en contacto con el proveedor de bases de datos para obtener un sistema de gestión de forma independiente al software.

En función de los dos escenarios anteriores, el precio de la base de datos será distinto. Pero también hay muchos otros factores que pueden influir en el coste de una base de datos.

  • Tipo de la base de datos
  • Personalización
  • Capacidad de almacenamiento
  • Número de instancias, streaming del almacenaje
  • Notificaciones por email
  • Muchas otras funcionalidades

Del mismo modo, cada empresa impone sus propias tarifas, con lo que no existe un precio estándar para las bases de datos.

Para que te puedas hacer una idea, los precios de la base de datos de Azure para uso general, oscilan entre los 329 euros al mes para 10,2 GB de capacidad, hasta 13,369 euros al mes para 396 GB de capacidad. En este caso, Azure podría ofrecer una capacidad de almacenamiento hasta 4 TB, con lo cual el precio se dispararía todavía más.

En definitiva, esto ha sido todo acerca de las databases. ¿Las has usado alguna vez? ¿Cuál es el gestor que mejor te ha funcionado?

Escribe aquí tu comentario

Deja un comentario

Este sitio está protegido por reCAPTCHA y se aplican la política de privacidad y los términos de servicio de Google.

Las siguientes reglas del RGPD deben leerse y aceptarse:
Este formulario recopila tu nombre, correo electrónico y contenido para que podamos realizar un seguimiento de los comentarios dejados en la web. Para más información revisa nuestra política de privacidad, donde encontrarás más información sobre dónde, cómo y por qué almacenamos tus datos.