DBMS-i ühendused: sisemine, THETA, välimine, ekviühenduse tüübid Operamine

Mis on liitumine DBMS-iga?

Liituge DBMS-iga on kahendtehte, mis võimaldab ühendada toote ja valiku ühes lauses. Ühendustingimuse loomise eesmärk on see, et see aitaks teil kombineerida kahe või enama DBMS-i tabeli andmeid. DBMS-i tabelid on seotud primaarvõtme ja võõrvõtmete abil.

Liitumise tüübid

DBMS-is on peamiselt kahte tüüpi liitumisi:

  1. Sisemised ühendused: teeta, looduslik, EQUI
  2. Välisühendus: vasak, parem, täis

Vaatame neid üksikasjalikult:

Sisemine liitumine

Sisemine liitumine kasutatakse antud tingimusele vastavate ridade tagastamiseks mõlemast tabelist. See on kõige laialdasemalt kasutatav liitumisoperatsioon ja seda võib pidada vaikeühendustüübiks

Sisemine ühendus või võrdusliit on võrdluse aluseks olev liit, mis kasutab liitumispredikaadis võrdusvõrdlusi. Kui aga kasutate muid võrdlustehtereid, nagu “>”, ei saa seda nimetada equijoin-iks.

Siseühendus, mis on jagatud kolmeks alamtüübiks:

  • Teeta liituda
  • Loomulik liitumine
  • EQUI liitumine

Teeta Liitu

Teeta Liitu võimaldab liita kaks tabelit teetaga tähistatud tingimuse alusel. Teeta ühendab töö kõigi võrdlusoperaatorite jaoks. Seda tähistatakse sümboliga θ. Operatsiooni JOIN üldist juhtumit nimetatakse teeta liitumiseks.

süntaksit:

A ⋈θ B

Teeta liitumine võib valikukriteeriumides kasutada mis tahes tingimusi.

Mõelge järgmistele tabelitele.

Tabel A. Tabel B
veerg 1 veerg 2 veerg 1 veerg 2
1 1 1 1
1 2 1 3

Näiteks:

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

EQUI Liitu

EQUI Liitu tehakse siis, kui Theta liitumine kasutab ainult samaväärsuse tingimust. EQUI liitumine on kõige keerulisem toiming, mida tõhusalt rakendada RDBMSja üks põhjus, miks RDBMS-il on olulisi jõudlusprobleeme.

Näiteks:

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

Loomulik liitumine (⋈)

Loomulik liitumine ei kasuta ühtegi võrdlusoperaatorit. Seda tüüpi liitumisel peavad atribuutidel olema sama nimi ja domeen. Funktsioonis Natural Join peaks kahe seose vahel olema vähemalt üks ühine atribuut.

See teostab valiku, moodustades võrdsuse mõlemas relatsioonis esinevatele atribuutidele ja kõrvaldab dubleerivad atribuudid.

Näide:

Kaaluge kahte järgmist tabelit

C
Sisse ruut
2 4
3 9
D
Sisse Kuubik
2 8
3 18
C ⋈ D
C ⋈ D
Sisse ruut Kuubik
2 4 8
3 9 18

Väline liitumine

An Väline liitumine ei nõua, et kahe ühendtabeli igal kirjel oleks sobiv kirje. Seda tüüpi liitmise korral säilitab tabel iga kirje isegi siis, kui ühtki teist sobivat kirjet pole.

Välisühendusi on kolme tüüpi:

  • Vasakpoolne välimine liitekoht
  • Parempoolne ühendus
  • Täielik väline liitumine

Vasakpoolne välimine liitmik (A–B)

Vasakpoolne välimine liitekoht tagastab kõik vasakpoolse tabeli read, isegi kui parempoolsest tabelist ei leitud ühtegi sobivat rida. Kui parempoolses tabelis ei leitud ühtegi sobivat kirjet, tagastatakse NULL.

Vasakpoolne välimine liitekoht

Mõelge järgmistele kahele tabelile

A
Sisse ruut
2 4
3 9
4 16
B
Sisse Kuubik
2 8
3 18
5 75
A Left Outer Join B
A ⋈ B
Sisse ruut Kuubik
2 4 8
3 9 18
4 16 -

Parem välimine liitmik (A ⟖ B)

Parempoolne ühendus tagastab kõik parempoolse tabeli veerud, isegi kui vasakpoolsest tabelist pole leitud ühtegi sobivat rida. Kui vasakpoolses tabelis ei leitud vasteid, tagastatakse NULL. RIGHT väline JOIN on vasakühenduse vastand

Oletame meie näites, et peate hankima liikmete ja nende laenutatud filmide nimed. Nüüd on meil uus liige, kes pole veel ühtegi filmi laenutanud.

Parempoolne ühendus

A Right Outer Join B
A ⋈ B
Sisse Kuubik ruut
2 8 4
3 18 9
5 75 -

Täielik välimine liitmik (A⟗B)

Aastal Täielik väline liitumine , kaasatakse tulemusesse kõik korteid mõlemast relatsioonist, olenemata sobitustingimusest.

Näide:

A Full B
A ⋈ B
Sisse ruut Kuubik
2 4 8
3 9 18
4 16 -
5 - 75

kokkuvõte

  • Peamiselt on kahte tüüpi liitumisi DB-süsteemid 1) sisemine ühendus 2) välimine ühendus
  • Sisemine ühendus on laialdaselt kasutatav liitumisoperatsioon ja seda võib pidada vaikeühendustüübiks.
  • Inner Join jaguneb veel kolmeks alamtüübiks: 1) Teeta liitmine 2) Looduslik ühendus 3) EQUI liitumine
  • Theta Join võimaldab teil liita kaks tabelit teetaga tähistatud tingimuse alusel
  • Kui teeta-ühendus kasutab ainult samaväärsuse tingimust, muutub see võrdsusühenduseks.
  • Looduslik liitumine ei kasuta ühtegi võrdlusoperaatorit.
  • Välisliitmine ei nõua, et kahes liitmistabelis olev iga kirje omaks sobivat kirjet.
  • Välimine ühendus on jagatud kolmeks alamtüübiks: 1) vasakpoolne välimine ühendus 2) parem välimine ühendus 3) täielik välimine ühendus
  • LEFT Outer Join tagastab kõik vasakpoolse tabeli read, isegi kui parempoolsest tabelist pole leitud ühtegi sobivat rida.
  • RIGHT Outer Join tagastab kõik parempoolse tabeli veerud, isegi kui vasakpoolsest tabelist pole leitud ühtegi sobivat rida.
  • Täieliku välise liitumise korral kaasatakse tulemusesse kõik mõlema relatsiooni kordused, olenemata sobitustingimusest.