Junções de DBMS: tipos de junção interna, THETA, externa e Equi Operações

O que é ingressar no SGBD?

Junte-se ao SGBD é uma operação binária que permite combinar produto de junção e seleção em uma única instrução. O objetivo de criar uma condição de junção é ajudar você a combinar os dados de duas ou mais tabelas DBMS. As tabelas no SGBD são associadas usando a chave primária e chaves estrangeiras.

Tipos de Junção

Existem basicamente dois tipos de junções no SGBD:

  1. Junções internas: Theta, Natural, EQUI
  2. Junção externa: esquerda, direita, completa

Vamos vê-los em detalhes:

Junção interna

Junção interna é usado para retornar linhas de ambas as tabelas que satisfazem a condição fornecida. É a operação de junção mais utilizada e pode ser considerada como um tipo de junção padrão.

Uma junção interna ou equijoin é uma junção baseada em comparador que usa comparações de igualdade no predicado de junção. No entanto, se você usar outros operadores de comparação como “>”, ele não poderá ser chamado de equijoin.

Inner Join é dividido em três subtipos:

  • Theta junta-se
  • Junção natural
  • Junte-se à EQUI

União Theta

União Theta permite mesclar duas tabelas com base na condição representada por theta. Theta junta trabalho para todos os operadores de comparação. É denotado pelo símbolo θ. O caso geral da operação JOIN é chamado de junção Theta.

Sintaxe:

A ⋈θ B

A junção Theta pode usar qualquer condição nos critérios de seleção.

Considere as tabelas a seguir.

Tabela A Tabela B
coluna 1 coluna 2 coluna 1 coluna 2
1 1 1 1
1 2 1 3

Por exemplo:

A ⋈ A.column 2 >  B.column 2 (B)
A ⋈ A.coluna 2 > B.coluna 2 (B)
coluna 1 coluna 2
1 2

Junte-se à EQUI

Junte-se à EQUI é feito quando uma junção Theta usa apenas a condição de equivalência. A adesão EQUI é a operação mais difícil de implementar de forma eficiente em um RDBMSe uma das razões pelas quais os RDBMS apresentam problemas essenciais de desempenho.

Por exemplo:

A ⋈ A.column 2 =  B.column 2 (B)
A ⋈ A.coluna 2 = B.coluna 2 (B)
coluna 1 coluna 2
1 1

Junção Natural (⋈)

União Natural não utiliza nenhum dos operadores de comparação. Neste tipo de junção, os atributos devem ter o mesmo nome e domínio. No Natural Join, deve haver pelo menos um atributo comum entre duas relações.

Realiza a seleção formando igualdade nos atributos que aparecem em ambas as relações e elimina os atributos duplicados.

Exemplo:

Considere as duas tabelas a seguir

C
Num Quadrado
2 4
3 9
D
Num Cubo
2 8
3 18
C ⋈ D
C ⋈ D
Num Quadrado Cubo
2 4 8
3 9 18

Junção Externa

An Junção Externa não exige que cada registro nas duas tabelas de junção tenha um registro correspondente. Neste tipo de junção, a tabela retém cada registro mesmo que não exista outro registro correspondente.

Três tipos de junções externas são:

  • União Externa Esquerda
  • Junção Externa Direita
  • Junção Externa Completa

Junção externa esquerda (A ⟕ B)

União Externa Esquerda retorna todas as linhas da tabela à esquerda, mesmo que nenhuma linha correspondente tenha sido encontrada na tabela à direita. Quando nenhum registro correspondente for encontrado na tabela à direita, NULL será retornado.

União Externa Esquerda

Considere as 2 tabelas a seguir

A
Num Quadrado
2 4
3 9
4 16
B
Num Cubo
2 8
3 18
5 75
A Left Outer Join B
A ⋈ B
Num Quadrado Cubo
2 4 8
3 9 18
4 16 -

Junção externa direita (A ⟖ B)

Junção Externa Direita retorna todas as colunas da tabela à direita, mesmo que nenhuma linha correspondente tenha sido encontrada na tabela à esquerda. Onde nenhuma correspondência for encontrada na tabela à esquerda, NULL será retornado. RIGHT outer JOIN é o oposto de LEFT JOIN

Em nosso exemplo, vamos supor que você precise obter os nomes dos membros e os filmes alugados por eles. Agora temos um novo integrante que ainda não alugou nenhum filme.

Junção Externa Direita

A Right Outer Join B
A ⋈ B
Num Cubo Quadrado
2 8 4
3 18 9
5 75 -

Junção externa completa (A ⟗ B)

Em um artigo do Junção Externa Completa , todas as tuplas de ambas as relações são incluídas no resultado, independentemente da condição de correspondência.

Exemplo:

A Full B
A ⋈ B
Num Quadrado Cubo
2 4 8
3 9 18
4 16 -
5 - 75

Resumo

  • Existem basicamente dois tipos de junções em DBMS 1) Junção interna 2) Junção externa
  • Uma junção interna é a operação de junção amplamente usada e pode ser considerada um tipo de junção padrão.
  • A junção interna é dividida em três subtipos: 1) Junção Theta 2) Junção natural 3) Junção EQUI
  • Theta Join permite mesclar duas tabelas com base na condição representada por theta
  • Quando uma junção theta usa apenas condições de equivalência, ela se torna uma junção equi.
  • A junção natural não utiliza nenhum dos operadores de comparação.
  • Uma junção externa não exige que cada registro nas duas tabelas de junção tenha um registro correspondente.
  • A junção externa é dividida em três subtipos: 1) Junção externa esquerda 2) Junção externa direita 3) Junção externa completa
  • O LEFT Outer Join retorna todas as linhas da tabela à esquerda, mesmo que nenhuma linha correspondente tenha sido encontrada na tabela à direita.
  • O RIGHT Outer Join retorna todas as colunas da tabela à direita, mesmo que nenhuma linha correspondente tenha sido encontrada na tabela à esquerda.
  • Numa junção externa completa, todas as tuplas de ambas as relações são incluídas no resultado, independentemente da condição de correspondência.