Modelo de una base de datos

Cuando hablamos de crear una base de datos, no podemos olvidarnos del modelo de base datos; este concepto determina en muchos casos el tipo de base de datos que vamos a emplear. En esta entrada vamos a explicar en qué consisten los modelos de bases de datos y qué tipos hay. 

¿Qué es un modelo de base de datos?

Un modelo de base de datos es la estructura lógica que adopta la base de base datos, incluyendo las relaciones y limitaciones que determinan cómo se almacenan y organizan y cómo se accede a los datos. Así mismo, un modelo de base de datos también define qué tipo de operaciones se pueden realizar con los datos, es decir, que también determina cómo se manipulan los mismos, proporcionando también la base sobre la que se diseña el lenguaje de consultas.

Tipos de modelos de bases de datos

Tal y como ocurre con las bases de datos, existen diferentes tipos de modelos de bases de datos, como vamos a ver en los próximos puntos. Qué modelo elegir para nuestra base de datos dependerá, por un lado, del sistema de gestión de bases de datos que estemos usando, puesto que este debe se compatible con el modelo de datos (lo habitual es que los SGBD estén desarrollados para emplear un modelo de base de datos en concreto, aunque hay algunos compatibles con múltiples modelos).

Modelo de base de datos relacional

El modelo de base de datos relacional es uno de los más comunes. Este modelo es el que emplean las bases de datos relacionales y ordena los datos en tablas (relaciones) compuestas por columnas y filas.

Cada columna alberga un atributo de la entidad (nombre, dirección, fecha de nacimiento…); a los atributos de una relación se los llama dominio. Escogiendo un atributo en concreto o una combinación de varios tenemos una clave primaria, a la que se puede hacer referencia en otras tablas, en las que será un clave externa.

En cada fila (tupla) se incluyen datos sobre una instancia específica de la entidad (por ejemplo, un cliente específico).

Además, el modelo también representa el tipo de relaciones entre las tablas, que pueden ser uno a uno, uno a muchos o muchos a muchos.

Podéis ver la estructura del modelo relacional de base de datos en el ejemplo:


Modelo jerárquico

Si vamos a emplear una base datos jerárquica, el modelo de datos que emplearemos será el jerárquico, que se caracteriza por presentar los datos en una estructura de árbol invertido, donde cada registro tiene un único nodo raíz, del que surgen otros nodos (registros); los nodos en un mismo nivel son nodos padre, cada nodo padre tiene el mismo nodo raíz, y puede tener nodos hijos, pero los nodos hijos solo pueden tener un nodo padre. Este modelo se emplea poco actualmente.

En este modelo, los registros de un mismo nivel se clasifican en un orden específico.


Modelo orientado a objetos

El modelo de la base de datos orientada a objetos define la base de datos como una colección de objetos utilizados en la programación orientada a objetos (es decir, que emplear lenguajes como C++ o Java, por ejemplo). Este modelo de base de datos utiliza tablas también, pero no solo se limita a ellas y permite almacenar información muy detallada sobre cada objeto.

Los objetos se dotan de un conjunto de características propias, que a su vez les diferencian de objetos similares. Los objetos similares pueden agruparse en una clase y cada objeto de esta es una instancia. Las clases intercambian datos entre sí a través métodos (mensajes).


Modelo entidad-relación

El modelo entidad-relación es básicamente el paso previo a uno modelo de bases datos relacional, puesto que se trata de un diagrama elaborado a través de unos elementos básicos y su relación entre ellos:


Modelos de bases de datos NoSQL

Ya hemos visto un modelo de bases de datos NoSQL, también llamadas bases de datos no relacionales, el modelo de base de datos orientado a objetos, pero existen otros: