Por vezes
surgem propostas de modelos de dados em que co-existem duas, por vezes mais,
relações com a mesma chave primária (CP). Ora, isso teoricamente é um erro dado
que duas relações com uma CP idêntica são uma única relação.
Regra:
Os objectos
que tenham uma relação de 1:1 entre si devem manter-se juntos: um aluno tem um
número de aluno (não tem dois); um automóvel tem uma matrícula (não tem duas),
e por ai fora.
Exemplo:
Figura 1:
Excerto de modelo de dados
|
No caso da
Figura 1 ninguém poderá afirmar que o desenho esteja correcto. Porquê
subdividir algumas características dos alunos por relacções diferentes quando
na verdade os atributos têm uma relação de 1:1 com cada aluno.
- Por acaso um aluno têm dois nomes? Não, não tem.
- Será que um aluno têm dois números de bilhete de identidade? Também parece que não...
Então isso
significa que entre a relação Aluno e os atributos nome e número de bilhete de
identidade há uma associação de 1:1, i.e., um aluno tem um só nome e um único
número de bilhete de identidade. Pelo que esses atributos têm que pertencer à
mesma relação, têm que estar todos no mesmo conjunto.
A intersecção do conjunto
(a relação) Aluno com o conjunto Aluno Identificação não é o conjunto vazio
pelo que não são disjuntos, pelo contrário são uma e a mesma coisa. A
intersecção dos dois conjuntos é a soma de todos os atributos sem que isso
implique qualquer perca de integridade dos factos. Aliás, a integridade e o
valor da informação aumentam quando os atributos 1:1 ficam todos no mesmo
conjunto.
Conclusão: duas
relações com uma CP idêntica são uma única relação.