1
resposta

[Dúvida] A primeira forma normal exige informações unitárias.

No modelo da aula, foi criado o atributo telefones... mas a primeira forma normal (Codd 1978) eixge que cada atributo tenha exatamente uma informação. É óbvio que a regra de negócios exige o cadastramento de no mínimo dois números (antiamente havia o telefone residencial e o de trabalho, hoje essa exiência não faz o menor sentido).

Ocorre que telefone (residencial e de trabalho) são relações n:n com clientes. Um telefone de empresa pode ser usado para mais de uma pessoa (todas clientes do banco) um telefone residencial idem. A solução seria uma outra entidade associativa pessoa/telefone. Essa solução permite cadastrar um terceiro, quarto, quinto telefone, atendendo ao requisito de no mínimo dois telefones por pessoa.

Além disso, um campo único impede uma padronização do telefone, coisas como +55 11 (9)xxxx-xxxx onde o 9 entre parênteses pode ser apagado (telefone fixo) mas os números xxxx-xxxx seriam de preenchimento obrigatório. +55 representa Brasil e 11 Grande São Paulo, serve como exemplo de formato para uma tabela de telefone e entidade assossiativa cliente x telefone.

Está correto o modelo proposto em aula?

1 resposta

Oii, José! Tudo bem?

Obrigada por compartilhar esse ponto com a comunidade do fórum.

Isso mesmo, a 1FN exige que cada atributo em uma tabela armazene uma única informação por linha. E como você disse, vai depender da regra de negócio. A solução que você propôs, utilizando uma entidade associativa (cliente x telefone), resolve essa questão. Isso segue a regra de normalização, permitindo a flexibilidade de associar vários telefones a um cliente sem violar a 1FN.

Porém, durante a aula, estudamos que o campo telefones tem mais de um valor, ele deixa de ser um atributo simples para ser um atributo multivalorado, por ter obrigatoriedade de obter dois números de telefone. O que, dentro da linha de raciocínio da aula, faz sentido.

Espero ter ajudado, conte sempre conosco aqui no fórum.

Bons estudos, José!