Relacijska algebra u DBMS-u: Operacije s primjerima

Sadržaj:

Anonim

Relacijska algebra

RELACIONA ALGEBRA je široko korišten jezik proceduralnih upita. Prikuplja primjere relacija kao ulaz i daje pojave relacija kao izlaz. Za izvođenje ove radnje koristi se različitim operacijama. Operacije upita SQL relacijske algebre izvode se rekurzivno na relaciji. Rezultat ovih operacija nova je relacija koja se može oblikovati iz jedne ili više ulaznih relacija.

U ovom vodiču naučit ćete:

  • Relacijska algebra
  • ODABERI (σ)
  • Projekcija (π)
  • Preimenuj (ρ)
  • Sindikalni rad (υ)
  • Postavi razliku (-)
  • Križanje
  • Kartezijanski proizvod (X)
  • Pridružite se operacijama
  • Unutarnje pridruživanje:
  • Theta Pridružite se:
  • EQUI pridruživanje:
  • PRIRODNI PRIDRUŽITI (⋈)
  • VANJSKO PRIDRUŽITE
  • Lijevi vanjski spoj (A B)
  • Desni vanjski spoj: (A B)
  • Potpuno vanjsko pridruživanje: (A B)

Osnovne SQL relacijske algebre

Relacijska algebra podijeljena u različite skupine

Unarne relacijske operacije

  • SELECT (simbol: σ)
  • PROJEKT (simbol: π)
  • PREIMENOVANJE (simbol: ρ)

Relacijske operacije algebre iz teorije skupova

  • UNIJA (υ)
  • INTERSECTION (),
  • RAZLIKA (-)
  • KARTESIJSKI PROIZVOD (x)

Binarne relacijske operacije

  • PRIDRUŽITI
  • PODJELA

Proučimo ih detaljno s rješenjima:

ODABERI (σ)

Operacija SELECT koristi se za odabir podskupine korpica prema zadanom uvjetu odabira. Sigma (σ) Simbol ga označava. Koristi se kao izraz za odabir korijena koji zadovoljavaju uvjet odabira. Operator Select odabire korpice koje zadovoljavaju zadani predikat.

σp(r) σje predikat rkratica za odnos koji je naziv tablice pprijedloška logika

Primjer 1

σ topic = "Database" (Tutorials)

Izlaz - odabire korice iz Vodiča gdje je topic = 'Baza podataka'.

Primjer 2

σ topic = "Database" and author = "guru99"( Tutorials)

Izlaz - odabire korice iz vodiča u kojima je tema "Baza podataka", a "autor" guru99.

Primjer 3

σ sales > 50000 (Customers)

Izlaz - odabire korpice od kupaca kod kojih je prodaja veća od 50000

Projekcija (π)

Projekcija uklanja sve atribute ulazne relacije, osim onih koji su spomenuti na popisu projekcija. Metoda projekcije definira relaciju koja sadrži vertikalni podskup Relacije.

To pomaže pri izdvajanju vrijednosti navedenih atributa radi uklanjanja dvostrukih vrijednosti. (pi) simbol se koristi za odabir atributa iz relacije. Ovaj vam operater pomaže da određene stupce sprečite iz veze i odbaci ostale stupce.

Primjer projekcije:

Razmotrite sljedeću tablicu

CustomerID Ime kupca Status
1 Google Aktivan
2 Amazon Aktivan
3 Jabuka Neaktivan
4 Alibaba Aktivan

Ovdje će dati projekcija korisničkog imena i statusa

Π CustomerName, Status (Customers)
Ime kupca Status
Google Aktivan
Amazon Aktivan
Jabuka Neaktivan
Alibaba Aktivan

Preimenuj (ρ)

Preimenovanje je unarna operacija koja se koristi za preimenovanje atributa relacije.

ρ (a / b) R će preimenovati atribut 'b' relacije u 'a'.

Sindikalni rad (υ)

