Crear una clave externa en MySQL es una parte de la integridad referencial en la base de datos . Una clave externa se conecta a tablas. Una clave externa se utiliza junto con una clave principal , que es el registro principal para el conjunto de datos . Por ejemplo , una clave principal podría ser utilizado en la mesa de un cliente . El ID de cliente es un campo único que identifica claramente el cliente . Una clave externa se coloca en la tabla de pedidos , que se conecta el cliente a su fin . Clave principal
Antes de crear una clave externa , una tabla que contiene un campo de clave principal tiene que ser creado por la integridad referencial . En este ejemplo , la creación de la mesa para que los clientes y los pedidos se puede lograr mediante la línea de comandos de MySQL . La sintaxis para crear una tabla es a
CREATE TABLE customer ( IdCliente INT NOT NULL, 'nombre VARCHAR ( 30 ) , PRIMARY KEY ( IdCliente ) ) TYPE = INNODB ;
En este ejemplo, una tabla se crea con el " create table " declaración de palabras clave. Si la clave principal es indeterminado , el programador puede dejar de lado la declaración clave primaria hasta que sepa en qué campo para colocar la clave. Sin embargo , es importante que las tablas para contener una clave principal, ya que estos elementos de acelerar el rendimiento. En este ejemplo , se crea una clave principal en el campo " ID de cliente " . El ID de cliente se utiliza para identificar claramente el cliente . Además, al asignar una clave principal para una tabla, debe ser único .
Clave externa
Ahora que se crea la clave principal , se crea una clave externa en la tabla de pedidos . Una vez más, si el desarrollador de bases de datos no está seguro de la clave externa para utilizar en el momento de creación de la tabla , se puede añadir más tarde. El siguiente código crea una tabla de pedidos con una clave externa que apunta a la tabla clientes :
crear orden MESA ( orderId INT NOT NULL, costo INT, CustId INT NOT NULL, PRIMARY KEY ( OrderId ) , INDEX ( CustId ) , FOREIGN KEY ( IdCliente ) REFERENCIAS cliente ( IdCliente ) ) TYPE = INNODB ;
en cuenta que se ha creado una clave primaria para esta tabla y utilizando el OrderId , que también es un valor único. La declaración que define la clave foránea es el último en la tabla de sintaxis . Define la clave externa y le dice a la base de datos donde se encuentra la clave principal. En este ejemplo, el campo IdCliente de la tabla Pedidos referencia al ID de cliente en la tabla de clientes.