DevMedia
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
post favorito     comentários

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.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você poderia comentar o que não lhe agradou?

Confirmo meu voto negativo

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.

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

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.



Ricardo Esteves Kneipp (kneipp@faminas.edu.br) é professor da Faculdade de Minas Gerais (FAMINAS) e da Universidede Iguaçu (UNIG). Graduado em Ciências da Computação (UCP), Pós-graduado em Informática na Educação (UFLA).

O que você achou deste post?
Conhece a assinatura MVP?
Publicidade
Serviços

Mais posts