Tiempo de lectura estimado: 3 minutos
Table of Contents
Relación uno a uno en bases de datos: Concepto, Ejemplo y aplicación en Diagramas Entidad-Relación
En esta guía aprenderás qué es una relación uno a uno (1:1) en bases de datos, cómo representarla en un diagrama entidad-relación (ER) y cómo implementarla en MySQL con un ejemplo práctico.
¿Qué es una relación uno a uno en bases de datos?
Una relación uno a uno ocurre cuando:
- Cada registro de una entidad corresponde a un único registro en otra entidad.
- Ningún registro puede estar vinculado a más de un registro en la entidad relacionada.
Es decir:
👉 Un elemento de la tabla A se relaciona con un solo elemento de la tabla B, y viceversa.
Ejemplo práctico: Persona y DNI
Pensemos en la relación entre una persona y su DNI (Documento Nacional de Identidad).
- Desde el punto de vista de la persona: cada persona tiene un único DNI.
- Desde el punto de vista del DNI: cada DNI pertenece solo a una persona.
Por lo tanto, la relación es estrictamente 1:1.
Representación en un diagrama Entidad-Relación
Para visualizar este caso, usamos un diagrama ER con las siguientes entidades y atributos:
- Entidad Persona
- Atributos:
ID_persona
(clave primaria),nombre
,apellido
.
- Atributos:
- Entidad DNI
- Atributos:
ID_dni
(clave primaria),numero_dni
,fecha_emision
.
- Atributos:
Relación y cardinalidad
- Cada persona tiene exactamente un DNI.
- Cada DNI pertenece a una sola persona.
- En el diagrama ER, esta relación se representa con un 1:1 en ambos lados.
📌 Visualmente, entre las entidades Persona y DNI se dibuja una línea con un “1” en cada extremo.
Implementación en MySQL
Podemos llevar este modelo a una base de datos relacional creando dos tablas.
CREATE TABLE persona ( ID_persona INT PRIMARY KEY, nombre VARCHAR(50), apellido VARCHAR(50) ); CREATE TABLE dni ( ID_dni INT PRIMARY KEY, ID_persona INT UNIQUE, numero_dni VARCHAR(20), fecha_emision DATE, FOREIGN KEY (ID_persona) REFERENCES persona(ID_persona) );

Detalles importantes:
- La tabla persona guarda los datos básicos de cada persona.
- La tabla dni incluye una clave foránea (ID_persona) que apunta a la persona a la que pertenece el documento.
- La restricción UNIQUE en
ID_persona
garantiza que un DNI no pueda vincularse a más de una persona, asegurando la relación uno a uno.
Inserción de datos
Ahora probemos el modelo insertando registros:
INSERT INTO persona (ID_persona, nombre, apellido)
VALUES (1, 'Juan', 'Pérez');
INSERT INTO dni (ID_dni, ID_persona, numero_dni, fecha_emision)
VALUES (1, 1, '12345678X', '2025-01-01');
➡️ Con estas sentencias, hemos vinculado a Juan Pérez con su DNI 12345678X.
¿Para qué sirven las relaciones uno a uno?
Este tipo de relación es útil cuando necesitas separar información en varias tablas para:
- Evitar redundancia.
- Asegurar consistencia.
- Mejorar la seguridad (por ejemplo, guardar información sensible en otra tabla).
- Facilitar la escalabilidad del sistema.
Ejemplos comunes:
- Persona ↔ DNI
- Usuario ↔ Perfil
- País ↔ Capital
La relación uno a uno (1:1) es un concepto básico pero esencial en el diseño de bases de datos. Permite mantener la integridad de los datos y modelar situaciones donde la correspondencia entre entidades debe ser estrictamente exclusiva.
Con el ejemplo de Persona ↔ DNI, has visto cómo representarla en un diagrama ER y cómo implementarla en MySQL mediante claves primarias, foráneas y restricciones UNIQUE
.
Si te ha gustado este artículo, ¡no olvides compartirlo y suscribirte para más contenido como este!
Seguir leyendo: