Baixe o app para aproveitar ainda mais
Prévia do material em texto
Criando uma chave estrangeira no Mysql Ricardo Esteves Kneipp (kneipp@faminas.edu.br) é professor da Faculdade de Minas Gerais (FAMINAS) e da Universidedde Iguaçu (UNIG). Graduado em Ciências da Computação (UCP), Pós-graduado em Informática na Educação (UFLA), Pós-graduado em Gestão Este artigo tem como objetivo apresentar de forma prática a implementação de chave estrangeira no MYSQL a partir do uso de tabelas do tipo InnoDB. 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 no 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 PRIMARY KEY , `descricao` VARCHAR( 50 ) NOT NULL ) ENGINE = innodb; CREATE TABLE `clientes` ( `codcliente` INT PRIMARY KEY , `nome` VARCHAR( 50 ) NOT NULL, ‘codcidade’ INT ) 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. Leia mais em: Criando uma chave estrangeira no Mysql http://www.devmedia.com.br/criando-uma-chave-estrangeira-no-mysql/20299#ixzz26N7F5xbt VENDEDOR 1--------------* VENDAS * ----------------------1CLIENTES *--------------------------1CIDADE
Compartilhar