Clave foránea de caída de MySQL
La clave foránea es la clave que vincula dos o más tablas y forma un vínculo significativo entre ellas.
Esta clave hace referencia a la clave principal en la tabla secundaria y actúa como clave externa en la tabla principal. A menudo se denomina restricción de clave de referencia.
Soltar clave externa en MySQL
El hecho recopilado sobre la clave externa es que, dado que actúa como clave principal, no puede haber más de una entrada en la tabla y el registro es único con respecto a la clave principal.
La clave externa es una restricción que impide que el usuario elimine directamente los registros vinculados entre tablas, lo que ayuda a prevenir la acción del usuario y conduce a la seguridad de los datos.
La tabla donde reside la clave foránea se denomina tabla secundaria
, y aquella de la que procede la clave se denomina tabla padre
. El concepto de vincular tablas solo viene en los Sistemas de Gestión de Bases de Datos Relacionales.
Los beneficios de las restricciones de clave externa en MySQL se encuentran a continuación.
- La restricción impone la integridad referencial y, por lo tanto, la coherencia entre las tablas.
- El uso de restricciones como
ON DELETE CASCADE
yON UPDATE CONSTRAINTS
ayuda a mantener el comportamiento coherente de las tablas en toda la base de datos. - Con el tiempo, aumenta el rendimiento, ya que mantener las restricciones en las tablas interrelacionadas reduce la sobrecarga de recordar las tablas y se utiliza para detectar las tablas vinculadas.
- Aumenta el rendimiento al realizar mejores uniones y recuperar resultados más rápido ya que las tablas ya están vinculadas.
- Cuando se elimina un registro en la tabla principal antes que la clave externa, la consulta falla y no permite que se eliminen los registros. Muestra el vínculo entre las tablas y solicita eliminar primero los registros de la tabla secundaria en lugar de la principal.
A continuación se muestra la captura de pantalla de la misma.
Para soltar una clave externa, primero se deben crear tablas y generar claves externas en las tablas. A continuación se muestra el comando para crear la restricción de clave externa en las tablas definidas.
create table student(id varchar(255), name varchar(255), dob date, deptId varchar(255), primary key(id));
create table department(dept_id varchar(255), id varchar(255), dept_name varchar(255), constraint fk_id foreign key(id) references student(id));
Primero, la consulta anterior crea dos tablas: estudiante
y departamento
. La tabla tiene la forma de relación padre-hijo donde el atributo id
en la tabla estudiante
actúa como una clave externa id
en la tabla departamento
.
Capturas de pantalla adjuntas:
Cuando se insertan registros en la tabla, y cuando se intenta manipular el registro insertado con una declaración de “eliminación”, aparecerá el error que se muestra arriba. Para solucionar el problema de llenado, elimine la restricción de clave externa y realice la acción de eliminación.
Ahora, la sintaxis para eliminar la restricción creada anteriormente en MySQL es:
Alter table table_name drop constraint constraint_name;
El comando anterior usa el comando alterar
para cambiar el esquema de la tabla y la palabra clave soltar
para eliminar la restricción aplicada al esquema. Alterar tabla
es un lenguaje de definición de datos también conocido como el comando DDL
y ayuda a crear esquemas de bases de datos y tablas.
Alter table department drop constraint fk_id;
A continuación se muestra la captura de pantalla de la instrucción eliminar
cuando se elimina la restricción de clave externa.
Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.
LinkedIn