UNIJU simbolizira simbol ∪. Obuhvaća sve korijene koji se nalaze u tablicama A ili B. Također uklanja i dvostruke korijene. Dakle, skup A UNION skup B izrazio bi se kao:

Rezultat <- A ∪ B

Da bi sindikalna operacija bila valjana, moraju biti ispunjeni sljedeći uvjeti -

  • R i S moraju imati jednak broj atributa.
  • Domene atributa moraju biti kompatibilne.
  • Dvostruke korijene treba automatski ukloniti.

Primjer

Razmotrite sljedeće tablice.

Tablica A Tablica B
stupac 1 stupac 2 stupac 1 stupac 2
1 1 1 1
1 2 1 3

A ∪ B daje

Tablica A ∪ B
stupac 1 stupac 2
1 1
1 2
1 3

Postavi razliku (-)

- Simbol ga označava. Rezultat A - B odnos je koji uključuje sve korijene koji se nalaze u A, ali ne i u B.

  • Naziv atributa A mora se podudarati s imenom atributa u B.
  • Odnosi s dva operanda A i B trebali bi biti kompatibilni ili kompatibilni s Unijom.
  • Treba definirati odnos koji se sastoji od korijena koji su u relaciji A, ali ne i u B.

Primjer

A-B
Tablica A - B
stupac 1 stupac 2
1 2

Križanje

Sjecište je definirano simbolom ∩

A ∩ B

Definira relaciju koja se sastoji od skupa svih nabora koji se nalaze i u A i u B. Međutim, A i B moraju biti kompatibilni s unijom.

Vizualna definicija presijecanja

Primjer:

A ∩ B
Tablica A ∩ B
stupac 1 stupac 2
1 1

Dekartov proizvod (X) u DBMS-u

Dekartov proizvod u DBMS- u operacija je koja se koristi za spajanje stupaca iz dva odnosa. Općenito, kartezijanski proizvod nikada nije značajna operacija kada se izvodi sam. Međutim, ono postaje smisleno kad ga slijede druge operacije. Također se naziva Cross Product ili Cross Join.

Primjer - kartezijanski proizvod

σ stupac 2 = '1' (AXB)

Izlaz - gornji primjer prikazuje sve retke iz relacije A i B čiji stupac 2 ima vrijednost 1

σ stupac 2 = '1' (AXB)
stupac 1 stupac 2
1 1
1 1

Pridružite se operacijama

Operacija spajanja u osnovi je kartezijanski proizvod nakon kojeg slijedi kriterij odabira.

Operacija spajanja označena s ⋈.

Operacija JOIN također omogućuje spajanje različito povezanih korpica iz različitih odnosa.

Vrste PRIDRUŽIVANJA:

Razni oblici operacije spajanja su:

Unutarnji priključci:

  • Theta se pridruži
  • EQUI pridruži se
  • Prirodno pridruživanje

Vanjsko pridruživanje:

  • Lijevo vanjsko pridruživanje
  • Desno vanjsko pridruživanje
  • Potpuno vanjsko pridruživanje

Unutarnje pridruživanje:

U unutarnji spoj uključeni su samo oni korijeni koji zadovoljavaju kriterije podudaranja, dok su ostali izuzeti. Proučimo razne vrste unutarnjih spajanja:

Theta Pridružite se:

Općeniti slučaj JOIN operacije naziva se Theta join. Označava se simbolom θ

Primjer

A ⋈θ B

Theta pridruživanje može koristiti bilo koje uvjete u kriterijima za odabir.

Na primjer:

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

EQUI pridruživanje:

Kada theta spoj koristi samo uvjet ekvivalencije, on postaje equi join.

Na primjer:

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

EQUI pridruživanje je najteža operacija za učinkovitu implementaciju korištenjem SQL-a u RDBMS-u i jedan od razloga zašto RDBMS imaju bitne probleme s izvedbom.

PRIRODNI PRIDRUŽITI (⋈)

