Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login

Criando uma chave estrangeira no MySQL

Veja nesse artigo como implementar uma chave estrangeira no MySQL a partir do uso de tabelas do tipo InnoDB. Um artigo completo que vai te ajudar a compreender tudo sobre chave estrangeira no MySQL. Confira.

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login

(opcional) Onde podemos melhorar?

Confirmar voto
0
 (5)  (0)

O MySQL, a partir da versão 3.23.43b, passa a incorporar o recurso de criação e manutenção de tabelas do tipo InnoDB. Tabelas do tipo InnoDB suportam restrições por chave estrangeira e o uso de stored procedures. Assim, se você quer modelar/desenvolver bancos implementando o recurso de chaves estrangeiras, suas tabelas terão que ser do tipo InnoDB.

Saiba mais sobre MySQL no nosso guia

Criando tabelas

Para criar tabelas do tipo InnoDB, você deverá incluir no final da tabela a seguinte sintaxe:

ENGINE = innodb;

Veja exemplos de criação de tabelas.

CREATE TABLE `cidades` (

`codcidade` INT NOT NULL ,
`descricao` VARCHAR( 50 ) NOT NULL

) ENGINE = innodb;

CREATE TABLE `clientes` (

`codcliente` INT PRIMARY KEY ,
`nome` VARCHAR( 50 ) NOT NULL

) ENGINE = innodb;

CREATE TABLE `vendedores` (

`codvendedor` INT PRIMARY KEY ,
`nome` VARCHAR( 50 ) NOT NULL

) ENGINE = innodb;

CREATE TABLE `vendas` (

`codvenda` INT PRIMARY KEY ,
`datavenda` DATE NOT NULL

`codcliente` INT,
`codvendedor` INT

) ENGINE = innodb;

Listagem 1. Exemplo de criação de tabelas.Após criar as tabelas, você fará uma alteração na estrutura de cada tabela que necessita utilizar a chave estrangeira. Essa alteração da estrutura da tabela é feita a partir do comando alter table.

Veja alguns exemplos:

ALTER TABLE `clientes` ADD CONSTRAINT `fk_cidade` FOREIGN KEY ( `codcidade` ) REFERENCES `cidade` ( `codcidade` ) ;

ALTER TABLE `vendas` ADD CONSTRAINT `fk_vendas_codcliente` FOREIGN KEY ( `codcliente` ) REFERENCES `clientes` ( ` codcliente ` ) ;

ALTER TABLE `vendas` ADD CONSTRAINT `fk_vendas_codvendedor` FOREIGN KEY ( `codvendedor` ) REFERENCES `vendedores` ( ` codvendedor ` ) ;

Listagem 2. Alterando a estrutura das tabelas.Após criar as chaves estrangeiras vamos verificar a estrutura das tabelas utilizando o comando DESC. Digite DESC vendas para visualizar a estrutura da tabela vendas.

Figura 1. Apresentação da estrutura da tabela vendas

Dica

Está inciando em PHP? Então confira esse artigo que vai lhe ensinar a como conectar o PHP e MySQL.

Conclusões

Neste artigo foram apresentados exemplos práticos da criação de chaves estrangeiras a partir do uso de de tabelas do tipo InnoDB.

Curso relacionado: MySQL
 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Ajude-nos a evoluir: você gostou do post?  (5)  (0)

(opcional) Onde podemos melhorar?

Confirmar voto
Compartilhe:
Ficou com alguma dúvida?