Spojení DBMS: vnitřní, levý vnější, THETA typy operací spojení

Obsah:

Anonim

Co je to Připojit se k DBMS?

Join in DBMS je binární operace, která umožňuje kombinovat produkt join a výběr v jednom prohlášení. Cílem vytvoření podmínky spojení je, že vám pomůže zkombinovat data ze dvou nebo více tabulek DBMS. Tabulky v DBMS jsou přidruženy pomocí primárního klíče a cizích klíčů.

V tomto výukovém programu DBMS se naučíte:

  • Typy spojení
  • Vnitřní spojení
    • Theta Připojte se
    • Připojení EQUI:
    • Přirozené spojení (⋈)
  • Vnější připojení
    • Levý vnější spoj (A B)
    • Pravý vnější spoj (A B)
    • Úplné vnější spojení (A B)

Typy spojení

V DBMS existují hlavně dva typy spojení:

  1. Vnitřní spojení: Theta, Natural, EQUI
  2. Vnější spoj: vlevo, vpravo, plný

Podívejme se na ně podrobně:

Vnitřní spojení

INNER JOIN se používá k vrácení řádků z obou tabulek, které splňují danou podmínku. Je to nejpoužívanější operace připojení a lze ji považovat za výchozí typ připojení

Vnitřní spojení nebo equijoin je spojení založené na komparátoru, které používá srovnání rovnosti v predikátu spojení. Pokud však používáte jiné srovnávací operátory jako „>“, nelze jej nazvat equijoin.

Vnitřní spojení se dále dělí na tři podtypy:

  • Theta se připoj
  • Přirozené spojení
  • Připojte se k EQUI

Theta Připojte se

THETA JOIN umožňuje sloučit dvě tabulky na základě podmínky představované theta. Theta se připojuje k práci pro všechny srovnávací operátory. Je označen symbolem θ . Obecný případ operace JOIN se nazývá spojení Theta.

Syntax:

A ⋈θ B

Theta join může v kritériích výběru použít jakékoli podmínky.

Zvažte následující tabulky.

Tabulka A Tabulka B
sloupec 1 sloupec 2 sloupec 1 sloupec 2
1 1 1 1
1 2 1 3

Například:

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

Připojte se EQUI

EQUI JOIN se provádí, když spojení Theta používá pouze podmínku ekvivalence. Spojení EQUI je nejobtížnější operace, kterou lze efektivně implementovat v RDBMS, a jedním z důvodů, proč mají RDBMS zásadní problémy s výkonem.

Například:

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

Přirozené spojení (⋈)

NATURAL JOIN nevyužívá žádný z operátorů porovnání. V tomto typu spojení by měly mít atributy stejný název a doménu. V přirozeném spojení by měl být mezi dvěma vztahy alespoň jeden společný atribut.

Provádí rovnost tvorby výběru u těch atributů, které se objevují v obou vztazích, a eliminuje duplicitní atributy.

Příklad:

Zvažte následující dvě tabulky

C
Num Náměstí
2 4
3 9
D
Num Krychle
2 8
3 18
C ⋈ D
C ⋈ D
Num Náměstí Krychle
2 4 8
3 9 18

Vnější připojení

OUTER JOIN nevyžaduje každý záznam ve dvou spojení tabulek mít odpovídající záznam. V tomto typu spojení si tabulka zachová každý záznam, i když neexistuje žádný jiný odpovídající záznam.

Tři typy vnějších spojení jsou:

  • Levý vnější spoj
  • Pravý vnější spoj
  • Úplné vnější připojení

Levý vnější spoj (A B)

LEFT JOIN vrátí všechny řádky z tabulky nalevo, i když v tabulce napravo nebyly nalezeny žádné odpovídající řádky. Pokud v tabulce napravo nebyl nalezen žádný odpovídající záznam, vrátí se NULL.

Zvažte následující 2 tabulky

A
Num Náměstí
2 4
3 9
4 16
B
Num Krychle
2 8
3 18
5 75
A  B
A ⋈ B
Num Náměstí Krychle
2 4 8
3 9 18
4 16 -

Pravý vnější spoj (A B)

RIGHT JOIN vrátí všechny sloupce z tabulky vpravo, i když v tabulce vlevo nebyly nalezeny žádné odpovídající řádky. Pokud v tabulce vlevo nebyly nalezeny žádné shody, vrátí se NULL. PRAVÉ vnější spojení je opakem LEVÉHO PŘIPOJENÍ

V našem příkladu předpokládejme, že potřebujete získat jména členů a filmy, které si pronajali. Nyní máme nového člena, který si zatím žádný film nepůjčil.

A  B
A ⋈ B
Num Krychle Náměstí
2 8 4
3 18 9
5 75 -

Úplné vnější spojení (A B)

Ve FULL OUTER JOIN jsou do výsledku zahrnuty všechny n-tice z obou relací, bez ohledu na podmínku shody.

Příklad:

A  B
A ⋈ B
Num Náměstí Krychle
2 4 8
3 9 18
4 16 -
5 - 75

Souhrn:

  • V DBMS existují hlavně dva typy spojení 1) Vnitřní spojení 2) Vnější spojení
  • Vnitřní spojení je široce používaná operace spojení a lze jej považovat za výchozí typ spojení.
  • Inner Join se dále dělí na tři podtypy: 1) Theta join 2) Natural join 3) EQUI join
  • Theta Join vám umožňuje sloučit dvě tabulky na základě podmínky představované theta
  • Když theta spojení používá pouze podmínku ekvivalence, stane se ekvím spojením.
  • Přirozené spojení nevyužívá žádný z operátorů porovnání.
  • Vnější spojení nevyžaduje, aby každý záznam ve dvou tabulkách spojení měl odpovídající záznam.
  • Outer Join se dále dělí na tři podtypy: 1) Left Outer Join 2) Right Outer Join 3) Full Outer Join
  • Funkce LEFT Outer Join vrátí všechny řádky z tabulky vlevo, i když v tabulce vpravo nebyly nalezeny žádné odpovídající řádky.
  • Funkce RIGHT Outer join vrátí všechny sloupce z tabulky vpravo, i když v tabulce vlevo nebyly nalezeny žádné odpovídající řádky.
  • V úplném vnějším spojení jsou do výsledku zahrnuty všechny n-tice z obou relací, bez ohledu na podmínku shody.