Prirodno spajanje može se izvršiti samo ako između relacija postoji zajednički atribut (stupac). Ime i tip atributa moraju biti isti.

Primjer

Razmotrite sljedeće dvije tablice

C
Num Kvadrat
2 4
3 9
D
Num Kocka
2 8
3 27
C ⋈ D
C ⋈ D
Num Kvadrat Kocka
2 4 4
3 9 27

VANJSKO PRIDRUŽITE

U vanjsko spajanje, zajedno s korpicama koje zadovoljavaju kriterije podudaranja, uključujemo i neke ili sve korpice koje ne odgovaraju kriterijima.

Lijevi vanjski spoj (A B)

U lijevom vanjskom spoju operacija omogućuje zadržavanje svih korpica u lijevom odnosu. Međutim, ako u odgovarajućoj relaciji nije pronađena odgovarajuća korpica, tada su atributi prave relacije u rezultatu pridruživanja ispunjeni null vrijednostima.

Razmotrite sljedeće 2 tablice

A
Num Kvadrat
2 4
3 9
4 16
B
Num Kocka
2 8
3 18
5 75
A  B
A ⋈ B
Num Kvadrat Kocka
2 4 4
3 9 9
4 16 -

Desni vanjski spoj: (A B)

U desnom vanjskom spoju operacija omogućuje održavanje svih korpica u ispravnom odnosu. Međutim, ako u lijevoj relaciji nije pronađena odgovarajuća korpica, tada su atributi lijeve relacije u rezultatu pridruživanja ispunjeni null vrijednostima.

A  B
A ⋈ B
Num Kocka Kvadrat
2 8 4
3 18 9
5 75 -

Potpuno vanjsko pridruživanje: (A B)

U potpunom vanjskom spoju, svi nabori iz oba odnosa uključeni su u rezultat, bez obzira na podudarni uvjet.

A  B
A ⋈ B
Num Kocka Kvadrat
2 4 8
3 9 18
4 16 -
5 - 75

Sažetak

Operacija (simboli)

Svrha

Odaberite (σ)

Operacija SELECT koristi se za odabir podskupine korpica prema zadanom uvjetu odabira

Projekcija (π)

Projekcija uklanja sve atribute ulazne relacije, osim onih koji su spomenuti na popisu projekcija.

Sindikalna operacija (∪)

UNIJA se simbolizira simbolom. Obuhvaća sve korijene koji se nalaze u tablicama A ili B.

Postavi razliku (-)

- Simbol ga označava. Rezultat A - B odnos je koji uključuje sve korijene koji se nalaze u A, ali ne i u B.

Raskrižje (∩)

Presijecanje definira odnos koji se sastoji od skupa svih nabora koji se nalaze i u A i u B.

Kartezijanski proizvod (X)

Kartezijanska operacija korisna je za spajanje stupaca iz dva odnosa.

Unutarnje pridruživanje

Unutarnje spajanje uključuje samo one korice koje zadovoljavaju kriterije podudaranja.

Theta pridruživanje (θ)

Općeniti slučaj JOIN operacije naziva se Theta join. Označava se simbolom θ.

EQUI Pridružite se

Kada theta spoj koristi samo uvjet ekvivalencije, on postaje equi join.

Prirodno pridruživanje (⋈)

Prirodno spajanje može se izvršiti samo ako između relacija postoji zajednički atribut (stupac).

Vanjsko pridruživanje

U vanjskom spoju, zajedno s korpicama koje zadovoljavaju kriterije podudaranja.

Lijevo vanjsko pridruživanje ( )

U lijevom vanjskom spoju operacija omogućuje zadržavanje svih korpica u lijevom odnosu.

Desno vanjsko pridruživanje ( )

U desnom vanjskom spoju operacija omogućuje održavanje svih korpica u ispravnom odnosu.

Potpuno vanjsko pridruživanje ( )

U potpunom vanjskom spoju, svi nabori iz oba odnosa uključeni su u rezultat bez obzira na podudarni uvjet.