Modelo relacional
Como es el modelo más común, el modelo relacional ordena los datos en tablas, también conocidas como relaciones, cada una de las cuales se compone de columnas y filas. Cada columna enumera un atributo de la entidad en cuestión, por ejemplo, precio, código postal o fecha de nacimiento. En conjunto, a los atributos en una relación se los llama dominio. Se elige un atributo particular o una combinación de atributos como clave primaria, a la cual se puede hacer referencia en otras tablas, en donde se la denomina clave externa.
Cada fila, también denominada tupla, incluye datos sobre una instancia específica de la entidad en cuestión, por ejemplo, un empleado específico.
El modelo también tiene en cuenta los tipos de relaciones entre esas tablas, incluidas las relaciones uno a uno, uno a muchos y muchos a muchos. Aquí hay un ejemplo:
Dentro de la base de datos, las tablas se pueden normalizar, es decir, adaptar para que cumplan con reglas de normalización que hacen que la base de datos sea flexible, adaptable y escalable. Al normalizarla, cada dato es atómico, es decir, se divide en las partes útiles más pequeñas.
Las bases relacionales generalmente se escriben en lenguaje de consulta estructurado (SQL, por sus siglas en inglés). El modelo fue introducido por E. F. Codd en 1970.
Modelo jerárquico
El modelo jerárquico organiza los datos en una estructura de árbol, en la que cada registro tiene un único elemento o raíz. Los registros del mismo nivel se clasifican en un orden específico. Ese orden se usa a manera de orden físico para almacenar la base de datos. El modelo es bueno para describir muchas relaciones del mundo real.
Este modelo fue usado principalmente por los Sistemas de Gestión de Información de IBM en las décadas de 1960 y 1970, pero rara vez se utilizan en la actualidad debido a ciertas ineficiencias operativas.
Modelo de red
El modelo de red se basa en el modelo jerárquico, permitiendo relaciones de muchos a muchos entre registros vinculados, lo que implica registros principales múltiples. Basado en la teoría matemática de conjuntos, el modelo se construye con conjuntos de registros relacionados. Cada conjunto consiste de un registro propietario o principal, y uno o más registros miembros o secundarios. Un registro puede ser miembro o secundario en múltiples conjuntos, lo que permite que este modelo represente relaciones complejas.
Fue muy popular en la década de 1970 después de que fue definido formalmente por la Conference on Data Systems Languages (CODASYL).
Modelo de base de datos orientado a objetos
Este modelo define una base de datos como una colección de objetos, o elementos de software reutilizables, con funciones y métodos relacionados. Existen varios tipos de bases de datos orientadas a objetos:
Una base de datos multimedia incorpora archivos multimedia, como imágenes, que no podrían almacenarse en una base de datos relacional.
Una base de datos de hipertexto permite que cualquier objeto se conecte a cualquier otro objeto. Es útil para organizar lotes de datos disímiles, pero no es ideal para análisis numéricos.
El modelo de base de datos orientado a objetos es el mejor modelo conocido de base de datos posrelacional, ya que incorpora tablas, pero no se limita a ellas. A dichos modelos también se los conoce como modelos de base de datos híbridos.
Modelo relacional de objetos
Este modelo de base de datos híbrido combina la sencillez del modelo relacional con parte de la funcionalidad avanzada del modelo de base de datos orientado a objetos. En esencia, permite a los diseñadores incorporar objetos en una estructura familiar de tablas.
Entre los idiomas e interfaces de llamada se incluyen SQL3, lenguajes de proveedores, ODBC, JDBC e interfaces de llamada patentadas que son extensiones de lenguajes e interfaces usadas por el modelo relacional.
Modelo entidad-relación
Este modelo capta las relaciones entre entidades del mundo real de forma muy similar al modelo de red, pero no está directamente ligado a una estructura física de la base de datos. En cambio, con frecuencia se lo usa para diseñar una base de datos conceptualmente.
Aquí, a las personas, lugares y cosas, acerca de las cuales se almacenan puntos de datos, se las denomina entidades, cada una de las cuales tiene ciertos atributos que en conjunto forman su dominio. La cardinalidad, o relaciones entre entidades, también se representa en diagramas.
Una forma común del diagrama entidad-relación (ER) es el esquema de estrella, en el cual una tabla central de información se conecta a múltiples tablas dimensionales.
Otros modelos de bases de datos
Se han utilizado o se siguen utilizando hoy en día otros modelos de bases de datos.
Modelo de archivo invertido
Una base de datos construida con estructura de archivo invertido se diseña para facilitar búsquedas rápidas de texto completo. En este modelo, el contenido de datos se indexa como una serie de claves en una tabla de búsqueda, donde los valores indican la ubicación de los archivos asociados. Esta estructura puede proporcionar un informe casi instantáneo de, por ejemplo, datos masivos y análisis estadístico.
Este modelo ha sido usado por el sistema de gestión de bases de datos ADABAS de Software AG desde 1970, y se sigue utilizando en la actualidad.
Modelo plano
El modelo plano es el modelo de datos más antiguo y más sencillo. Simplemente presenta todos los datos en una sola tabla, que consiste de columnas y filas. Para acceder a los datos o manipularlos, la computadora tiene que leer todo el archivo plano y traerlo a la memoria, lo que hace que este modelo sea ineficiente para todo, excepto para los conjuntos de datos más pequeños.
Modelo multidimensional
Esta es una variación del modelo relacional diseñado para facilitar un mejor procesamiento analítico. Aunque el modelo relacional está optimizado para el procesamiento de transacciones en línea (OLTP), este modelo está diseñado para el procesamiento analítico en línea (OLAP).
Cada celda de una base de datos dimensional contiene datos acerca de las dimensiones registradas por la base de datos. Visualmente, es como una colección de cubos, en lugar de tablas bidimensionales.
Modelo semiestructurado
En este modelo, los datos estructurales comúnmente contenidos en el esquema de la base de datos están incrustados con los datos mismos. Aquí la diferencia entre los datos y el esquema es imprecisa en el mejor de los casos. Este modelo es útil para describir sistemas, tales como ciertas fuentes de datos basadas en web, las cuales tratamos como bases de datos, pero que no podemos limitar con un esquema. También es útil para describir interacciones entre bases de datos que no siguen el mismo esquema.
Modelo de contexto
Este modelo puede incorporar elementos de otros modelos de bases de datos, según sea necesario. Improvisa elementos de modelos orientados a objetos, semiestructurados y de red.
Modelo asociativo
Este modelo divide todos los puntos de datos en función de si describen una entidad o una asociación. En este modelo, una entidad es todo lo que existe de manera independiente, mientras que una asociación es algo que solo existe en relación a algo más.
El modelo asociativo estructura los datos en dos conjuntos:
- Un conjunto de elementos, cada uno con un identificador único, un nombre y un tipo.
- Un conjunto de enlaces, cada uno con un identificador único y los identificadores únicos de una fuente, verbo y objetivo. El hecho almacenado tiene que ver con la fuente, y cada uno de los tres identificadores puede referirse tanto a un enlace como a un elemento.
Otros modelos de base de datos menos comunes incluyen:
- Modelo semántico, que incluye información sobre cómo los datos almacenados se relacionan con el mundo real.
- Base de datos XML, que permite que los datos se especifiquen e incluso se almacenen en formato XML.
- Gráfico etiquetado
- Triplestore
Modelos de base de datos NoSQL
Además del modelo de base de datos de objetos, han surgido otros modelos distintos al tipo SQL en contraste con el modelo relacional:
El modelo de base de datos gráfico, que es aún más flexible que un modelo de red, permite que cualquier nodo se conecte con cualquier otro.
El modelo multivalor, el cual se desprende del modelo relacional, permite que los atributos contengan una lista de datos en lugar de un solo punto de datos.
El modelo de documentos está diseñado para almacenar y administrar documentos o datos semiestructurados, en lugar de datos atómicos.
Bases de datos en la Web
La mayoría de los sitios web dependen de cierto tipo de base de datos para organizar y presentar datos a los usuarios. Cada vez que alguien usa las funciones de búsqueda en estos sitios, sus términos de búsqueda se convierten en consultas para que un servidor de bases de datos los procese. Generalmente, programas intermedios conectan el servidor web con la base de datos.
La amplia presencia de las bases de datos permite que se usen casi en cualquier campo, desde compras en línea hasta el enfoque detallado en un segmento de votantes como parte de una campaña política. Diversas industrias han desarrollado sus propias normas para el diseño de bases de datos, desde el transporte aéreo hasta la fabricación de vehículos.