Compartilhar via


Mapear relações muitos para muitos usando as Ferramentas de Banco de Dados Visuais.

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada do SQL do AzureSistema de Plataforma de Análise (PDW)

Relações muitos para muitos permitem relacionar cada linha em uma tabela a muitas linhas em outra tabela e vice-versa. Por exemplo, você poderia criar uma relação muitos-para-muitos entre a tabela authors e a tabela titles para associar cada autor a todos os seus livros e cada livro a todos os seus autores. Criar uma relação um-para-muitos a partir de qualquer uma das tabelas indicaria incorretamente que cada livro pode ter apenas um autor, ou que cada autor pode escrever apenas um livro.

Relações muitos para muitos entre tabelas são acomodadas em bancos de dados por meio de tabelas de junção. Uma tabela de junção contém as colunas de chave primária das duas tabelas que você deseja relacionar. Em seguida, você cria uma relação das colunas de chave primária de cada uma dessas duas tabelas para as colunas correspondentes na tabela de junção. No banco de dados pubs, a tabela titleauthor é a tabela de junção.

Criar um relacionamento de muitos para muitos entre tabelas

  1. No seu diagrama de banco de dados, adicione as tabelas que você deseja para criar uma relação muitos para muitos entre elas.

  2. Crie uma terceira tabela clicando com o botão direito do mouse no diagrama e escolhendo Nova Tabela no menu de atalho. Isso se torna a tabela de junção.

  3. Na caixa de diálogo Escolher Nome, altere o nome da tabela atribuída pelo sistema. Por exemplo, a tabela de junção entre a tabela titles e a tabela authors agora é denominada titleauthors.

  4. Copie as colunas de chave primária de cada uma das outras duas tabelas para a tabela de junção. Você pode adicionar outras colunas a esta tabela, assim como pode a qualquer outra tabela.

  5. Na tabela de junção, defina a chave primária para incluir todas as colunas de chave primária das outras duas tabelas. Para obter detalhes, consulte Criar chaves primárias.

  6. Defina uma relação um para muitos entre cada uma das duas tabelas primárias e a tabela de junção. A tabela de junção deve estar no lado "muitos" de ambas as relações que você criar. Para obter detalhes, veja Criar relações de chave estrangeira.

    Nota

    A criação de uma tabela de junção em um diagrama de banco de dados não insere dados das tabelas relacionadas na tabela de junção. Para obter informações sobre como inserir dados em uma tabela, consulte Create Insert Results queries (Visual Database Tools).