DBMS Joins: Inner, Left Outer, THETA Tipos de operações de junção

O que é Join in DBMS?

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

Neste tutorial de DBMS, você aprenderá:

Tipos de união

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

  1. Junções internas: Theta, Natural, EQUI
  2. Junção Externa: Esquerda, Direita, Completa

Vamos ver em detalhes:

Junção interna

JUNÇÃO INTERNA é usado para retornar linhas de ambas as tabelas que satisfaçam a condição fornecida. É a operação de junção mais amplamente usada 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 pode ser chamado de equijoin.

Inner Join dividido em três subtipos:

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

Theta Join

THETA JOIN permite mesclar duas tabelas com base na condição representada por theta. As junções Theta funcionam para todos os operadores de comparação. É denotado por um símbolo θ . O caso geral da operação JOIN é chamado de junção Theta.

Sintaxe:

A ⋈θ B

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

Considere as tabelas a seguir.

Tabela A Tabela B
coluna 1 coluna 2 coluna 1 coluna 2
11 11
12 13

Por exemplo:

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

EQUI Join

EQUI JOIN é feito quando uma junção Theta usa apenas a condição de equivalência. A junção EQUI é a operação mais difícil de implementar com eficiência em um RDBMS e um dos motivos pelos quais o RDBMS tem 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
11

União Natural (⋈)

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

Ele 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
24
39
D
Num Cubo
28
318
C ⋈ D
C ⋈ D
Num Quadrado Cubo
248
3918

Junção Externa

Um OUTER JOIN não exige que cada registro nas duas tabelas de junção tenha um registro correspondente. Nesse tipo de junção, a tabela retém cada registro, mesmo se nenhum outro registro correspondente existir.

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

  • União Externa Esquerda
  • Junção Externa Direita
  • Full Outer Join

União Externa Esquerda (A B)

ASSOCIAÇÃO À 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 é retornado.

Considere as 2 tabelas a seguir

PARA
Num Quadrado
24
39
416
B
Num Cubo
28
318
575
A   B
A ⋈ B
Num Quadrado Cubo
248
3918
416-

Junção Externa Direita (A B)

JUNTAR À 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 é 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 membro que ainda não alugou nenhum filme.

A   B
A ⋈ B
Num Cubo Quadrado
284
3189
575-

Junção Externa Completa (A B)

Em um FULL OUTER JOIN , todas as tuplas de ambas as relações são incluídas no resultado, independentemente da condição de correspondência.

Exemplo:

A   B
A ⋈ B
Num Quadrado Cubo
248
3918
416-
5-75

Resumo:

  • Existem basicamente dois tipos de junções no 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 como 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 a condição 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 união externa é dividida em três subtipos: 1) União externa esquerda 2) União externa direita 3) União externa completa
  • A junção externa LEFT retorna todas as linhas da tabela à esquerda, mesmo que nenhuma linha correspondente tenha sido encontrada na tabela à direita.
  • A junção externa RIGHT retorna todas as colunas da tabela à direita, mesmo que nenhuma linha correspondente tenha sido encontrada na tabela à esquerda.
  • Em uma 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.