Comentário do Yahoo
Bem, existe sim, um "Algoritmo" para voce transformar um modelo ER em
um modelo relacional.
Bem, esse algoritmo consiste de 8 passos.
1 - Mapeamento dos tipos entidades regulares.
2 - Mapeamento dos tipos entidades fracas.
3 - Mapeamento dos tipos relacionamento binário 1:1
4 - Mapeamento dos tipos relacionamento binário 1:N
5 - Mapeamento dos tipos relacionamento binário M:N
6 - Mapeamento dos atributos multivalorados
7 - Mapeamento dos tipos relacionametos N-ários
8 - Mapeamento da especialização ou generalização.
Bem, para um relacionamento n:m, voce necessariamente precisa criar uma tabela a mais. Note que isso também poderia ser feito tanto para os tipos 1:1 como para 1:N. No entanto, para o caso específico do M:N, voce precisa dessa tabela a mais pois, diferente dos outros casos, voce nao tem uma entidade fixa no relacionamento. Quando existe essa entidade fixa, voce pode simplesmente adicionar na tabela N, a chave primária dessa tabela fixa como chave estrangeira no lado N, de tal forma que cada lado N sabe qual eh sua parte fixa do relacionamento.
Como M:N tem muitos de ambos os lados, eh necessario criar uma tabela extra com a chave primária de cada uma dessas entidades variantes, e, caso exista, os atributos do relacionamento. Nessa tabela, a chave primária seria composta pelas duas chaves estrangeiras.