Criando uma chave estrangeira no MySQL é uma parte da integridade referencial no banco de dados . Uma chave estrangeira se conecta ao mesas. Uma chave estrangeira é usado em conjunto com uma chave principal , que é o registo principal para o conjunto de dados . Por exemplo , uma chave de primário pode ser utilizado no quadro de um cliente . A identificação do cliente é um campo único que identifica claramente o cliente. Uma chave estrangeira é colocado sobre a mesa de ordens , que conecta o cliente ao seu fim . Chave Primária
Antes de criar uma chave estrangeira, uma tabela que contém um campo de chave primária deve ser criada para a integridade referencial. Neste exemplo, a criação da tabela de clientes e pedidos pode ser feito usando a linha de comando MySQL . A sintaxe para a criação de uma tabela está abaixo:
CRIAR cliente TABLE ( CustId INT NOT NULL, primeiro_nome VARCHAR ( 30) , PRIMARY KEY ( CustId ) ) TYPE = INNODB ;
Neste exemplo, uma tabela é criada usando a " criar a tabela " declaração de palavra-chave. Se uma chave primária é indeterminado , o programador pode deixar de fora a declaração de chave primária até que ele sabe em que campo para colocar a chave. No entanto , é importante para as tabelas para conter uma chave primária, porque estes elementos acelerar o desempenho . Neste exemplo , uma chave principal é criada no campo " CustId " . O CustId é utilizado para identificar claramente o cliente . Além disso, ao atribuir uma chave primária para uma tabela, ele deve ser exclusivo.
Chave Estrangeira
Agora que a chave primária é criado, uma chave estrangeira é criado no tabela de pedidos . Mais uma vez, se o desenvolvedor de banco de dados não tem certeza da chave estrangeira para usar no momento da criação da tabela , ele pode ser adicionado mais tarde. O código a seguir cria uma tabela de pedidos com uma chave estrangeira que aponta para a tabela de clientes :
criar ordem TABLE ( orderId INT NOT NULL, INT custo , CustId INT NOT NULL, PRIMARY KEY ( OrderId ) , INDEX ( CustId ) , FOREIGN KEY ( custId ) referências de clientes ( custId ) ) TYPE = INNODB ;
Observe que uma chave primária foi criado para esta tabela , assim usando o OrderId , que também é um valor único. A declaração que define a chave estrangeira é o último na sintaxe mesa. Ele define a chave estrangeira e diz ao banco de dados onde sua chave primária está localizada. Neste exemplo , o campo CustId na tabela de pedidos referente a CustId na tabela de clientes.