4.6. Atributos multivalorados (vetores)

A maioria dos atributos possui um valor único para uma entidade em particular; tais atributos são chamados de valor único. Por exemplo, Idade é um atributo único para uma pessoa, pois uma pessoa não pode ter dois valores distintos para idade. Já número de telefone pode ser considerado um atributo multivalorado, já que é possível que uma pessoa possua vários números de telefone.

Um atributo multivalorado pode, num determinado contexto de banco de dados e de sistema de informação, possuir um limite.

Por exemplo, podemos definir que em um projeto específico uma pessoa pode ter até três números de telefone. Já alguns atributos não devem ter limites pré-definidos. Exemplo, os nomes dos dependentes de uma pessoa não podem ser limitados em três, cinco ou dez cadastros. O correto é que o sistema permita cadastrar quantos forem necessários.

Há basicamente três formas de armazenarmos atributos multivalorados, são elas:

  1. Podemos cadastrar todas as informações em um único campo.
  2. É uma solução simples, mas não muito elegante, visto que os usuários poderão criar formas diferentes para separar cada um dos atributos. Exemplo A

  3. Podemos criar um campo para cada atributo.
  4. É uma solução interessante, mas que limita as opções de cadastro. Pode ser adequada a algumas situações, mas inadequada a outras. Exemplo B

  5. Criar uma tabela associativa para cadastrar quantos valores forem necessários.
  6. Criar uma tabela associativa para cadastrar quantos valores forem necessários. Esta é a solução mais flexível, permite criar em uma outra tabela tantos registros quantos forem necessários. Essa tabela conteria também a chave primária da tabela de origem, para que possa ser feita a localização dos atributos. Veremos mais sobre esta solução quando tratarmos de normalização. Essa é a forma mais complexa para se resolver a questão.

Copyright © 2014 AIEC.