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

COMO EMULAR APLICAÇÃO NO CELULAR ANDROID VIA USB? - IONIC CORDOVA

    Muitos computadores, assim como o meu, não possuem uma boa configuração para rodar a AVD do Android Studio para compilar aplicações feitas utilizando Ionic, mas existe uma maneira mais leve de realizar está tarefa a partir da ferramenta Cordova. Para que o processo seja bem sucedido, é necessário que você tenha instalado todos os passos deste artigo . Basta clicar e ser redirecionado. ATIVANDO MODO DESENVOLVEDOR NO APARELHO O modelo que utilizo é o moto g6 play com android versão 9, caso o seu possua parâmetros semelhantes, siga os passos abaixo para habilitar a opção de desenvolvedor: Vá em configurações > S istema > Sobre o dispositivo e clique 7 vezes sobre "Número da versão". Após, irá aparecer um toast dizendo que o modo de desenvolvedor está ativado! Após, volte para "Sistema" e clique em "Opções de desenvolvedor", arraste um pouco para baixo e ative a depuração USB. Isso permitiria que a máquina transfira arquivos de uma forma mais "

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