Durante o mapeamento do Modelo Entidade-Relacionamento...
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.
Responder
Carregando comentários...