Compartilhar via


Como a consulta e o modo de exibição Designer representa associações

Se as tabelas são associadas, o Query e View Designer representa a associação graficamente no Painel do diagrama e usando a sintaxe SQL a SQL painel.

Painel do diagrama

No painel do diagrama a consulta e o modo de exibição Designer exibe uma linha de associação entre as colunas de dados envolvidas na associação. A consulta e o modo de exibição Designer exibe uma linha de associação para cada condição de associação. Por exemplo, a ilustração a seguir mostra uma linha de associação entre duas tabelas que fazem parte:

Linha de junção PubInfo de editores de consultas

Se as tabelas são associadas usando mais de uma condição de associação, a consulta e o modo de exibição Designer exibe várias linhas de associação, como no exemplo a seguir:

Captura de tela de DatabaseProjectDatabaseConnections

Se as colunas de dados associadas não são exibidas (por exemplo, o retângulo que representa a tabela ou objeto estruturados é minimizado ou associação envolve uma expressão), a consulta e o modo de exibição Designer coloca a linha de associação na barra de título do retângulo que representa a tabela ou objeto estruturado de tabela.

A forma do ícone no meio da linha de associação indica como as tabelas ou objetos estruturados de tabela são associados. Se a cláusula de associação utilizar um operador diferente de igual (=), o operador aparece no ícone de linha de associação. A tabela a seguir lista os ícones que aparecem na linha de associação.

Ícone de linha de associação

Description

Captura de tela de QueryJoinLineInnerJoinSymbol

Associação interna (criada com um sinal de igual).

Captura de tela de QueryJoinLineInnerJoinGreaterThanOperatorSymbol

Associação interna, com base no "maior que" operador.

Captura de tela de QueryJoinLinesOuterJoinLeftSymbol

Associação externa na qual todas as linhas da tabela representadas à esquerda serão incluídas, mesmo se eles não tiverem correspondências na tabela relacionada.

Captura de tela de QueryJoinLineOuterJoinRightSymbol

Associação externa na qual todas as linhas da tabela representada à direita serão incluídas, mesmo se eles não tiverem correspondências na tabela relacionada.

Captura de tela de QueryJoinLineFullOuterSymbol

Associação externa completa na qual todas as linhas de ambas as tabelas serão incluídas, mesmo se eles não tiverem correspondências na tabela relacionada.

ObservaçãoObservação
Alguns bancos de dados, como Oracle, não oferecem suporte a associações externas completas.

Os símbolos nas extremidades da linha de associação indicam o tipo de associação. A tabela a seguir lista os tipos de associações e os ícones exibidos nas extremidades da linha de associação.

Ícone nas extremidades da linha de associação

Tipo de associação

Captura de tela de QueryJoinLine1-to-1Symbol

Associação individual.

Captura de tela de QueryJoinLine1-to-ManySymbol

Associação de um-para-muitos.

Captura de tela de QueryJoinLineEndSymbol

Consulta e o modo de exibição Designer não podem determinar o tipo de associação. Essa situação ocorre com mais freqüência quando você tiver criado uma associação manualmente.

Painel SQL

Uma associação pode ser expressa em várias formas em uma instrução SQL. A sintaxe exata depende do banco de dados que você está usando e como você definiu a associação.

Opções de sintaxe para associar tabelas incluem:

  • Qualificador de associação para a cláusula FROM.   As palavras-chave INNER e OUTER especificam o tipo de associação. Essa sintaxe é padrão para SQL do ANSI 92.

    Por exemplo, se você associar o publishers e pub_info tabelas baseadas na pub_id coluna em cada tabela, a instrução de SQL resultante pode parecer com isso:

    SELECT *
    FROM publishers INNER JOIN pub_info ON
       publishers.pub_id = pub_info.pub_id
    

    Se você criar uma associação externa, as palavras LEFT OUTER ou RIGHT OUTER aparecem no lugar da palavra INNER.

  • Cláusula WHERE compara as colunas em ambas as tabelas.   Uma cláusula WHERE aparece se o banco de dados não oferece suporte a sintaxe JOIN (ou se você mesmo a inseriu). Se a associação é criada na cláusula WHERE, ambos os nomes de tabela aparecem na cláusula FROM.

    Por exemplo, a instrução a seguir associa o publishers e pub_info tabelas.

    SELECT *
    FROM publishers, pub_info
    WHERE  publishers.pub_id = pub_info.pub_id
    

Consulte também

Referência

Caixa de diálogo de associação

Outros recursos

Consultando com associações