Minicursos - MySQL

Chave Primária


Embora este não seja um minicurso de modelagem de banco de dados, mas sim do SGBD MySQL, existem alguns conceitos que preciso comentar, ainda que superficialmente, pois caso este seja o seu primeiro contato com um banco de dados, você poderá se sentir um pouco perdido sem essas definições. Falarei sobre três conceitos importantes, que são: Chave Primária Simples, Chave Primária Composta e Chave Estrangeira.

Chave Primária Simples

Antes de definir o que é uma chave primária, gostaria de definir um outro conceito importante e bastante utilizado em bancos de dados, que é a tupla. Uma tupla é o conjunto formado por todos os dados das colunas de uma tabela. De forma muito grosseira, tuplas são as linhas de uma tabela. Vejam a imagem abaixo:

Temos uma tabela com 5 colunas e 5 tuplas. Cada tupla está englobando os dados de um único cliente. Por exemplo, os dados que compõem a tupla número 4 são:

Código do Cliente = 4
Nome = André Ribeiro
E-mail = aribeiro@email.com.br
Idade = 41
Sexo = M


Agora que já sabemos o que é uma tupla, podemos prosseguir falando sobre chave primária.

De forma bastante simples, chave primária é a coluna de uma tabela que tem a capacidade de identificar aquela tupla. Vamos aos exemplos práticos, pois este conceito é mais fácil de ser demonstrado do que explicado. É tudo muito simples. Analisemos novamente nossa pequena tabela de exemplo:

Chave Primária

Vamos imaginar que quiséssemos saber quais são os dados do cliente cujo código é 3. Para isso basta que, na coluna “Código do Cliente”, encontremos o código 3 e façamos a leitura, ou seja, o resgate de todos os dados pertencentes a esta tupla. Não existem dois clientes cujo código seja 3, portanto, a coluna “Código do Cliente” pode ser uma chave primária, já que é uma coluna capaz de identificar unicamente a tupla. Vejamos outro exemplo:

Se estivéssemos procurando o usuário cujo email é “lisa_andrade@email.com.br”, bastaria que, na coluna “E-mail”, localizássemos este e-mail e, então teremos a tupla que contém todos os dados dele. Como é impossível que tenhamos duas pessoas com o mesmo email, a coluna “E-mail” também pode ser considerada uma chave primária.

A estas colunas que possuem a característica de identificar unicamente a tupla, chamamos de Chaves Candidatas. Nós podemos escolher qualquer Chave Candidata para ser nossa Chave Primária.

Para deixar este importante conceito bem claro, vejamos um contraexemplo. Se tentarmos utilizar a coluna "Idade" como chave primária para uma tabela, teremos um problema, pois como podemos observar já na tupla 1, com 25 anos nós temos o cliente “Paulo Siqueira”, mas na tupla 3 nós temos a cliente “Daniela Gonçalves”, também com 25 anos. Ou seja, a coluna "Idade" NÃO permite identificar unicamente uma tupla. Sendo assim, não é uma chave candidata e, portanto, nunca será uma chave primária. A coluna "Sexo" é mais absurda ainda, pois permite somente dois valores, portanto gerará enorme repetição de dados. A observação fica por conta da coluna "Nome", que também NÃO deve ser usada como chave primária, pois podemos ter dois ou mais clientes homônimos.

Resumindo: uma coluna pode ser considerada chave primária se NÃO permitir a inserção de dados iguais.

É isso. No tópico seguinte falaremos sobre chaves compostas.



Você gostará destes vídeos: