Tecnología

Inicio

Clave Tutorial MySQL extranjera

La creación de una clave externa en MySQL es una parte de la integridad referencial en la base de datos. Una clave externa se conecta a las 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 claramente identifica al cliente. Una clave externa se coloca en la tabla de pedidos, que conecta el cliente a su fin.

clave principal

Antes de crear una clave externa, una tabla que tiene un campo de clave principal tiene que ser creado para la integridad referencial. En este ejemplo, la creación de la tabla de clientes y pedidos se puede lograr mediante la línea de comandos de MySQL. La sintaxis para crear una tabla es el siguiente:

CREATE TABLE customer
(

CustId INT NOT NULL,
first_name VARCHAR(30),
PRIMARY KEY (CustId)

) TYPE = INNODB;

En este ejemplo, se crea una tabla utilizando la sentencia palabra clave "crear la tabla". Si una clave principal es indeterminado, el programador puede dejar de lado la declaración clave principal hasta que sepa en qué campo de colocar la llave. Sin embargo, es importante para las tablas que contienen una clave principal, porque estos elementos aceleran el rendimiento. En este ejemplo, una clave primaria se crea en el campo "ID de cliente". El ID de cliente se utiliza para identificar claramente el cliente. Además, cuando la asignación de una clave principal a una tabla, debe ser único.

Clave externa

Ahora que se crea la clave primaria, una clave externa se crea en la tabla de pedidos. Una vez más, si el desarrollador de la base de datos no está seguro de la clave externa a 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 de clientes:

CREAR TABLA fin
(

Orderid INT NOT NULL,
cost INT,
CustId INT NOT NULL,
PRIMARY KEY(OrderId),
INDEX (CustId),
FOREIGN KEY (CustId) REFERENCES customer (CustId)

) TYPE = INNODB;

Observe que una clave principal se ha creado para esta tabla, así usando el OrderId, que también es un valor único. La sentencia que define la clave externa es la última en la sintaxis de la tabla. Se define la clave externa y le dice a la base de datos donde se encuentra su clave primaria. En este ejemplo, el campo ID de cliente en la tabla de pedidos hace referencia al ID de cliente en la tabla de clientes.