Pular para o conteúdo principal

INSERÇÃO DE CHAVE PRIMÁRIA E ESTRANGEIRA - MYSQL


O texto a seguir descreve um método de atribuir a propriedade de chave primária e estrangeira para um campo de sua tabela, utilizando linhas de comando.

O QUE É CHAVE PRIMÁRIA EM BANCO DE DADOS?

De forma genérica, chave primária representa o atributo de identificação dos cadastros de uma tabela - geralmente representa o campo ID. Com ela, é possível fazer pesquisas em SQL utilizando apenas este atributo.

Diferentemente das chaves exclusivas (ou chaves únicas), esse campo não pode ser NULO, pois funciona como a certidão de nascimento dos registros em questão.

O QUE É CHAVE ESTRANGEIRA EM BANCO DE DADOS?

A chave estrangeira é o atributo que estabelece um relacionamento entre duas tabelas. Por meio dela, é possível atribuir um campo A de uma tabela A ao campo A de uma tabela B.

Por exemplo, tenha em mente 3 tabelas chamadas MÓVEIS (m_id*, m_nome, m_descricao), CATEGORIAS (ct_id*, ct_nome) e DESIGNERS (d_id*, d_nome, d_bio) - os asteriscos representam as chaves primárias -, para relacionarmos essas 3 tabelas, devemos pensar que um móvel possui uma categoria e ele é fabricado por certo designer, portanto, as relações serão estabelecidas pela tabela MÓVEIS, com os campos (m_id, m_nome, m_descricao, d_id**, ct_id**); repare que a nomenclatura das chaves estrangeiras seguem a mesma ideia da nomenclatura das chaves primárias de suas respectivas tabelas. 

Com isso, fica mais prático relacionar diferentes tabelas no MySQL, facilitando o trabalho do programador.

CRIAÇÃO DA CHAVE PRIMÁRIA

Irei ensinar a forma de criação pelas linhas de código, porém, alguns programas facilitam esse processo. Primeiro, abra seu console do MySql de seu servidor - estarei utilizando o Laragon, mas você pode utilizar outros, como o XAMPP ou o WAMP -, agora, crie ou escolha um banco de dados; no meu caso, irei criar um banco chamado "teste":

➤ CREATE DATABASE teste;

Após o "use teste", criarei uma tabelas com três colunas; há dois jeitos de definir uma chave primária: na criação da tabela ou posteriormente, com a utilização de um ALTER TABLE.

A primeira tabela se chamará "pessoas", com os parâmetros abaixo:

➤ CREATE TABLE pessoa(p_id INT NOT NULL AUTO_INCREMENT, p_nome VARCHAR(20), p_sobrenome VARCHAR(20), PRIMARY KEY (p_id));

Veja que "p_id" possui dois atributos, NOT NULL e AUTO_INCREMENT, o primeiro, como o próprio nome sugere, impede que um novo registro seja feito com esse campo vazio, e o segundo atribui um valor inteiro automaticamente, em ordem crescente.

Se caso você já tenha criado sua tabela, mas esqueceu de definir a chave primária, basta utilizar o código a seguir:

➤ ALTER TABLE sua_tabela ADD PRIMARY KEY(sua_chave_primaria);

CRIAÇÃO DA CHAVE ESTRANGEIRA

Neste mesmo banco de dados, vamos criar uma nova tabela chamada "veiculo" e definir o "p_id" como uma chave estrangeira:

➤ CREATE TABLE veiculo(v_id INT NOT NULL AUTO_INCREMENT, v_modelo VARCHAR(20), v_marca VARCHAR(20), v_placa VARCHAR(7), p_id INT, PRIMARY KEY (v_id));

Repare que "p_id" será nossa chave estrangeira, vinda da tabela "pessoa". Agora, para definirmos ela como chave estrangeira, podemos utilizar a seguinte linha de código:

➤ ALTER TABLE `veiculo` ADD CONSTRAINT `fk_carpessoa` FOREIGN KEY ( `p_id` ) REFERENCES `pessoa` ( `p_id` );

A linha de código acima define o campo "p_id" da tabela "veiculo" como chave estrangeira, utilizando-se como referencia a chave primária "p_id" da tabela "pessoa".

Com isso, o relacionamento entre as duas tabelas está estabelecido. Ao preenchermos os campos com valores na tabela pessoa, poderemos relacionar um campo da tabela "veiculo" aos dados presentes na "pessoa".

Essa é uma prática muito útil ao trabalharmos em um projeto que envolva banco de dados relacional. Você notará que as consultas podem assumir instruções mais complexas, e o tratamento de erros ficará mais direto ao ponto.

Espero que este artigo tenha sido de grande ajuda para você que está iniciando em banco de dados, ou até para você que esteja revendo alguns conceitos da área. :)

Comentários

Postagens mais visitadas deste blog

INSTALAÇÃO DO FRAMEWORK LARAVEL 7.X - COMPOSER

      Você irá conferir, neste artigo, como realizar a instalação do framework PHP muito utilizado pelo mercado chamado Laravel. Em artigos futuros, apresentarei melhor as funcionalidades e tecnologias que podemos usufruir enquanto desenvolvedores. INSTALAÇÂO DO FRAMEWORK     Antes de tudo, você precisará ter o PHP e o Composer instalados em sua máquina. Para a instalação do PHP, você pode utilizar utilizar do servidor local Laragon , que realiza a instalação do PHP, MySQL e Apache.      O Composer pode ser instalado clicando aqui.       Agora que está tudo nos trinques, digite o comando no terminal da pasta do seu servidor local:      composer global require laravel/installer     Pronto! O Laravel já pode ser utilizado em sua máquina. PRIMEIRO PROJETO     Para instalar um primeiro projeto Laravel em sua máquina, basta digitar o seguinte comando na pasta do seu servidor local: composer create-proje...

PRIMEIRO PROJETO IONIC USANDO ANGULAR

Neste tutorial, mostrarei como estar criando o seu primeiro projeto IONIC utilizando a tecnologia Angular. Para começarmos, é necessário que você tenha instalado algumas dependências, clicando aqui você pode estar conferindo-as. Agora que tudo está nos trinks, vamos iniciar com o nosso primeiro projeto em IONIC! CRIANDO UMA PASTA DE PROJETOS É importante possuir pastas separadas para cada coisa no seu HD, além de agilizar na hora da busca, deixa uma satisfação maior para trabalhar. Como estudo um número razoável de tecnologias, deixo uma pasta "projetos" no "C:" e crio pastas de acordo com a tecnologia que irei utilizar. Para alguns tipos de projeto, como em PHP que necessita de um programa para ser compilado, isso pode não ser viável, mas daí em diante é apenas questão de adaptação. CRIANDO O PROJETO Criado o seu cantinho para projetos, começaremos com a aplicação. Ela é feita inicialmente pelo terminal, o console do cmd funciona bem para esse trabalho. Um truque ...