Një hyrje e shpejtë e operatorëve të algjebrës relacionale me shembuj

Sistemet e menaxhimit të bazës së të dhënave (DBMS) duhet të kenë një gjuhë pyetjesh në mënyrë që përdoruesit të kenë akses në të dhënat e ruajtura në bazën e të dhënave. Algjebra relacionale (RA) konsiderohet si një gjuhë e pyetjeve procedurale ku përdoruesi i thotë sistemit të kryejë një sërë operacionesh për të marrë rezultatet e dëshiruara. d.m.th. Përdoruesi tregon se cilat të dhëna duhet të merren nga baza e të dhënave dhe si t'i rikuperoni ato. Në këtë artikull, unë do të bëj një hyrje të shkurtër të algjebrës relacionale dhe do të kaloj disa operacione me shembuj dhe komanda PostgreSQL.

Çfarë është Algjebra Relacionale?

Sipas "Wikipedia",

Algjebra relacionale është një familje algjebrash me një semantikë të mirë-bazuar që përdoret për modelimin e të dhënave të ruajtura në bazat e të dhënave relacionale dhe përcaktimin e pyetjeve në to.

RA ofron një bazë teorike për bazat e të dhënave relacionale. Unë supozoj se ju i dini termat bazë të përdorur në bazat e të dhënave relacionale. Tani kushtojini vëmendje termave relacion, atribut dhe tuple siç tregohet në figurën 1.

Në këtë artikull, ne do të kalojmë nëpër operatorët e mëposhtëm RA.

  1. Projeksioni
  2. Përzgjedhja
  3. Riemërto
  4. Produkt kryq
  5. Bashkim natyral
  6. Bashkim me kusht
  7. Bashkimi
  8. Kryqëzimi
  9. Vendos dallimin

Ne do të konsiderojmë 3 tabelat e mëposhtme si shembuj për të shpjeguar këto operacione RA. Ne kemi një tabelë Anëtarë (detaje për anëtarët), tabelë Rezervo (detaje rreth librave) dhe tabelë Huazoni (detaje rreth librave të huazuar).

1. Projeksion (π)

Projeksioni përdoret për të zgjedhur kolonat e kërkuara të të dhënave nga një relacion. Vini re se projeksioni heq të dhënat e kopjuara (tupa).

Pyetje:ID-të e anëtarëve të anëtarëve që kanë huazuar libra.

Pyetje: ID-të e anëtarëve të anëtarëve dhe ID-të e librave të librave që ata kanë marrë hua.

2. Përzgjedhja (σ)

Përzgjedhja përdoret për të zgjedhur grupet e kërkuara të të dhënave nga një relacion. Gjatë përzgjedhjes, ne mund të specifikojmë disa kushte që të dhënat duhet të plotësojnë.

Pyetje: Detajet e anëtarëve që kanë lindur më 21/10/1997.

3. Riemërto (ρ)

Operacioni i riemërtimit ju lejon të riemërtoni një lidhje të caktuar dalëse.

Pyetje: Riemërto lidhjen e Anëtarit si LibraryMemebr.

4. Kryqprodukt (✕)

Produkti i kryqëzuar përdoret për të kombinuar të dhënat nga dy marrëdhënie të ndryshme në një relacion të kombinuar. Nëse marrim parasysh dy marrëdhënie; A me n tupa dhe B me m tuples, A ✕ Bdo të përbëhet nga n.mtupa.

Pyetje: Anëtar ✕ Huazoni

Vini re se lidhja e Anëtarit ka 5 tuples dhe lidhja Burrow ka 5 tuples. Prandaj Anëtari ✕ Huazimi ka 5✕5 = 25 tupa.

5. Bashkim natyral (⋈)

Lidhja natyrale midis dy ose më shumë marrëdhënieve do të rezultojë në të gjithë kombinimin e tupave ku ato kanë vlera të barabarta për atributin e përbashkët.

Pyetje: Anëtar ⋈ Huazoni

Vini re se atributi i përbashkët në këtë shembull është ID-ja e Anëtarit.

6. Bashkim me kusht (⋈c)

Bashkimi i kushtëzuar është i ngjashëm me bashkimin natyror, por në bashkimin e kushtëzuar, ne mund të specifikojmë çdo kusht bashkimi me operatorët më të madh se, më të vogël se, të barabartë ose jo të barabartë. Mund të kombinoni kushtet gjithashtu me operatorët AND (^) dhe OR (v).

Pyetje: Huazimi i detajeve të anëtarëve që kanë gërmuar më shumë se një libër.

7. Bashkimi (⋃)

Operacioni i bashkimit në RA është shumë i ngjashëm me atë të teorisë së grupeve. Sidoqoftë, për bashkimin e dy marrëdhënieve, të dyja marrëdhëniet duhet të kenë të njëjtin grup atributesh.

Pyetje: ID-të e librave të librave të huazuar nga Charlie dhe Mike.

8. Kryqëzimi (⋂)

Operacioni i kryqëzimit në RA është shumë i ngjashëm me atë të teorisë së grupeve. Sidoqoftë, për kryqëzimin e dy marrëdhënieve, të dyja marrëdhëniet duhet të kenë të njëjtin grup atributesh.

Pyetje: ID-të e anëtarëve të anëtarëve që kanë huazuar të dy librat "Rrethat" dhe "Trashëgimia".

9. Vendos diferencën (-)

Operacioni i diferencës së grupeve në RA është shumë i ngjashëm me atë të teorisë së grupeve. Sidoqoftë, për ndryshimin e grupit midis dy marrëdhënieve, të dyja marrëdhëniet duhet të kenë të njëjtin grup atributesh.

Pyetje: ID-të e anëtarëve të anëtarëve që nuk kanë huazuar kurrë libra.

R1 do të kthejë detajet e të gjithë anëtarëve Alice, Bob, Charlie, Mike dhe Katie. R2 do të kthejë detajet e Alice, Charlie, Mike dhe Katie pasi ata kanë huazuar libra. Kur marrim diferencën midis R1 dhe R2, detajet e Bob do të kthehen.

Mendimet Përfundimtare

Komandat PostgreSQL për të krijuar këto marrëdhënie dhe pyetjet që demonstrojnë secilin prej këtyre operatorëve RA mund të gjenden në lidhjen SQL Fiddle të dhënë më poshtë. Ju i drejtoni ato dhe luani për të parë se çfarë ndodh. 😊



Për më tepër, nëse dëshironi të provoni komandat në kompjuterin tuaj, mund t'i shkarkoni ato nga thelbi i dhënë në lidhjet më poshtë.

Operatorët e algjebrës relacionale duken të jenë mjaft të thjeshtë, por ata bëhen shumë të fuqishëm kur përfaqësojnë pyetje komplekse dhe gjatë optimizimit të pyetjeve (do të diskutohet në një artikull të ardhshëm).

Shpresoj se e keni gjetur të dobishëm këtë artikull. Do të doja të dëgjoja mendimet tuaja. 😊

Faleminderit që lexuat!

Gëzuar! 😃