web stats

Crear Claves Foraneas En Sql Server


Crear Claves Foraneas En Sql Server

Una clave foránea, o foreign key en inglés, es una columna (o un grupo de columnas) en una tabla que apunta a la clave primaria de otra tabla. Imagina que tienes dos tablas: una para Clientes y otra para Pedidos. La tabla Pedidos necesita saber a qué cliente pertenece cada pedido. Ahí es donde entra la clave foránea.

¿Para qué sirve?

La clave foránea sirve para establecer y mantener una relación entre dos tablas. Esta relación asegura la integridad referencial. En otras palabras, impide que se introduzcan datos incorrectos o inconsistentes en la base de datos. Por ejemplo, no se podrá crear un pedido para un cliente que no existe en la tabla Clientes.

Ejemplo sencillo

Digamos que tenemos dos tablas:

  • Clientes (ClienteID, Nombre, Dirección)
  • Pedidos (PedidoID, ClienteID, FechaPedido)

En este caso, la columna ClienteID en la tabla Pedidos es la clave foránea. Esta columna hace referencia a la columna ClienteID (la clave primaria) en la tabla Clientes.

Cómo crear una clave foránea en SQL Server

Puedes crear una clave foránea al crear la tabla, o modificar una tabla existente.

Llaves Primarias y Foráneas en SQL SERVER | Programación - Base de Datos
Llaves Primarias y Foráneas en SQL SERVER | Programación - Base de Datos

Creación al crear la tabla

Aquí tienes un ejemplo de cómo crear la tabla Pedidos con una clave foránea:


CREATE TABLE Pedidos (
  PedidoID INT PRIMARY KEY,
  ClienteID INT,
  FechaPedido DATE,
  CONSTRAINT FK_ClientePedido FOREIGN KEY (ClienteID)
  REFERENCES Clientes(ClienteID)
);

En este código:

Claves foráneas en Microsoft SQL Server - CódigoJavaLibre
Claves foráneas en Microsoft SQL Server - CódigoJavaLibre
  • CONSTRAINT FK_ClientePedido: Le da un nombre a la restricción de la clave foránea. Es útil para identificarla y modificarla después.
  • FOREIGN KEY (ClienteID): Especifica que la columna ClienteID es la clave foránea.
  • REFERENCES Clientes(ClienteID): Indica que esta clave foránea hace referencia a la columna ClienteID en la tabla Clientes.

Creación en una tabla existente

Si la tabla Pedidos ya existe, puedes agregar la clave foránea de esta manera:


ALTER TABLE Pedidos
ADD CONSTRAINT FK_ClientePedido
FOREIGN KEY (ClienteID)
REFERENCES Clientes(ClienteID);

Este código hace lo mismo que el ejemplo anterior, pero en una tabla ya creada.

Consideraciones importantes

  • La columna de la clave foránea debe tener el mismo tipo de datos que la columna de la clave primaria a la que hace referencia.
  • La tabla a la que se hace referencia (en este caso, Clientes) debe existir antes de crear la clave foránea.
  • Puedes tener múltiples claves foráneas en una tabla.

En resumen

Las claves foráneas son esenciales para mantener la integridad referencial en bases de datos relacionales. Permiten establecer relaciones entre tablas y asegurar que los datos sean consistentes y válidos. Comprender cómo crearlas y utilizarlas es fundamental para diseñar bases de datos robustas y eficientes. Recuerda: una clave foránea apunta siempre a una clave primaria de otra tabla.

tutorial sql server entrega #4 Creacion de claves foreneas con transact Guía completa: Cómo crear y utilizar llaves foráneas en SQL - JMJ

You might also like →