SQL

Re: SQL

por Rafael Sampaio -
Número de respostas: 0

Oi, pessoal!

O que a Deborah comentou está certo: quando você define a chave primária a um atributo ou conjunto de atributos, isso significa que aquele atributo ou conjunto deve identificar univocamente cada uma das tuplas da tabela. Logo, repetições passam a ser proibidas.

Gostaria de deixar dois comentários:

1) Observe que se você modelar um número telefone como um único atributo, ele poderia ser a chave primária, certo? Afinal, não devem existir (fisicamente) dois telefones iguais para pessoas diferentes.

2) Por outro lado, definir número de telefone como um único atributo é ruim. Imagine que você queira guardar DDI, DDD, Prefixo, Sufixo e Ramal. Os prefixos podem mudar (lembra quando acrescentaram o 9 aos celulares?), e pode acontecer também de uma pessoa estar morando em SP, mas o seu telefone ser de São José dos Campos, logo uma consulta ao endereço atual da pessoa não ajudaria a resolver questões de DDD.

Por todos esses motivos, do meu ponto de vista, valeria a pena desmembrar o atributo 'telefone' em vários outros atributos. E aí como ficaria a chave primária? De novo, lembre o conceito de representar univocamente uma tupla: a chave primária precisaria ser composta de cada uma das partes do telefone. Tudo bem?

Abraço,
Rafael