Sobes.tech
Junior

¿Cómo se logra la relación en una base de datos relacional?

sobes.tech AI

Respuesta de la IA

Las relaciones en los sistemas de gestión de bases de datos relacionales (SGBDR) se logran mediante claves externas (Foreign Keys).

Una clave externa es una columna o conjunto de columnas en una tabla que hace referencia a la clave primaria en otra tabla. De esta manera, se establece una relación entre los registros en dos tablas.

Ejemplos de tipos de relaciones:

  • Uno a muchos (One-to-Many): Un registro en la primera tabla está relacionado con varios registros en la segunda tabla. Por ejemplo, un departamento puede tener muchos empleados. En la tabla Empleados habrá una clave externa que hace referencia a la clave primaria en la tabla Departamentos.
  • Muchos a muchos (Many-to-Many): Varios registros en la primera tabla están relacionados con varios registros en la segunda tabla. Por ejemplo, un estudiante puede cursar varios cursos, y un curso puede ser cursado por varios estudiantes. Para implementarlo, se usa una tabla intermedia (tabla de relaciones) que contiene claves externas que hacen referencia a las claves primarias de ambas tablas.
  • Uno a uno (One-to-One): Un registro en la primera tabla está relacionado solo con un registro en la segunda tabla. Este es un tipo de relación menos común y a menudo se usa para dividir verticalmente una tabla o para almacenar datos opcionales. Se implementa mediante una clave externa en la segunda tabla que hace referencia a la clave primaria en la primera, a menudo con una restricción de unicidad en la clave externa.

Ejemplo de creación de una tabla con clave externa en SQL:

-- Crear la tabla Departamentos
CREATE TABLE Departments (
    department_id INT PRIMARY KEY, -- Clave primaria
    department_name VARCHAR(100)
);

-- Crear la tabla Empleados con clave externa
CREATE TABLE Employees (
    employee_id INT PRIMARY KEY,
    employee_name VARCHAR(100),
    department_id INT, -- Columna para la clave externa
    FOREIGN KEY (department_id) REFERENCES Departments(department_id) -- Definición de la clave externa
);

Las claves externas garantizan la integridad referencial de los datos, evitando la creación de enlaces "colgantes" (cuando la clave externa hace referencia a un registro inexistente en la tabla relacionada).