logo

Clave externa en DBMS

Una clave externa es diferente de una superclave, clave candidata o clave primaria porque una clave externa es la que se utiliza para vincular dos tablas o crear conectividad entre las dos.

Aquí, en esta sección, analizaremos la clave externa, su uso y veremos algunos ejemplos que nos ayudarán a comprender el funcionamiento y el uso de la clave externa. También veremos su implementación práctica en una base de datos, es decir, crear y eliminar una clave foránea en una tabla.

¿Qué es una clave externa?

Una clave externa es la que se utiliza para vincular dos tablas a través de la clave principal. Significa que las columnas de una tabla apuntan al atributo de clave principal de la otra tabla. Además, significa que si algún atributo se establece como atributo de clave principal funcionará en otra tabla como atributo de clave externa. Pero hay que saber que una clave externa no tiene nada que ver con la clave primaria.

Uso de clave externa

El uso de una clave externa es simplemente vincular los atributos de dos tablas con la ayuda de un atributo de clave primaria. Por tanto, se utiliza para crear y mantener la relación entre las dos relaciones.

Ejemplo de clave externa

Analicemos un ejemplo para comprender el funcionamiento de una clave externa.

jtextfield

Considere dos tablas Alumno y Departamento teniendo sus respectivos atributos como se muestra en la siguiente estructura de tabla:

conversión de cadena a fecha
Clave externa en DBMS
Clave externa en DBMS

En las tablas, un atributo, como puede ver, es común, es decir Stud_Id , pero tiene restricciones clave diferentes para ambas tablas. En la tabla Estudiante, el campo Stud_Id es un Clave primaria porque identifica de forma única todos los demás campos de la tabla de Estudiantes. Por otro lado, Stud_Id es un clave externa atributo para la tabla Departamento porque actúa como atributo de clave principal para la tabla Estudiante. Significa que tanto la tabla de Estudiantes como la de Departamento están vinculadas entre sí debido al atributo Stud_Id.

En la figura que se muestra a continuación, puede ver la siguiente estructura de la relación entre las dos tablas.

Clave externa en DBMS

Nota: La integridad referencial en DBMS se desarrolla a partir del concepto de clave externa. Está claro que una clave primaria es una clave única existente y una clave externa siempre hace referencia a una clave primaria en alguna otra tabla, en la que la tabla que contiene la clave primaria se conoce como la tabla referenciada o tabla principal para la otra tabla que es tener la clave externa.

Crear restricción de clave externa

En CREAR TABLA

A continuación se muestra la sintaxis que nos hará aprender la creación de una clave foránea en una tabla:

 CREATE TABLE Department ( Dept_name varchar (120) NOT NULL, Stud_Id int, FOREIGN KEY (Stud_Id) REFERENCES Student (Stud_Id) ); 

Entonces, de esta manera, podemos establecer una clave externa para una tabla en la base de datos MYSQL.

En caso de crear una clave foránea para una tabla en SQL u Oracle server, funcionará la siguiente sintaxis:

 CREATE TABLE Department ( Dept_name varchar (120) NOT NULL, Stud_Id int FOREIGN KEY REFERENCES Student (Stud_Id) ); 

En ALTERAR TABLA

La siguiente es la sintaxis para crear una restricción de clave externa en ALTER TABLE:

 ALTER TABLE Department ADD FOREIGN KEY (Stud_Id) REFERENCES Student (Stud_Id); 

Dejar caer clave externa

Para eliminar una clave externa, se puede utilizar una sintaxis que se describe a continuación:

 ALTER TABLE Department DROP FOREIGN KEY FK_StudentDepartment; 

Entonces, de esta manera, podemos eliminar una clave externa usando ALTER TABLE en la base de datos MYSQL.

Punto para recordar

Cuando elimina la clave externa, es necesario cuidar la integridad de las tablas que están conectadas mediante una clave externa. En caso de que realice cambios en una tabla y perturbe la integridad de ambas tablas, es posible que se muestren ciertos errores debido a una conectividad inadecuada entre las dos tablas.

cuanto es 10 de 100

Acciones referenciales

Hay algunas acciones que están vinculadas con las acciones realizadas por el titular de la tabla de claves externas:

1) cascada

vikas divyakirti

Cuando eliminamos filas en la tabla principal (es decir, la que contiene la clave principal), también se eliminan las mismas columnas en la otra tabla (es decir, la que contiene una clave externa). Así, la acción se conoce como cascada .

2) Establecer NULO

Tal acción referencial mantiene la integridad referencial de ambas tablas. Cuando manipulamos/eliminamos una fila referenciada en la tabla principal/referenciada, en la tabla secundaria (tabla que tiene clave externa), el valor de dicha fila de referencia se establece como NULL. Esta acción referencial realizada se conoce como Establecer NULO .

3) Establecer PREDETERMINADO

isletra java

Esta acción tiene lugar cuando los valores de la fila referenciada de la tabla principal se actualizan o se elimina la fila y los valores de la tabla secundaria se establecen en los valores predeterminados de la columna.

4) Restringir

Es la restricción de restricción donde el valor de la fila a la que se hace referencia en la tabla principal no se puede modificar ni eliminar a menos que no esté referenciada por la clave externa en la tabla secundaria. Por tanto, es una acción referencial normal de una clave externa.

5) No Action

También es una restricción de la clave externa, pero se implementa solo después de intentar modificar o eliminar la fila referenciada de la tabla principal.

6) Desencadenantes

Todas estas y otras acciones referenciales se implementan básicamente como disparadores donde las acciones de una clave externa son muy similares o casi similares a los disparadores definidos por el usuario. Sin embargo, en algunos casos, las acciones referenciales ordenadas se reemplazan por sus activadores equivalentes definidos por el usuario para garantizar la ejecución adecuada del activador.