¿Qué es una base de datos relacional?

Evidentemente una base de datos no es ni un armario con baldas ni un archivador. Su utilidad es la misma: guardar algo de una forma más o menos ordenada de manera que nos sea fácil volver a sacarlo, pero en vez de para almacenar objetos, una base de datos está diseñada para manejar información, o lo que es lo mismo: textos (un nombre, un e-mail, una dirección), fechas (de nacimiento, de registro en una web) y números principalmente.

En este artículo hemos añadido la coletilla “relacionar y es un matiz importante ya que si bien la mayoría son relacinables y en esta web nos centraremos en ellas, existen muchos otros tipos de bases de datos: documentales, multivalor, de tipo clave-valor, etc.

El modelo relacional fue formulado en los años 70 por Edgar Frank Codd y simplificando mucho establece que una base de datos está formada por los siguientes elementos.

Tablas

Ampliemos nuestra abstracción y pensemos que una base de datos es una habitación llena de armarios. Pues bien, cada uno de éstos es una tabla.

Esto implica que toda la información está almacenada en ellas y por lo tanto son el elemento fundamental de una base de datos.

Campos o columnas

No todos los armarios (tablas) tienen por qué ser iguales: unos tendrán más baldas, otros menos pero más grandes, etc. en función de los artículos que se vayan a guardar.

En una base de datos estas baldas son las columnas de las tablas. Cuando se crea una, aparte de darle nombre, es imprescindible indicar qué columnas la forman.

Registros

Simplificando mucho también, un registro es el objeto que guardamos en un armario en concreto.

Para poder almacenarlo debe encajar en alguna de las baldas. Es decir, nunca podremos guardar una televisión en la balda del azúcar ni a la inversa.

Por lo tanto los registros son las filas, cada una de ellas compuesta de una o varias columnas con números, textos, etc. que almacenaremos en la base de datos para recuperarlos después.

Relaciones

Las relaciones son el concepto más complejo de entender y dado que son difíciles de extrapolar al mundo real, lo más sencillo es que lo veamos con un ejemplo del modelo relacional.

Pensemos en una base de datos donde queremos almacenarla lista de vehículos délos que dispone una empresa de renting. Supongamos que por cada uno de ellos queremos conocer la matricula, marca, el modelo, la cilindrada, el consumo mixto y los kilómetros recorridos.

El modelo relacional nos permite evitar esta duplicidad de información mediante el uso de relaciones. En este caso lo ideal seria separar los datos concretos de los vehículos (matricula, modelo y KM) de los propios de los modelos (marca, cilindrada y consumo).

Las dos tablas estarían relacionadas por la columna “MODELO” de manera que si queremos conocer las características generales de un vehículo, nos bastaría con acudir a la tabla de modelos de coches.

Para comprender la utilidad de esta separación piensa en una empresa de renting que tuviera 1.000 vehículos en su flota. Si la información no está separada, cada vez que diesen de alta un nuevo vehículo tendrían que acordarse de las características generales.

Segregando la información el proceso de almacenar los modelos es mucho más sencillo ya que no sería necesario conocer ni la cilindrada, ni el consumo, ni la marca.

Restricciones

Piensa en una restricción (CONSTRAINT en inglés) como en una norma que nos obliga o nos prohíbe hacer algo a la hora de guardar datos. Las hay de varios tipos y son fundamentales para poder almacenar y recuperar información de nuestra base de datos.

Las más importante y la única con la que trabajaremos a lo largo del curso es la denominada “Clave Primaria” (PRIMARY KEY o simplemente PK). Piensa en esta clave como en el nombre único de cada uno de los registros.

¿Cuál es la columna con la que podemos identificar de forma univoca a cada uno de los coches de la empresa? Efectivamente: la matricula. Es única para cada coche y no varia, siendo éstas dos de las tres características principales de una clave primaria.

La tercera es que no puede repetirse dentro de la misma tabla, es decir, no pueden existir dos filas con la misma clave primaria ya que de lo contrario no tendríamos forma de identificar cada uno de los registros.

Resumiendo

Has aprendido que a grandes rasgos una base de datos relacional no es más que un conjunto de tablas que se relacionan entre sí.

Cada una de las tablas están formadas poruña o varias columnas y son el lugar donde se almacenan los datos, esto es, números, fechas, textos, imágenes, etc.

Finalmente has aprendido que podemos establecer restricciones (CONSTRAINTS) para controlar la información que guardamos.