Como é feita a tradução dos atributos multivalorados e compostos do DER para o MER (sem colocar tudo na mesma tabela)?
Como é feita a tradução dos atributos multivalorados e compostos do DER para o MER (sem colocar tudo na mesma tabela)?
Oi, Thiago! Tudo bem?
Peço desculpas por demorar a te responder.
Uma outra maneira de traduzir atributos multivalorados e compostos do modelo conceitual para o modelo lógico é por meio da criação de novas relações, as quais serão criadas a partir do próprio atributo.
Durante a modelagem do banco de dados do Clube do Livro, percebemos que a entidade CLIENTE possui um atributo multivalorado chamado telefone. Caso quiséssemos traduzi-lo de uma maneira diferente para o modelo lógico, teríamos que criar uma nova relação chamada TELEFONE, adicionando uma chave primária cod_telefone, uma chave estrangeira referente à CLIENTE e as possíveis ocorrências de telefone (como só podemos ter, no máximo, dois telefones, iremos adicionar dois campos para isso).
Esta organização será a mesma com a tradução dos atributos compostos, ou seja, iremos criar uma nova relação. Continuando com o exemplo do Clube do Livro, o atributo endereco de CLIENTE se tornará uma relação no modelo lógico.
Para uma melhor compreensão, observe a imagem abaixo:

A partir da relação CLIENTE, surgiram duas novas relações: TELEFONE e ENDERECO :
TELEFONE , que era o antigo atributo multivalorado, agora será uma relação com os campos cod_telefone (chave primária), cod_cliente (chave estrangeira), telefone_1 e telefone_2. Ademais, há uma relação com CLIENTE: um cliente pode ter um ou dois telefones (o que foi representado pela cardinalidade 1:N), enquanto um telefone só pertence a no mínimo e no máximo um cliente.
ENDERECO , que era o antigo atributo composto, agora será uma relação com os campos cod_cliente (chave estrangeira), rua, bairro, cidade e estado. Além disso, há um relacionamento com CLIENTE: ao passo que um cliente só pode conter um endereço, um endereço pode conter várias pessoas.
Existem diferentes maneiras de trabalhar com atributos multivalorados e compostos durante a modelagem de banco de dados. A escolha de qual forma utilizar dependerá, por exemplo, das regras de negócio da empresa.
As etapas que vimos durante a explicação (parte conceitual e lógica) fazem parte do DER (diagrama entidade-relacionamento). Elas acontecem antes da elaboração do MER (modelo entidade-relacionamento), o qual é utilizado para descrever alguns itens do mundo real. Como dica de leitura, deixo abaixo um artigo da Alura que aborda esse tema:
Espero ter ajudado, Thiago! Caso surja alguma outra dúvida, conte com o fórum.
Até!