Imagem de fundo

Durante o mapeamento do Modelo Entidade-Relacionamento (MER) para o modelo relacional d...

Durante o mapeamento do Modelo Entidade-Relacionamento (MER) para o modelo relacional de dados, aplicam-se regras específicas para transformar cada componente conceitual em elementos do modelo relacional.


Considere as seguintes situações:

• Autorrelacionamentos - quando uma entidade se relaciona consigo mesma.

• Hierarquias IS-A - generalização/especialização de entidades.

• Relacionamentos 1:N - em que cada instância de uma entidade do lado “1” pode associar-se a várias instâncias da entidade do lado “N”, mas cada instância do lado “N” está associada a exatamente uma do lado “1”.

• Relacionamentos N:N - em que cada instância de uma entidade pode relacionar-se com várias instâncias da outra e vice-versa.

• Entidades com atributos multivalorados - em que um atributo pode ter múltiplos valores para uma mesma instância.


Nesse contexto, as transformações recomendadas para essas cinco situações são as seguintes:

A

Autorrelacionamentos - crie uma nova tabela separada para representar os relacionamentos entre as instâncias da entidade.

Hierarquias IS-A - mapeie toda a hierarquia em uma única tabela que contenha todos os atributos, com uma coluna discriminadora, mesmo que resulte em muitos valores nulos.

Relacionamentos 1:N - incorpore a chave da entidade do lado “N” na tabela da entidade do lado “1”.

Relacionamentos N:N - adicione colunas extras em cada tabela original para representar os relacionamentos.

Atributos multivalorados - represente os valores na mesma tabela da entidade, separando-os por vírgulas.

B

Autorrelacionamentos - adicione, se o relacionamento for 1:1, uma coluna na tabela para representar a chave estrangeira que referencia a própria chave primária.

Hierarquias IS-A - utilize o mapeamento por tabela única, sem distinção clara entre atributos comuns e específicos.

Relacionamentos 1:N - mapeie incorporando a chave da entidade do lado “1” na tabela do lado “N”.

Relacionamentos N:N - crie uma tabela associativa que contenha somente as chaves das duas entidades, ignorando atributos do relacionamento.

Atributos multivalorados - mapeie-os diretamente na tabela referenta à entidade, em uma coluna única.

C

Autorrelacionamentos - mapeie criando uma nova tabela contendo as chaves da entidade, descartando a opção de usar a mesma tabela.

Hierarquias IS-A - crie tabelas separadas para cada subtipo, duplicando os atributos comuns em todas elas.

Relacionamentos 1:N - incorpore a chave da entidade do lado “N” na tabela do lado “1”.

Relacionamentos N:N - crie uma tabela associativa com as chaves das entidades, mas não inclua os atributos do relacionamento.

Atributos multivalorados - represente os múltiplos valores em uma coluna única utilizando delimitadores.

D

Autorrelacionamentos - adicione, na tabela da entidade, uma coluna que referencia a própria chave primária (chave estrangeira) para representar o relacionamento 1:N. Hierarquias IS-A - mapeie criando uma tabela para o supertipo com os atributos comuns e tabelas separadas para cada subtipo com os atributos específicos, onde a chave primária do subtipo também é uma chave estrangeira que referencia o supertipo.

Relacionamentos 1:N - inclua a chave da entidade do lado “1” como chave estrangeira na tabela da entidade do lado “N”.

Relacionamentos N:N - crie uma tabela associativa que contenha as chaves das duas entidades (que, em conjunto, formam uma chave primária composta) e inclua quaisquer atributos do relacionamento, se houver.

Atributos multivalorados - crie uma tabela separada que contenha a chave da entidade e o valor do atributo, formando uma chave primária composta se necessário.

E

Autorrelacionamentos - adicione uma coluna de chave estrangeira na mesma tabela somente se o relacionamento for 1:1; caso contrário, ignore o mapeamento.

Hierarquias IS-A - mapeie a hierarquia ignorando os atributos específicos dos subtipos e representando somente os atributos comuns na tabela do supertipo.

Relacionamentos 1:N - incorpore a chave da entidade do lado “N” na tabela da entidade do lado “1”.

Relacionamentos N:N - mapeie criando uma tabela associativa que contenha as chaves das duas entidades, mas sem definir uma chave primária composta.

Atributos multivalorados - mapeie esses atributos criando uma nova tabela, mas sem relacionar a chave da entidade.