Site Info Site Info

Como Poner Llaves Foraneas En Sql

Como Poner Llaves Foraneas En Sql

Para poner llaves foráneas en SQL, sigue estos pasos. Son varios, pero cada uno es importante.

Paso 1: Asegúrate de que existen las tablas

Primero, verifica que las dos tablas que vas a relacionar existan. Por ejemplo, tenemos la tabla 'clientes' y la tabla 'ordenes'. La tabla 'clientes' debe estar creada antes de crear la tabla 'ordenes' que va a hacer referencia a ella.

Usa el comando SHOW TABLES; para verificar su existencia. Si alguna tabla no existe, créala primero.

Paso 2: Define las columnas clave primaria

Asegúrate de que la tabla principal (la que se va a referenciar) tenga una llave primaria. La llave foránea hará referencia a esta llave primaria. Por ejemplo, la tabla 'clientes' debe tener una columna (normalmente llamada 'id_cliente') que sea la llave primaria.

Si la tabla ya existe pero no tiene llave primaria, puedes agregarla con el comando ALTER TABLE. Por ejemplo: ALTER TABLE clientes ADD PRIMARY KEY (id_cliente);.

Crear LLAVES / Claves 🔑 FORANEAS en SQL Server ️ - YouTube
Crear LLAVES / Claves 🔑 FORANEAS en SQL Server ️ - YouTube

Paso 3: Define la columna llave foránea en la tabla secundaria

En la tabla secundaria (la que va a contener la llave foránea), crea una columna que almacenará los valores de la llave primaria de la tabla principal. Siguiendo el ejemplo, la tabla 'ordenes' debería tener una columna llamada 'id_cliente'. El nombre de esta columna puede variar, pero es buena práctica que sea descriptivo.

Esta columna debe tener el mismo tipo de dato que la llave primaria de la tabla principal. Si 'id_cliente' en la tabla 'clientes' es INT, entonces 'id_cliente' en la tabla 'ordenes' también debe ser INT.

Cómo incorporar llaves primarias y llaves foráneas al relacionar dos
Cómo incorporar llaves primarias y llaves foráneas al relacionar dos

Paso 4: Agrega la restricción de llave foránea

Ahora, agrega la restricción de llave foránea. Esto le dice a la base de datos que la columna en la tabla secundaria hace referencia a la llave primaria en la tabla principal. Usa el comando ALTER TABLE.

La sintaxis general es: ALTER TABLE nombre_tabla_secundaria ADD CONSTRAINT nombre_restriccion FOREIGN KEY (columna_llave_foranea) REFERENCES nombre_tabla_principal(columna_llave_primaria);

En nuestro ejemplo, sería algo así: ALTER TABLE ordenes ADD CONSTRAINT fk_ordenes_clientes FOREIGN KEY (id_cliente) REFERENCES clientes(id_cliente);. Aquí, 'fk_ordenes_clientes' es el nombre que le damos a la restricción (puede ser cualquier nombre descriptivo).

¿Cómo crear llave foránea en tabla de SQL Server? #sql #sqlserver #
¿Cómo crear llave foránea en tabla de SQL Server? #sql #sqlserver #

Paso 5: Considera las opciones ON DELETE y ON UPDATE

Puedes especificar qué debe pasar cuando se borra o actualiza una fila en la tabla principal. Esto se hace con las cláusulas ON DELETE y ON UPDATE en la restricción de llave foránea.

Algunas opciones comunes son: CASCADE (propaga el cambio a la tabla secundaria), SET NULL (establece la llave foránea como NULL), RESTRICT (impide el borrado o actualización si hay filas relacionadas en la tabla secundaria) y NO ACTION (similar a RESTRICT, pero la verificación se hace al final de la transacción).

Claves primarias, foráneas y relaciones entre tablas en MySQL - Norvic
Claves primarias, foráneas y relaciones entre tablas en MySQL - Norvic

Ejemplo con ON DELETE SET NULL: ALTER TABLE ordenes ADD CONSTRAINT fk_ordenes_clientes FOREIGN KEY (id_cliente) REFERENCES clientes(id_cliente) ON DELETE SET NULL;. Esto significa que si borras un cliente, el campo 'id_cliente' en las órdenes asociadas se establecerá como NULL.

Paso 6: Verifica la restricción

Para verificar que la restricción de llave foránea se haya creado correctamente, puedes usar un comando como SHOW CREATE TABLE ordenes;. Esto te mostrará la definición de la tabla 'ordenes', incluyendo la restricción de llave foránea que acabas de agregar.

También puedes intentar insertar datos en la tabla secundaria que no correspondan a una llave primaria existente en la tabla principal. Deberías recibir un error si la restricción está funcionando correctamente. Esto te confirma que la llave foránea está impidiendo la inserción de datos inválidos.

Gallery

Crear llaves foraneas en MySQL Server - YouTube
Consistencia llaves foraneas en MySQL (MariaDB) YouTube
Creación de llave foránea y llave primaria en PostgreSQL - YouTube
Relaciones en SQL: Claves Primarias y Foráneas | Programar SQL
Creacion de claves foraneas MySQL, SQL Server, Ms Access - YouTube
PPT - Modelo Relacional PowerPoint Presentation, free download - ID:2089107