DBMS-sammenføjninger: Indre, THETA, Ydre, Equi-typer af forbindelse Operationer

Hvad er Join i DBMS?

Deltag i DBMS er en binær operation, som giver dig mulighed for at kombinere sammenføjning af produkt og udvalg i en enkelt sætning. Målet med at oprette en join-betingelse er, at den hjælper dig med at kombinere data fra to eller flere DBMS-tabeller. Tabellerne i DBMS er knyttet til den primære nøgle og fremmednøgler.

Typer af tilslutning

Der er hovedsageligt to typer joinforbindelser i DBMS:

  1. Indre led: Theta, Natural, EQUI
  2. Yderled: Venstre, Højre, Fuld

Lad os se dem i detaljer:

Indvendig sammenføjning

Indvendig sammenføjning bruges til at returnere rækker fra begge tabeller, som opfylder den givne betingelse. Det er den mest udbredte join-operation og kan betragtes som en standard join-type

En indre join eller equijoin er en komparator-baseret join, som bruger lighedssammenligninger i join-prædikatet. Men hvis du bruger andre sammenligningsoperatorer som ">", kan det ikke kaldes equijoin.

Inner Join yderligere opdelt i tre undertyper:

  • Theta slutter sig
  • Naturlig sammenføjning
  • EQUI tilslutte sig

Theta Deltag

Theta Deltag giver dig mulighed for at flette to tabeller baseret på betingelsen repræsenteret af theta. Theta slutter sig til arbejde for alle sammenligningsoperatører. Det er angivet med symbol θ. Det generelle tilfælde af JOIN-operation kaldes en Theta-join.

Syntaks:

A ⋈θ B

Theta join kan bruge alle betingelser i udvælgelseskriterierne.

Overvej følgende tabeller.

Tabel A Tabel B
kolonne 1 kolonne 2 kolonne 1 kolonne 2
1 1 1 1
1 2 1 3

For eksempel:

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

EQUI Deltag

EQUI Deltag udføres, når en Theta-join kun bruger ækvivalensbetingelsen. EQUI join er den sværeste operation at implementere effektivt i en RDBMS, og en grund til, at RDBMS har væsentlige ydeevneproblemer.

For eksempel:

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

Natural Join (⋈)

Naturlig Deltag bruger ikke nogen af ​​sammenligningsoperatørerne. I denne type join skal attributterne have samme navn og domæne. I Natural Join skal der være mindst én fælles egenskab mellem to relationer.

Den udfører udvælgelse, der danner lighed på de attributter, der vises i begge relationer, og eliminerer de duplikerede attributter.

Eksempel:

Overvej følgende to tabeller

C
I Firkant
2 4
3 9
D
I Cube
2 8
3 18
C ⋈ D
C ⋈ D
I Firkant Cube
2 4 8
3 9 18

Ydre tilslutning

An Ydre tilslutning kræver ikke, at hver post i de to jointabeller har en matchende post. I denne type join bevarer tabellen hver post, selvom der ikke findes en anden matchende post.

Tre typer ydre samlinger er:

  • Venstre ydre samling
  • Højre ydre samling
  • Fuld ydre tilslutning

Venstre ydre samling (A ⟕ B)

Venstre ydre samling returnerer alle rækkerne fra tabellen til venstre, selvom der ikke er fundet nogen matchende rækker i tabellen til højre. Når der ikke findes nogen matchende post i tabellen til højre, returneres NULL.

Venstre ydre samling

Overvej følgende 2 tabeller

A
I Firkant
2 4
3 9
4 16
B
I Cube
2 8
3 18
5 75
A Left Outer Join B
A ⋈ B
I Firkant Cube
2 4 8
3 9 18
4 16 -

Højre ydre samling (A ⟖ B)

Højre ydre samling returnerer alle kolonnerne fra tabellen til højre, selvom der ikke er fundet nogen matchende rækker i tabellen til venstre. Hvor der ikke er fundet nogen match i tabellen til venstre, returneres NULL. RIGHT ydre JOIN er det modsatte af LEFT JOIN

Lad os i vores eksempel antage, at du skal have navnene på medlemmer og film lejet af dem. Nu har vi et nyt medlem, som endnu ikke har lejet nogen film.

Højre ydre samling

A Right Outer Join B
A ⋈ B
I Cube Firkant
2 8 4
3 18 9
5 75 -

Fuld ydre forbindelse (A ⟗ B)

I en Fuld ydre tilslutning , alle tuples fra begge relationer er inkluderet i resultatet, uanset den matchende betingelse.

Eksempel:

A Full B
A ⋈ B
I Firkant Cube
2 4 8
3 9 18
4 16 -
5 - 75

Resumé

  • Der er hovedsageligt to typer tilslutninger DBMS 1) Indre Sammenføjning 2) Udvendig Samling
  • En indre joinforbindelse er den meget anvendte joinoperation og kan betragtes som en standard join-type.
  • Inner Join er yderligere opdelt i tre undertyper: 1) Theta join 2) Natural join 3) EQUI join
  • Theta Join giver dig mulighed for at flette to tabeller baseret på tilstanden repræsenteret af theta
  • Når en theta join kun bruger ækvivalensbetingelse, bliver den en equi join.
  • Natural join bruger ikke nogen af ​​sammenligningsoperatørerne.
  • En ydre join kræver ikke, at hver post i de to jointabeller har en matchende post.
  • Outer Join er yderligere opdelt i tre undertyper er: 1) Venstre Ydre Join 2) Højre Ydre Join 3) Fuld Outer Join
  • LEFT Outer Join returnerer alle rækkerne fra tabellen til venstre, selvom der ikke er fundet nogen matchende rækker i tabellen til højre.
  • RIGHT Outer Join returnerer alle kolonnerne fra tabellen til højre, selvom der ikke er fundet nogen matchende rækker i tabellen til venstre.
  • I en fuld ydre sammenføjning er alle tupler fra begge relationer inkluderet i resultatet, uanset den matchende betingelse.