4D v16

definición_llave_foránea

Inicio

 
4D v16
definición_llave_foránea

definición_llave_foránea  


 

 

Command foreign_key_definitioCONSTRAINT nom_sql

FOREIGN KEY (ref_columna, ... , ref_columna)

REFERENCES nom_sql [(ref_columna, ... , ref_columna)]

[ON DELETE {RESTRICT |CASCADE}]

[ON UPDATE {RESTRICT |CASCADE}]

Una definición de llave foránea (definición_llave_foránea) se usa para hacer corresponder los campos llaves primarias (ref_columna) definidos en otra tabla con el fin de preservar la integridad de los datos. La restricción FOREIGN KEY permite pasar las referencias de una o más columnas (ref_columna) a definir como llaves foráneas (correspondientes a las claves primarias de otra tabla).

La cláusula CONSTRAINT nom_sql se utiliza para nombrar la restricción FOREIGN KEY.

La cláusula REFERENCES permite especificar los campos llaves primarias fuente correspondientes en la otra tabla (designada por nom_sql). Puede omitir la lista de campos (argumentos ref_columna) si la tabla (nom_sql) definida en la cláusula REFERENCES tiene una llave primaria que se va a utilizar como la clave correspondiente para la restricción llave foránea.

La cláusula opcional ON DELETE CASCADE especifica que cuando se elimina una línea de la tabla padre (que contiene los campos llaves primarias), también se elimina de las líneas asociadas con la línea de la tabla hijo (que contiene los campos llaves foráneas). Pasar la cláusula opcional ON DELETE RESTRICT evita la eliminación de datos de una tabla si otras tablas las referencian.

La cláusula opcional ON UPDATE CASCADE especifica que siempre que se actualiza una línea en la tabla padre (que contiene los campos de llaves primarias), también se actualiza en las líneas asociadas a esa línea de la tabla hijo (que contiene los campos llaves foráneas). Pasar la cláusula opcional ON UPDATE RESTRICT evita la actualización de los datos de una tabla si otras tablas las referencian.
Tenga en cuenta que si se pasan las dos cláusulas ON DELETE y ON UPDATE, ambas deben ser del mismo tipo (por ejemplo, ON DELETE CASCADE y ON UPDATE CASCADE o ON DELETE RESTRICT y ON UPDATE RESTRICT).
Si no se pasan ni la cláusula ON DELETE ni la ON UPDATE, entonces CASCADE se utiliza como la regla por defecto.

Ejemplo  

Este ejemplo crea la tabla ORDENES luego define la columna SID_Clientes como llave foránea, asociada a la columna SID de la tabla CLIENTES:

CREATE TABLE ORDENES
(ID_Orden INT32,
SID_Clientes INT32,
Cantidad NUMERIC,
PRIMARY KEY (ID_Comando),
CONSTRAINT fk_1 FOREIGN KEY (SID_Clientes) REFERENCES CLIENTES(SID));



Ver también 

ALTER TABLE
definición_llave_primaria
ref_columna

 
PROPIEDADES 

Producto: 4D
Tema: Reglas de sintaxis

 
HISTORIA 

 
ARTICLE USAGE

Manual de SQL ( 4D v16)