in

Restricción de SQL FOREIGN KEY


Restricción de SQL FOREIGN KEY

los FOREIGN KEY La restricción se utiliza para evitar acciones que destruyan los enlaces entre tablas.

A FOREIGN KEY es un campo (o colección de campos) en una tabla, que se refiere a la PRIMARY KEY en otra mesa.

La tabla con la clave externa se denomina tabla secundaria y la tabla con la clave principal se denomina tabla principal o referenciada.

Mire las siguientes dos tablas:

Tabla de personas

PersonID Apellido Primer nombre La edad
1 Hansen Ola 30
2 Svendson Tove 23
3 Pettersen Kari 20

Tabla de pedidos

Solicitar ID Número de orden PersonID
1 77895 3
2 44678 3
3 22456 2
4 24562 1

Observe que la columna «PersonID» de la tabla «Pedidos» apunta a la columna «PersonID» de la tabla «Personas».

La columna «PersonID» de la tabla «Personas» es la PRIMARY KEY en la tabla «Personas».

La columna «PersonID» de la tabla «Pedidos» es una
FOREIGN KEY
en la tabla «Pedidos».

los FOREIGN KEY La restricción evita que se inserten datos no válidos en la columna de clave externa, porque tiene que ser uno de los valores contenidos en la tabla principal.



CLAVE EXTRANJERA SQL en CREAR TABLA

El siguiente SQL crea un FOREIGN KEY en la columna «PersonID» cuando se crea la tabla «Pedidos»:

MySQL:

CREAR TABLA Órdenes (

OrderID int NOT NULL,

OrderNumber int NOT NULL,

PersonID int,

CLAVE PRIMARIA (OrderID),

FOREIGN KEY (PersonID) REFERENCIAS Personas (PersonID)
);

Acceso a SQL Server / Oracle / MS:

CREAR TABLA Órdenes (

OrderID int NOT NULL CLAVE PRINCIPAL,

OrderNumber int NOT NULL,

PersonID int REFERENCIAS CLAVE EXTRANJERAS Personas (PersonID)
);

Para permitir el nombramiento de un FOREIGN KEY restricción, y para definir una
FOREIGN KEY
restricción en varias columnas, utilice la siguiente sintaxis SQL:

MySQL / SQL Server / Oracle / MS Access:

CREAR TABLA Órdenes (

OrderID int NOT NULL,

OrderNumber int NOT NULL,

PersonID int,

CLAVE PRIMARIA (OrderID),

CONSTRAINT FK_PersonOrder EXTRANJERO CLAVE (PersonID)

REFERENCIAS Personas (PersonID)
);


CLAVE EXTRANJERA SQL en ALTER TABLE

Para crear un FOREIGN KEY restricción en la columna «PersonID» cuando la tabla «Pedidos» ya está creada, utilice el siguiente SQL:

MySQL / SQL Server / Oracle / MS Access:

Órdenes de ALTER TABLE
AÑADIR CLAVE EXTRANJERA (PersonID) REFERENCIAS Personas (PersonID);

Para permitir el nombramiento de un FOREIGN KEY restricción, y para definir una
FOREIGN KEY
restricción en varias columnas, utilice la siguiente sintaxis SQL:

MySQL / SQL Server / Oracle / MS Access:

Órdenes de ALTER TABLE
AÑADIR RESTRICCIÓN FK_PersonOrder
FOREIGN KEY (PersonID) REFERENCIAS Personas (PersonID);


SUPRIMIR una restricción de CLAVE EXTRANJERA

Para soltar un FOREIGN KEY restricción, utilice el siguiente SQL:

MySQL:

Órdenes ALTER TABLE
DROP FOREIGN KEY FK_PersonOrder;

Acceso a SQL Server / Oracle / MS:

Órdenes de ALTER TABLE
DROP CONSTRAINT FK_PersonOrder;

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Uso de SQL * Plus con oracleDatabase Exadata Express Cloud Service

Argumentos de la línea de comandos de Java – Javatpoint