¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)
Relación uno a uno en bases de datos: Concepto, Ejemplo y aplicación en Diagramas Entidad-Relación
Portada » Relación uno a uno en bases de datos: Concepto, Ejemplo y aplicación en Diagramas Entidad-Relación

Tiempo de lectura estimado: 3 minutes

Relación uno a uno en bases de datos: Concepto, Ejemplo y aplicación en Diagramas Entidad-Relación

Anuncios
Publicidad

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.
  • Entidad DNI
    • Atributos: ID_dni (clave primaria), numero_dni, fecha_emision.

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) );

Relación uno a uno en bases de datos: Entidad relación
Relación uno a uno en bases de datos: Concepto, Ejemplo y aplicación en Diagramas Entidad-Relación

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:

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)

Deja un comentario

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)
error: Content is protected !!
Scroll al inicio