menu EXPLORA
history RECIENTE

Base de datos relacional, descubre el modelo relacional y algunos ejemplos

Vivimos en la era donde manejar datos es esencial para la mayoría de empresas y negocios del mundo.

Las empresas tecnológicas más grandes del mundo como Netflix, Amazon, Google o Facebook hacen uso de esta información para dar a los usuarios lo que quieren ver.

Para ello necesitan almacenar millones y millones de datos de forma ordenada para que cuando sean requeridos se puedan extraer de forma rápida y eficaz.

qué es power bi

Qué es Power BI

Power BI es una herramienta de Microsoft de inteligencia de negocio pensada para analizar y manipular de forma fácil grandes cantidades de datos. ¡Descúbrelo!

Ver artículo

Pero… ¿Cómo y dónde se guarda toda esta enorme cantidad de información?

Pues, sí, lo has acertado. Toda está información se guarda en una red de ordenadores conectados entre ellos usando lo que conocemos como bases de datos (BBDD) .

Existen diferentes tipos de bases de datos, pero la más usada y que lleva más tiempo entre nosotros recibe el nombre de base de datos relacional .

En este artículo aprenderás en que consisten y como funcionan. Además, te daremos algunos consejos de como empezar a manejarlas.

¿Qué son las bases de datos relacionales?

Una base de datos relacional es un tipo de base de datos que emplea el modelo relacional para representar y crear uniones entre los distintos datos de forma que se pueden consultar y actualizar usando el lenguaje SQL ( Structured Query Language ).

Otros posts que te gustarán

  1. Base de datos clave-valor
  2. Qué son los procesos ETL

La información se almacena en tablas donde cada una tiene varias filas. Cada una de ellas tiene una etiqueta única llamada clave primaria.

A la vez, la tabla también contiene columnas llamadas atributos. Cada fila o registro de la tabla tiene asociado unos valores de sus atributos. Pongamos un ejemplo fácil:

Imagina que queremos registrar los usuarios de nuestra página web. Cada usuario tiene un nombre, un apellido, un correo electrónico y una dirección.

Estas características de cada uno de los usuarios definen las distintas columnas de la tabla. Por lo tanto, cada usuario es una fila distinta, es decir, un registro de la tabla.

Hemos mencionado anteriormente que cada uno de los registros debe tener un campo único y exclusivo. De esta forma podemos diferenciar cada usuario sin ningún problema.

En este caso seria el correo electrónico ya que dos usuarios pueden tener el mismo nombre, incluso el mismo apellido y pueden vivir en la misma calle, pero jamás podrán tener el mismo correo electrónico.

Por lo tanto, el email del usuario seria la clave primaria y con esta podríamos identificar rápidamente nuestro usuario.

En la siguiente imagen podemos ver un esquema de como seria nuestra tabla de usuarios dentro de una base de datos relacional.

Características de las bases de datos tipo relacional

Este tipo de base de datos tiene distintas características que la convierten en un potente almacén de datos.

Una de las principales características es evitar la duplicidad. Tener elementos duplicados puede suponer en una mala interpretación de los datos.

Para evitar este problema cada registro es únicamente identificado por una clave primaria. Además, las tablas también deben tener un nombre único.

Otro punto importante es la integridad de los datos. Este tipo de modelos mantienen una gran integridad gracias a la correctitud y completitud de la información evitando que los datos puedan ser corrompidos y que puedan añadirse nuevas entradas no validas dentro de la base datos.

Otra peculiaridad es las relaciones que se pueden establecer entre distintas tablas. Estas relaciones permiten juntar y extraer datos de distintas tablas como si fuera una de sola.

Estas relaciones se llevan a cabo usando lo que se conoce como claves primarias y claves foráneas. Más adelante veremos en que consisten este tipo de operaciones.

Modelo entidad relación

Una BBDD relacional puede llegar a ser muy compleja y tener muchas relaciones entre una gran variedad de tablas. Por ello es importante, antes de empezar, diseñar que estructura y arquitectura tendrá.

Para representar la estructura podemos utilizar lo que se conoce el modelo entidad-relación. Este tipo de representación tiene algunos elementos que permiten definir de forma precisa todos los elementos de nuestra base de datos relacional. Veámoslos:

Entidad

Las entidades son una representación de objetos donde cada uno tiene unas características concretas. Las identidades son las tablas que generamos en la base de datos. Para poner un ejemplo, imagina un instituto donde tenemos muchos alumnos.

Una entidad sería “alumnos” el cual almacena la información de cada uno de ellos. Otra entidad podría ser “exámenes” donde se guarda la información de los exámenes que se han realizado durante el curso escolar.

Otra identidad podría ser deberes conteniendo la información de los distintos trabajos que han tenido que realizar los alumnos en sus casas.

Estas identidades se representan como rectángulos en el esquema o diagrama que generamos para determinar la estructura de la BBDD.

