Características de las restricciones de clave extranjera:
Algunas características importantes de la restricción de clave extranjera se explican a continuación.
Requisito previo:
Antes de crear una restricción de clave extranjera, debe crear una base de datos y una tabla principal con la clave principal. Supongamos que el nombre de la base de datos es 'biblioteca'Y contiene dos tablas de padres llamadas'libros' y 'prestatario'. Hacer una conexión con el servidor mySQL usando el mysql cliente y ejecute las siguientes declaraciones SQL para crear la base de datos y las tablas.
Crear biblioteca de bases de datos;Definir la restricción de clave extranjera utilizando la declaración Crear
Crear una tabla llamada 'book_borrow_info'con restricciones de clave extranjera ejecutando la siguiente declaración. Aquí el book_id el campo es un clave externa para esta tabla y cada valor de este campo debe existir en el identificación campo de libros mesa. libros es la mesa principal y book_borrow_info es la mesa de los niños. También se establecen dos restricciones con la clave extranjera aquí. Estos son Eliminar la cascada y Actualizar Cascade. Eso significa que si alguna clave primaria se eliminará o se actualizará de la tabla principal, entonces se eliminarán los registros correspondientes relacionados con la tabla infantil relacionada con la clave externa o la clave extranjera.
Crear tabla book_borrow_info (Ahora, ejecute las siguientes declaraciones SQL para insertar algunos registros en ambas tablas. La primera declaración de inserción insertará cuatro registros en libros mesa. Los cuatro valores de identificación campo de libros La tabla será 1, 2, 3 y 4 para el atributo de auto-incremento. La segunda declaración de inserción insertará cuatro registros en book_borrow_info basado en el identificación valor de libros mesa.
Insertar en los valores de los librosSi intenta insertar un valor en el campo de clave extranjera de la tabla infantil que no existe en el campo clave primario de la tabla principal, MySQL generará un error. La siguiente instrucción SQL generará un error porque la tabla principal, libros no contiene ningún valor de identificación 10.
Insertar en valores de book_borrow_infoDespués de ejecutar la siguiente declaración de eliminación, cuando el cuarto registro se eliminará del libros tabla luego los registros relacionados del book_borrow_info La tabla se eliminará automáticamente para la restricción de clave extranjera.
Eliminar de los libros donde id = 4;Definir la restricción de clave extranjera utilizando la declaración alter
Al principio, inserte algunos registros en prestatarios tabla y esta tabla se definirá como tabla principal en la siguiente ALTERAR declaración.
Insertar en los valores de los prestatariosEjecutar lo siguiente ALTERAR declaración para establecer otra restricción de clave extranjera para book_borrow_info mesa para hacer la relación con prestatarios mesa. Aquí, pedir prestado_id se define como una clave extranjera para book_borrow_info mesa.
Alter tabla book_borrow_info Agregar restricción FK_BORROWER
REFERENCIA DE LA CLAVE EXTRANJERO (LA PROREST_ID) REFERENCIAS PROBRITOS (ID) EN RESTERENCIA DE LA CASCADA DELECHE CASCADA;
Ahora, inserte un registro en book_borrow_info con válido pedir prestado_id valor que existe en identificación campo de prestatarios mesa. 157643 El valor existe en la tabla de los prestatarios y la siguiente declaración de inserción se ejecutará correctamente.
Insertar en valores de book_borrow_infoLa siguiente declaración de inserción generará un mensaje de error porque el valor de ID 195680 no existe en la mesa de los prestatarios.
Insertar en valores de book_borrow_infoConclusión:
Definir las restricciones de clave extranjera correctamente es una tarea muy importante para crear una base de datos relacional y administrar datos entre las tablas de manera apropiada. Conocer los usos de las restricciones de clave extranjera es muy esencial para los diseñadores de bases de datos. Espero que este artículo ayude a los nuevos diseñadores de bases de datos a comprender el concepto de restricciones de clave extranjera y aplicarlas adecuadamente en sus tareas.