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
Para efetuar o download você precisa estar logado. 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.

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.

Listagem 1. Exemplo 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;

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:

Listagem 2. Alterando a estrutura das tabelas.

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 ` ) ;

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.

Criando chave estrangeira mysql

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.

 
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?