El modelo relacional es un modelo de datos propuesto por Edgar F. Codd en 1970 que organiza la información en estructuras llamadas relaciones, que son esencialmente tablas bidimensionales compuestas por filas y columnas. Este modelo es la base de los sistemas de gestión de bases de datos relacionales (RDBMS, como MySQL, PostgreSQL y Oracle), y usa el lenguaje SQL (Structured Query Language) para manipular y consultar los datos.
Relación: Corresponde a una tabla en una base de datos, donde los datos están organizados en filas y columnas. Cada relación tiene un nombre único.
Tupla: Cada fila en una relación es una tupla y representa una instancia de datos en esa tabla. Por ejemplo, en una tabla «Empleado,» cada fila es un empleado específico.
Atributo: Cada columna en una relación es un atributo y representa una propiedad de la entidad que se está modelando. Por ejemplo, nombre
, edad
y puesto
son atributos de la relación «Empleado.»
Esquema de Relación: Es la estructura de una relación, que define el nombre de la relación y sus atributos. Un esquema de relación establece la estructura de la tabla pero no contiene datos específicos.
Dominio: Es el conjunto de valores posibles que puede tomar un atributo. Por ejemplo, el atributo edad
podría tener un dominio de valores enteros entre 0 y 100.
Las relaciones en el modelo relacional poseen ciertas características clave:
Valores Atómicos: Los valores de cada celda (o campo) en la tabla son indivisibles o atómicos. Esto significa que no se permite almacenar conjuntos o listas en una sola celda.
Unicidad de las Tuplas: Cada tupla en una relación debe ser única. No puede haber filas duplicadas, lo que permite identificar de forma única cada instancia en la tabla.
No existe un orden inherente: Ni las filas ni las columnas de una relación tienen un orden específico. Aunque los resultados pueden ordenarse al consultar, el modelo relacional no define un orden en su estructura base.
Integridad Referencial: Las relaciones pueden estar vinculadas entre sí mediante claves ajenas (foráneas), y el modelo asegura la integridad referencial, es decir, que una clave ajena debe corresponder a un valor válido de la clave primaria en otra relación.
Clave Primaria:
NULL
, y cada valor de la clave primaria debe ser único.empleado_id
podría ser la clave primaria, ya que cada empleado tiene un identificador único.Clave Ajena (Clave Foránea):
cliente_id
puede ser una clave ajena que referencia a la clave primaria id
de la tabla «Cliente». Esto indica que cada pedido está asociado con un cliente válido en la tabla de clientes.Supongamos un sistema de gestión de ventas:
Tabla Cliente:
cliente_id
(clave primaria), nombre
, correo
, telefono
Tabla Pedido:
pedido_id
(clave primaria), cliente_id
(clave ajena que referencia a cliente_id
en «Cliente»), fecha_pedido
, total
En este ejemplo, la relación entre cliente_id
en «Pedido» y «Cliente» garantiza que cada pedido esté asociado a un cliente válido y previene errores de datos, como registrar un pedido para un cliente inexistente.
Este modelo proporciona una base sólida y estructurada para diseñar y gestionar bases de datos en sistemas empresariales, facilitando el acceso seguro y eficiente a la información.