Atributos

Los atributos (columnas) son las características que definen cada elemento de la identidad. Por ejemplo, los atributos de los alumnos podrían ser: edad, altura, curso, número de exámenes aprobados o número de exámenes suspendidos.

Cada uno de los atributos nos aporta información sobre cada alumno que contiene la identidad.

Los atributos se representan en el diagrama como círculos que cuelgan de las identidades (símbolos de rectángulos).

Relaciones

Las relaciones representan las dependencias que existen entre las distintas tablas o identidades. Por ejemplo, cada alumno realiza distintos exámenes durante el año, por lo tanto, cada alumno de la tabla o identidad “alumnos” estará relacionado con uno o varios exámenes de la tabla o identidad “exámenes”.

Estableciendo esta relación podemos ver las notas que ha sacado un alumno en las distintas pruebas realizadas durante el año escolar.

Estas relaciones se representan en el diagrama del modelo entidad-relación como rombos que se unen a las identidades mediante líneas.

Claves

  • Clave primaria :  es una clave que identifica a una entrada de la tabla como única. Por ejemplo, en nuestra base de datos del instituto sería un número identificativo único para cada alumno de la escuela.
  • Clave foránea : este campo sería, por ejemplo, el identificador del alumno en la tabla de exámenes. En esta tabla la identificación de alumno no será única ya que un alumno hace más de un examen. Por lo tanto, la clave foránea no debe ser única, pero debe estar relacionada con la clave primaria única de la tabla con la que se relaciona, en este caso, con la tabla de alumnos.

Ejemplos de base de datos relacional

Más que ejemplos de bases de datos tendríamos que hablar de ejemplos de gestores de BBDD relacionales.

Un sistema gestor de base de datos es un software cuya función consiste en almacenar, manipular y extraer todo tipo de información de la base de datos.

Algunos gestores ampliamente conocidos en el mundo tecnológico son los siguientes:

1. MySQL

MySQL es el sistema de gestión de datos de código abierto más popular de todo el planeta.

Algunas de las ventajas de MySQL es que es gratuita, es una base de datos muy rápida con lo que permite consultar datos con gran rapidez y precisión, es compatible con la mayoría de sistemas operativos y tiene un entorno de encriptación y seguridad.

Sin duda, MySQL es una perfecta opción para implementar en herramientas o aplicaciones web.

2. MariaDB

Este gestor es muy parecido al anterior ya que fue implementado por uno de los desarrolladores de MySQL. Estos dos son muy parecidos en funcionalidades.

Sin embargo, MariaDB añade algunas mejoras como, por ejemplo, la posibilidad de realizar consultas complejas que pueden ser almacenadas en el caché del ordenador para mejorar la velocidad cuando se vuelva a realizar ducha consulta.

MariaDB permite el uso de estructuras más complejas como las jerarquías de graphs . No obstante, en la mayor parte de situaciones, ambos gestores son válidos.

3. PostgreSQL

PostgreSQL, normalmente llamado Postgres, es un gestor de datos open source orientado a objetos que trabaja con el modelo relacional. Su lenguaje SQL es un poco diferente a los anteriores gestores.

Cumple con el modelo ACID, proporcionando a los datos almacenados Atomicidad, Consistencia, Integridad y Durabilidad. Esto evita que la información almacenada se corrompa.

Ventajas y desventajas de las BBDD relacionales

Algunas de las ventajas de usar bases de datos relacionales son las siguientes:

  • Madurez : este tipo de base de datos lleva mucho tiempo entre nosotros por lo que le abala una gran comunidad y mucha documentación al respecto.
  • Lenguaje SQL : Todas las BBDD relacionales funcionan con un gestor que permite extraer información usando lo que se conoce como SQL ( Structured Query Language ). Esto permite que haya una unificación y que una base de datos puede ser usada con distintos gestores.
  • Sencillez : Uno de sus puntos fuertes es su sencillez de uso. El SQL es un lenguaje que se parece mucho al lenguaje natural humano, con lo que, con poco tiempo se puede aprender a manejar este tipo de gestores.

Diferencia entre base de datos no relacional y base de datos relacional

Las bases de datos relacionales son una colección de objetos organizados en tablas con filas y columnas. Se usa un lenguaje de programación conocido como SQL (Structured Query Language) para consultar, añadir y modificar información de la base de datos.

Este tipo de base de datos utiliza el modelo relacional y establece distintas relaciones entre las tablas existentes en toda la base de datos.

Las bases de datos no relacionales o NOSQL no establecen relaciones y no utilizan las tablas para almacenar la información. Tienen una estructura flexible con lo que permiten guardar todo tipo de datos: gráficos, documentos, pares clave-valor etc.

Las bases de datos NOSQL están optimizadas para almacenar grandes cantidades de información no estructurada. Una de sus ventajas con respecto a las relacionales es su gran escalabilidad.