Partilhar via


Mapear relações muitos-para-muitos (Visual Database Tools)

Aplica-se a:SQL ServerBase de Dados SQL do AzureInstância Gerida do Azure SQLAnalytics Platform System (PDW)

As relações muitos-para-muitos permitem relacionar cada linha de uma tabela a muitas linhas de outra tabela e vice-versa. Por exemplo, pode 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.

As relações muitos-para-muitos entre tabelas são acomodadas em bases de dados por meio de tabelas de ligaçã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 com as colunas correspondentes na tabela de junção. No banco de dados pubs, a tabela titleauthor é uma tabela de junção.

Criar uma relação muitos-para-muitos entre tabelas

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

  2. Crie uma terceira tabela clicando com o botão direito do mouse no diagrama e escolhendo Nova Tabela no menu de atalho. Esta torna-se 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 é chamada titleauthors.

  4. Copie as colunas de chave primária de cada uma das outras duas tabelas para a tabela de junção. Pode adicionar outras colunas a esta tabela, tal como pode adicionar 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 ambos os relacionamentos que você cria. Para obter detalhes, consulte Criar relações de chave estrangeira.

    Observação

    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 Criar consultas de inserção de resultados (Visual Database Tools).