2.2. Restrições de chave e restrições sobre valores nulos
No modelo relacional formal, uma relação é definida como um conjunto de tuplas. Por definição, todos os elementos de um conjunto são distintos; logo, todas as tuplas em uma relação também precisam ser distintas. Isso significa que duas tuplas não podem ter a mesma combinação de valores para todos os seus atributos. Normalmente, existem outros subconjuntos de atributos de um esquema de relação com a propriedade de que duas tuplas em qualquer estado de relação não deverão ter a mesma combinação de valores para esses atributos.
Levando em consideração de que cada conjunto de atributos que forma uma tupla é distrito dos demais conjuntos, a união de todos esses elementos é denominada de superchave do esquema da relação. Por meio destas informações é possível identificar exclusivamente uma única tupla dentre todos aqueles pertencentes à relação.
Vamos ver um exemplo: observe a relação ALUNO abaixo, identifique a tupla “432/2, Isadora Luccas Fernandes, Sim, 7-1, 7”, observe que ela é exclusiva, não existem duas tuplas com esses dados. Também é possível localizar qualquer outra tupla, caso saibamos seus atributos.
| ALUNO | ||||
|---|---|---|---|---|
| Matrícula | Nome | Efetivo | Turma Atual | Série Atual |
| 14562/2 | Thiago Ferreira Borges | Sim | 5-1 | 5 |
| 432/2 | Isadora Luccas Fernandes | Sim | 7-1 | 7 |
| 332/5 | Marcelo Correia Luz | Não | ||
| 4539/1 | Mariana Gonçalves Coelho | Sim | 6-1 | 6 |
Cada relação tem pelo menos uma superchave padrão — o conjunto de todos os seus atributos. Contudo, uma superchave pode ter atributos redundantes, de modo que um conceito mais útil é o de uma chave, que não tem redundância. Uma chave de uma relação é um atributo que é exclusivo. Um atributo que não há possibilidade de se repetir e, portanto, é capaz também de identificar, exclusivamente uma tupla em uma relação.
Por exemplo, examinando a tabela acima, localize a tupla cuja matrícula é igual a “332/5”. Observe que não existem dois alunos com a mesma matrícula. Desta forma, um único atributo (chave) é capaz de identificar a tupla da mesma forma que todos os seus atributos juntos (superchave) também o são.