5. algjebra dhe llogaritjet relacionale · 2018-10-13 · 5.1. algjebra relacionale algjebra...

22
1 5. Algjebra dhe llogaritjet relacionale Algjebra dhe llogaritjet relacionale paraqesin gjuhë formale për përzgjedhës (ang. Query languages) të shoqëruara me modelin relacional të database-it. Përzgjedhësi algjebrën relacionale kompozohet duke shfrytëzuar operacione dhe operandë të cilët janë instanca relacionale dhe çdo përzgjedhës paraqet një procedure hapë-për-hapi për realizimin e përgjigjes së përzgjedhësit e cila poashtu është një instancë relacionale. Algjebra relacionale është gjuhë formale procedurale. Në llogaritjet relacionale përzgjedhësi përshkruan përgjigjen e dëshiruar pa treguar procedurën e llogaritjes së përgjigjes, pranda, kjo gjuhë formale është joprocedurale. Llogaritjet relacionale kanë pasur ndikim të madh në zhvillimin e gjuhëve komerciale për përzgjedhës (pyetsor) siç është SQL dhe veçanërisht QBE (Query-By-Example). Përzgjedhës do të thotë të zgjedhësh (selektosh) të dhënat për kërkesën e parashtruar për të dhëna nga relacionet (database-i). Algjebrën relacionale dhe llogaritjet relacionale, respektivisht operacionet në shprehjet algjebrike dhe llogaritjet relacionale do t’i sqarojmë nëpërmjet database-it për Fakultetin (database i normalizuar), database-i është Studenti(s#, emri_st, viti_st) Kursi(k#, titulli, emri_ar) Raporti(s#, k#, nota); Arsimtari(emri_ar, dh#) dhe instancat relacionale le të jenë: Studenti Kursi s# emri_st viti_st k# titulli emri_ar 970001 Arta 1 037 Bazat e inf. Fatmir 950879 Petrit 3 124 Programim Bujar 961269 Blerim 2 102 Hardveri Gjergj 950127 Vjollca 3 215 Kompajlerët Lindita Raporti Arsimtari s# k# nota emri_ar dh# 950879 037 9 Fatmir 17 950127 037 10 Bujar 11 950127 124 8 Gjergj 21 950127 102 9 Lindita 15 961269 037 10 961269 124 7 961269 215 6 970001 037 8 970001 102 7

Upload: others

Post on 14-Jan-2020

37 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: 5. Algjebra dhe llogaritjet relacionale · 2018-10-13 · 5.1. Algjebra relacionale Algjebra relacionale bënë vlersimin e shprehjeve algjebrike të ndërtuara prej relacioneve,

1

5. Algjebra dhe llogaritjet relacionale

Algjebra dhe llogaritjet relacionale paraqesin gjuhë formale për përzgjedhës

(ang. Query languages) të shoqëruara me modelin relacional të database-it.

Përzgjedhësi në algjebrën relacionale kompozohet duke shfrytëzuar

operacione dhe operandë të cilët janë instanca relacionale dhe çdo përzgjedhës

paraqet një procedure hapë-për-hapi për realizimin e përgjigjes së përzgjedhësit e cila

poashtu është një instancë relacionale. Algjebra relacionale është gjuhë formale

procedurale.

Në llogaritjet relacionale përzgjedhësi përshkruan përgjigjen e dëshiruar pa

treguar procedurën e llogaritjes së përgjigjes, pranda, kjo gjuhë formale është

joprocedurale. Llogaritjet relacionale kanë pasur ndikim të madh në zhvillimin e

gjuhëve komerciale për përzgjedhës (pyetsor) siç është SQL dhe veçanërisht QBE

(Query-By-Example).

Përzgjedhës do të thotë të zgjedhësh (selektosh) të dhënat për kërkesën e

parashtruar për të dhëna nga relacionet (database-i). Algjebrën relacionale dhe

llogaritjet relacionale, respektivisht operacionet në shprehjet algjebrike dhe llogaritjet

relacionale do t’i sqarojmë nëpërmjet database-it për Fakultetin (database i

normalizuar), database-i është

Studenti(s#, emri_st, viti_st)

Kursi(k#, titulli, emri_ar)

Raporti(s#, k#, nota);

Arsimtari(emri_ar, dh#)

dhe instancat relacionale le të jenë:

Studenti Kursi

s# emri_st viti_st k# titulli emri_ar

970001 Arta 1 037 Bazat e inf. Fatmir

950879 Petrit 3 124 Programim Bujar

961269 Blerim 2 102 Hardveri Gjergj

950127 Vjollca 3 215 Kompajlerët Lindita

Raporti Arsimtari

s# k# nota emri_ar dh#

950879 037 9 Fatmir 17

950127 037 10 Bujar 11

950127 124 8 Gjergj 21

950127 102 9 Lindita 15

961269 037 10

961269 124 7

961269 215 6

970001 037 8

970001 102 7

Page 2: 5. Algjebra dhe llogaritjet relacionale · 2018-10-13 · 5.1. Algjebra relacionale Algjebra relacionale bënë vlersimin e shprehjeve algjebrike të ndërtuara prej relacioneve,

2

5.1. Algjebra relacionale

Algjebra relacionale bënë vlersimin e shprehjeve algjebrike të ndërtuara prej

relacioneve, operacionet unare dhe binare, operandët e të cilëve janë relacione dhe

rezultatet e fituara përsëri janë relacione. Çdo shprehje algjebrike paraqet një

përzgjedhës (një pyetje, një kërkim, ang. query). Algjebra relacionale është gjuhë

formale procedurale, kështu në shprehjen e përzgjedhësit e kemi edhe procedurën hap

pas hapi si duhet të vijmë deri në instancën relacionale rezultat.

Në algjebrën relacionale dallojmë dy lloje të operacionave, operacionet

themelore dhe operacionet të cilët mund të derivohen (nxjeren) nga operacionet

themelore. Operacione themolore janë:

i. Selektimi (ang. Selection, shënohet me σ),

ii. Projekcioni (ang. Projection, shënohet me π), iii. Unioni (ang. Union, shënohet me U ),

iv. Diferenca e bashkësive (ang. Set difference, shënohet me –),

v. Prodhimi Cartesian (ang. Cross Product, shënohet me X) dhe

vi. Riemërtimi (ang. Rename, shënohet me ρ).

Selektimi. Operacion unar i cili nga relacioni i nxjer ata n-she të cilat

plotësojnë kushtin logjik (kushtin Boolean) të dhënë. Rezultati i këtij operacioni është

poashtu relacion me shkallë të njejtë (numër të njejtë të atributeve) me relacionin ndaj

të cilit kryhet operacioni. Operacioni i këtillë shënohet si vijon

σC(R)

ku R është relacion ndërsa C është formulë logjike (kusht logjik) i cili formohet prej

operandëve (konstanta ose atribute), operacioneve të krahësimit (= < > ≤ ≥ ≠, , , , , ) dhe

operacioneve logjike ( ¬∨∧ ,, ).

Shembull.

1023ββ

312ββ

75βα

71ααdcba

Relacioni R

1023ββ

312ββ

75βα

71ααdcba

Relacioni R

1023ββ71ααdcba

1023ββ71ααdcba

σσσσa=b d>5d>5d>5d>5 ( R )( R )( R )( R )∧σσσσa=b d>5d>5d>5d>5 ( R )( R )( R )( R )∧

Pyetja 1. “ Të gjenden të gjithë studentët në vitin e parë”.

Gjejmë relacionin e ri sipas shprehjes

RESULT=σviti_st=1(Studenti)

RESULT

s# emri_st viti_st

970001 Arta 1

Pyetje 2: “Të gjenden të gjitha lëndët me emrin ‘Programim’”.

Page 3: 5. Algjebra dhe llogaritjet relacionale · 2018-10-13 · 5.1. Algjebra relacionale Algjebra relacionale bënë vlersimin e shprehjeve algjebrike të ndërtuara prej relacioneve,

3

RESULT=σtitulli=’Programim’(Kursi)

RESULT

k# titulli emri_ar

124 Programim Bujar

Pyetja 3: “Të gjenden të gjithë studentët të cilët nga lënda me numër 037 kanë

fituar notë më të lartë se tetë”.

RESULT=σ(k#=037) ∧ (nota>8)(Raporti)

RESULT

s# k# nota

950879 037 9

950127 037 10

961269 037 10

Projekcioni. Operacion unar i cili prej relacionit nxjer (ekstrakton) atributet e

dhëna. Projekcionin e relacionit R në atributet e tija A1, A2, …, An e shënojmë me

ππππA1, A2, …, An(R).

Relacioni rezultat posedon vetëm atributet e specifikuara në operacionin e

projekcionit dhe gjithashtu eleminohen n-shet duplikate. Me marrëveshtje caktojmë

që projekcioni të ketë përparësi më të madhe në krahësim me operacionet tjera. Me

ndihmën e projekcionit mundësohen disa lloje përzgjedhësish.

Shembull.

Relacioni R

240β

130β

120α110α

cba

ca

1β1α

ca

π a,c ( R )

Eliminimi irreshtaveduplikat

Relacioni R

240β

130β

120α110α

cba

Relacioni R

240β

130β

120α110α

cba

ca

ca

1β1α

ca

1β1α

ca

π a,c ( R )

Eliminimi irreshtaveduplikat

Eliminimi irreshtaveduplikat

Pyetje 1: “Gjej numrat e dhomave të gjithë arsimtarëve”.

RESULT=πdh#(Arsimtari)

RESULT

dh#

17

11

21

15

Pyetje 2: “ Gjeje emrin e mësimdhënësit i cili mbanë lëndën numër 102”.

RESULT=πemri_ar(σk#=102(Kursi))

Page 4: 5. Algjebra dhe llogaritjet relacionale · 2018-10-13 · 5.1. Algjebra relacionale Algjebra relacionale bënë vlersimin e shprehjeve algjebrike të ndërtuara prej relacioneve,

4

RESULT

emri_ar

Gjergj

Operacionet e bashkësive: Relacionet janë bashkësi të n-sheve, prandaj, ndaj

relacioneve mund të zbatohen operacionet e bashkësive (unioni, prerja, ndryshimi dhe

prodhimi Cartesian). Gjatë operacioneve me bashkësi, relacionet operanda duhet të

jenë union kompotibile (përjashtim bënë operacioni i prodhimit Cartesian). Union

kompatibil do të thotë që relacionet të kenë

� shkallë të njejtë (pra numër të njejtë të atributeve) dhe

� atributet gjegjëse (nga e majta në të djathtë) të kenë domenë të njejtë (pra

vlerat e atributeve gjegjëse të jenë të tipit të njejtë).

Sa i përket emrimit të atributeve gjegjëse, emrimi mund të dallohet.

Le të jetë R dhe S dy relacione union kompotibile, kemi:

Unioni. Unioni i relacionit R dhe S është bashkësia e n-sheve të cilët janë në

relacionin R ose relacionin S ose në të dy relacionet. Unioni shënohet

SR U

dhe rezultati trashëgon emrat e atributeve nga relacioni R, pra, rezultati është relacion

identik (për nga emrat e atributeve) me relacionin R. Në relacionin rezultat n-shet

duplikat eliminohen. Unioni është operacion komutativ, pra, vlenë

RSSR UU = .

Shembull.

ba

R

3β2α

baS

ba

R U S

ba

R

3β2α

baS

ba

R U S

Shembull. Marrim relacionin Studenti_ri i cili është union kompotibil me

relacionin Studenti

Studenti_ri

s# emri_st Viti_st

950342 Mimoza 1

961698 Linda 2

950879 Petrit 3

973472 Berat 3

950127 Vjollca 3

950326 Flora 3

Unioni i relacionit Studenti dhe Studenti_ri është

Page 5: 5. Algjebra dhe llogaritjet relacionale · 2018-10-13 · 5.1. Algjebra relacionale Algjebra relacionale bënë vlersimin e shprehjeve algjebrike të ndërtuara prej relacioneve,

5

iStudenti_rStudenti U

s# emri_st viti_st

970001 Arta 1

950879 Petrit 3

961269 Blerim 2

950127 Vjollca 3

950342 Mimoza 1

961698 Linda 2

973472 Berat 1

950326 Flora 3

Diferenca e bashkësive (set defference). Diferenca e bashkësive për relacionin

R dhe S, shënohet R–S dhe për rezultat jep bashkësinë e n-sheve të cilat janë në R dhe

nuk janë në S. Operacioni i diferencës së bashkësive nuk është komutativ, pra,

RSSR −≠− .

Rezultati trashëgon emrat e atributeve nga relacioni R, pra, rezultati është

relacion identik (për nga emrat e atributeve) me relacionin R.

Shembull.

2α1α

ba

R

3β2α

baS R - S

1β1α

ba

2α1α

ba

R

3β2α

baS R - S

1β1α

ba

Shembull. Ndryshimi i relacionit Studenti dhe Studenti_ri

Studenti–Studenti_ri

s# emri_st viti_st

970001 Arta 1

961269 Blerim 2

Prerja (intersect). Operacioni i prerjes për relacionet R dhe S shënohet SR I

dhe për rezultat jep bashkësinë e n-sheve të cilët janë në R dhe S. Operacioni i prerjes

është komutativ

RSSR II = .

Relacioni rezultat trashëgon emrat e atributeve nga relacioni R, respektivisht

rezultati merret që të jetë identik (për nga emrat e atributeve) me relacionin R.

Shembull.

2α1α

ba

R

3β2α

baS R ∩∩∩∩ S 2α

ba

2α1α

ba

R

3β2α

baS R ∩∩∩∩ S 2α

ba

Operacioni i prerjes nuk është operacion themelor sepse mund të derivohet

(nxjerret) nga operacionet themelore respektivisht nga operacioni i diferencës së

bashkësive, vlenë

)( SRRSR −−=I .

Page 6: 5. Algjebra dhe llogaritjet relacionale · 2018-10-13 · 5.1. Algjebra relacionale Algjebra relacionale bënë vlersimin e shprehjeve algjebrike të ndërtuara prej relacioneve,

6

Shembull. Prerja e relacionit Studenti dhe Studenti_ri

iStudenti_rStudenti I

s# emri_st viti_st

950879 Petrit 3

950127 Vjollca 3

Prodhimi Cartesian. Le të jenë R dhe S relacione me shkallët n dhe m

respektivisht. Prodhimi Cartesian i R dhe S, shënohet SR× dhe për rezultat jep

shemën relacionale që përmbanë të gjithë atributet nga R të ndjekura me të gjithë

atributet nga S. Relacioni rezultat përbëhet nga n-shet e formës sr, për çdo çiftë të

n-sheve Rr∈ dhe Ss∈ . Pra, rezultat është bashkësia e të gjitha (n+m)-sheve ku n

komponentat e para janë n-shet nga relacioni R dhe m komponentat e dyta janë m-shet

nga relacioni S. Atributet në relacioni SR× kanë emra të njejtë sikurse atributet

përgjrgjës në R respektivisht në S dhe nëse ndodh që të kemi përputhje të emrave

atëherë emrat e njejtë shënohen bashkë me emrin e relacionit nga i cili vjenë të ndarë

me pike, p.sh. sipas formës emir_i_relacionit.emri_i_atributit.

Shembull.

2β1α

ba

R

-10γ

-20β

+10β

+10α

edc

S

γ1α

β1α

β1α

α1α

cba

R ×××× S

-10-20+10+10ed

γ2β

β2β

β2β

α2β

-10-20+10+10

2β1α

ba

R

-10γ

-20β

+10β

+10α

edc

S

γ1α

β1α

β1α

α1α

cba

R ×××× S

-10-20+10+10ed

γ2β

β2β

β2β

α2β

-10-20+10+10

Shembull. Për çdo student të shkruhen lista e provimeve të cilat ai nuk i ka

regjistruar.

Së pari i gjejmë të gjitha kombinimet në mes shifrave të studentëve dhe

shifrave të lëndëve

( ) ( )KursiStudenticombAll ks ##_ ππ ×=

dhe tani prej relacionit të fituar e minusojmë relacionin Raporti

( )RaporticombAllrRegjistruaKaNuk ks #,#___ π−=

Rezultati është

Page 7: 5. Algjebra dhe llogaritjet relacionale · 2018-10-13 · 5.1. Algjebra relacionale Algjebra relacionale bënë vlersimin e shprehjeve algjebrike të ndërtuara prej relacioneve,

7

rRegjistruaKaNuk __

s# k#

970001 124

970001 215

950879 124

950879 102

950879 215

961269 102

961269 215

Riemërimi. Le të jetë E një relacion arbitrar. Operacioni i riemërimit të

relacionit E në relacion R shënohet ),( ERρ dhe rezultati i këtij operacioni do të jetë

relacioni (i ri) R i cili është plotësisht identik me relacionin E. Operacioni i këtillë

shpeshherë quhet operacioni aliases (i cili relacionit në të cilin vepron i ngjit një

pseudonim). Forma e përgjithshme e këtij operacioni është )),(( EFRρ ku F paraqet

listën e riemërimeve të atributeve të relacionit E në relacionin R. Elementet në listen F

mund të jepen si vijon (2→b, e→c) që do të thotë:

2→b, atributi i dytë me rradhë (nga e majta në të djathtë) nga relacioni E në

relacionin R do të riemërohet në b dhe

e→c, atributi e nga relacioni E në relacionin R do të riemërohet në c.

Shembull.

-10γ

-20β

+10β

+10α

eda

E

-10γ

-20β

+10β

+10αcba

ρ(R(2 →→→→b, e →→→→c),E)

R

-10γ

-20β

+10β

+10α

eda

E

-10γ

-20β

+10β

+10αcba

ρ(R(2 →→→→b, e →→→→c),E)

R

Pyetje: “Të gjenden të gjitha çiftet e studentëve të cilët gjenden në vit të

njejtë”.

Pasi duhet të përdoret relacioni i njejtë në vend të të dy operandëve, këtu

përdoret operatori i riemërimit

),( StudentiTempρ

ku relacionit Studenti i shoqëron pseodonimin Temp (respektivisht krijojm relacionin

Temp i cili është identik me relacionin Studenti) tani përgjigja në pyetjen është

( ))()#.#.()_._.(_.,_. StudentTempResult sStudentisTempstvitiStudentistvitiTempstEmriStudentistemriTemp ×= <∧=σπ

dhe relacioni i fituar është

Result

Temp.emri_st Studenti.emri_st

Vjollca Petrit

Forma më e qartë e përgjigjes, respektivisht ndarjen e përgjigjes në

nënrezultatet:

Page 8: 5. Algjebra dhe llogaritjet relacionale · 2018-10-13 · 5.1. Algjebra relacionale Algjebra relacionale bënë vlersimin e shprehjeve algjebrike të ndërtuara prej relacioneve,

8

),( StudentiTempρ

StudentTempTemp ×=2

)2(3 )#.#.()_._.( TempTemp sStudentisTempstvitiStudentistvitiTemp <∧== σ

( )3_.,_. TempResult stEmriStudentistemriTempπ=

Lidhja (Join). Operacioni i lidhjes është operacion mjaft i fuqishëm në

algjebrën relacionale, i kombinon dhe nxjer të dhënat nga dy relacione. Lidhja mund

të definohet si prodhim Cartesian i ndjekur me operacionin e selektimit dhe

ndonjëherë edhe me operacionin e projektim. Operacioni i prodhimit Cartesian

zakonisht është më i gjërë se operacioni i lidhjes, prandaj, me rendësi është

identifikimi i lidhjes pa ndërthurjen e prodhimit Cartesian. Lidhja e dy relacioneve R

dhe S shënohet SR <> . Operacioni i lidhjes paraqitet në tri variante:

i. Lidhja e kushtëzuar,

ii. Lidhja – barazi dhe

iii. Lidhja natyrale.

Lidhja e kushtëzuar (Condition Join). Operacioni i lidhjes së kushtëzuar

paraqet formën e përgjithshme të operacionit të lidhjes dhe për relacionet R dhe S

shënohet SR C<> . Operacioni lidhja e kushtëzuar definohet si vijon

)( SRSR CC ×= σ<>

ku C paraqet kushtin e lidhjes dhe kushti është i njejtë sikurse kushti tek operacioni i

selektimit. Operacioni i lidhjes së kushtëzuar njihet edhe si operacioni i lidhjes theta

(θ).

Shembull.

d3c3b358

d2c2b231

d1c1b122

dcba

d3c3b358

d2c2b231

d1c1b122

dcba

f2e258

f1e122

fea

f2e258

f1e122

fea

RS

f2e258d2c2b231

f2e258d1c1b122

feR.adcbS.a

f2e258d2c2b231

f2e258d1c1b122

feR.adcbS.a

RS aRaS .. <<>

Lidhja – barazi (Equi – Join). Operacioni lidhja–barazi parqet rast special të

lidhjes së kushtëzuar ku kushti përbëhet nga barazia e vlerave të dy atributeve, njëri

nga relacioni R dhe tjetri nga relacioni S. Operacioni i lidhjes-barazi kërkon që

operandat të kenë të paktën një atribut të përbashkët sipas domenës, pra, me domenë

të njejtë. Rezultat është relacioni i cili përbëhet nga të gjitha n-shet të fituara me

ngjitjen e një n-sheje prej R me një n-she prej S e cila ka vlerë të njejtë të atributit të

përbashkët me n-shen nga R. Në relacionin rezultat atributi i përbashkët nga relacioni

i dytë, relacioni S nuk paraqitet (pra fshihet).

Page 9: 5. Algjebra dhe llogaritjet relacionale · 2018-10-13 · 5.1. Algjebra relacionale Algjebra relacionale bënë vlersimin e shprehjeve algjebrike të ndërtuara prej relacioneve,

9

Shembull.

γ1α

β4γ

γ5βα1α

cba

R

βδδY2γX1

βX3

αX1

feb

S

εY3 γ1α

γ1α

α1αα1α

cbaR R.b=S.b S

β2δγXαXγXαX

fe

δY2

Operacioni i lidhjes barazi mund të përbëhet nga më tepër çifte barazi të lidhur

me operacionin logjik ∧ , si p.sh. SR dcba )()( =∧=<> .

Lidhja natyrale. Lidhja natyrale (natural join) është operacion binar i cili

vepron në dy relacione R dhe S të cilët kanë të paktën një atribut të përbashkët.

Operacioni i lidhjes natyrale shënohet SR <> . Lidhja natyrale paraqet rast special të

lidhjes–barazi ku kërkohet barazi në mes të gjithë atributeve të përbashkëta, pra,

rezultat është relacioni i cili përbëhet nga të gjitha n-shet të fituara me ngjitjen e një

n-sheje prej R me një n-she prej S e cila ka vlerë të njejtë të atributeve gjegjëse të

përbashkëta me n-shen nga R. Në relacionin rezultat atributet e përbashkëta paraqiten

vetëm një herë.

Shembull. Për shembull le të jetë R(A,B,C) dhe S(B,C,D) të dhënë në instancat

relacionale:

c3b2a4

c2b2a3

c1b1a2

c1b1a1

CBA

c3b2a4

c2b2a3

c1b1a2

c1b1a1

CBA

d3c3b2

d2c1b1

d1c1b1

DCB

d3c3b2

d2c1b1

d1c1b1

DCB

R S

relacioni SR <> është

d3c3b2a4

d2c1b1a2

d1c1b1a2

d2c1b1a1

d1c1b1a1

DCBA

d3c3b2a4

d2c1b1a2

d1c1b1a2

d2c1b1a1

d1c1b1a1

DCBA

SR <>

Nëse relacionet nuk kanë attribute të përbashkëta atëherë definohet që rezultat

i lidhjes natyrale të jetë prodhimi Cartesian i relacioneve.

Pyetje 1. “ Të gjenden emrat e të gjithë studentëve që kanë regjistruar lëndën

me numër 124”.

( )( )StudentiRaportiResult kstemri <>124#_ == σπ

Pyetje 2. “ Të gjendet numri i dhomës së arsimtarit i cili ligjëron lëndëm me

shifrën 037”.

( )( )ArsimtariKursiResult kdh <>037## == σπ

Page 10: 5. Algjebra dhe llogaritjet relacionale · 2018-10-13 · 5.1. Algjebra relacionale Algjebra relacionale bënë vlersimin e shprehjeve algjebrike të ndërtuara prej relacioneve,

10

Pyetja 3. “ Gjej emrat e arsimtarëve të cilët ligjërojn lëndën të cilën e ka

regjistruar të paktën një student në vitin e tretë”.

( )( )( )KursiRaportiStudentiResult stvitiaremri <><>3__ == σπ

3Vjollca950127

3Petrit950879

viti_stemri_sts#

( )Studentistviti 3_ =σ

3Vjollca950127

3Petrit950879

viti_stemri_sts#

( )Studentistviti 3_ =σ

91023Vjollca950127

81243Vjollca950127

100373Vjollca950127

90373Petrit950879

notak#viti_stemri_sts#

( ) RaportiStudentistviti <>3_ =σ

91023Vjollca950127

81243Vjollca950127

100373Vjollca950127

90373Petrit950879

notak#viti_stemri_sts#

( ) RaportiStudentistviti <>3_ =σ

GjergjHardveri91023Vjollca950127

BujarProgramim81243Vjollca950127

FatmirBazat e inf.100373Vjollca950127

FatmirBazat e inf.90373Petrit950879

emri_artitullinotak#viti_stemri_sts#

( )( ) KursiRaportiStudentistviti <><>3_ =σ

GjergjHardveri91023Vjollca950127

BujarProgramim81243Vjollca950127

FatmirBazat e inf.100373Vjollca950127

FatmirBazat e inf.90373Petrit950879

emri_artitullinotak#viti_stemri_sts#

( )( ) KursiRaportiStudentistviti <><>3_ =σ ( )( ) KursiRaportiStudentistviti <><>3_ =σ

Gjergj

Bujar

Result

Fatmir

emri_ar

Gjergj

Bujar

Result

Fatmir

emri_ar

Lidhja çdo herë mund të shprehet nëpërmjrt operacioneve tjerë, p.sh. le të jenë

relacionet R(A,B,C,D) dhe S(C,D,E), për lidhjen natyrale vlenë

( ) ( )( )( )SRSR DSDRCSCREDRCRBA ×= =∧= ....,.,.,, σπ<>

Pjestimi. Le të jetë R relacion i shkallës n dhe S relacion i shkallës m dhe të

gjithë atributet e S le të paraqiten edhe te relacioni R. Rezultati i pjestimit të R me S, i

cili shënohet SR / është bashkësia e të gjithë (n-m)-sheve (x) ashtu që n-shet (x,y)

paraqiten në R për të gjitha m-shet (y) që paraqiten në S. Këtu x dhe y janë grupe prej

një ose më tepër atribute. Pra, pjestimi SR / është bashkësia e të gjithë x vlerave nga

R (pjesa x e n-shes nga R) ashtu që për çdo y vlerë n-she nga S ekziston n-sheja

yx, në R.

Shembuj:

c1

K#

c4s4

c1s3

c2s2

c1s2

c3s1

c2s1

c1s1

K#S#

R1 R2

c3

c2

c1

K#

R3

s3

s2

s1

S#

R1/R2

s1

S#

R1/R3

c1

K#

c4s4

c1s3

c2s2

c1s2

c3s1

c2s1

c1s1

K#S#

R1 R2

c3

c2

c1

K#

R3

s3

s2

s1

S#

R1/R2

s1

S#

R1/R3

2 α 1 α y x

1 β 3 α

1 δ 1 γ

4 δ 3 δ

2 ε 1 ε

2 1 y

ε α x

R S R/S

Një definicion alternative i pjestimit është: për çdo x vlerë nga R shiqohet

bashkësia e y vlerave të cilët paraqiten në n-shet në R sëbashku me x dhe nëse kjo

bashkësi përmban të gjithë y vlerat n-she nga S atëherë x vlera paraqet n-she në

rezultatin e pjestimit SR / .

Gjithashtu mund të bëhet analogji në mes pjestimit të numrave të plotë dhe

pjestimit të instancave relacionale. Për shembull pjestimi i numrit R me numrin S

Page 11: 5. Algjebra dhe llogaritjet relacionale · 2018-10-13 · 5.1. Algjebra relacionale Algjebra relacionale bënë vlersimin e shprehjeve algjebrike të ndërtuara prej relacioneve,

11

është numri Q ashtu që RSQ ≤* . Ndërsa për instancat relacionale kemi: pjestimi i

instancës relacionale R me instancën relacionale S është instance relacionale Q ashtu

që RSQ ⊆× .

Operacioni i pjestimit nuk është operacion themelor, prandaj, mund të

shprehet me ndihmën e operacioneve tjera

)))((()(/ RSRRSR xxx −×−= πππ .

Shembull.

Temp1←πR-S(R) ku R-S=(x,y)–y=x

Temp2←πR-S((Temp1×S)–R) Result=Temp1–Temp2

γ

α

β

δ

ε

xTemp1

ε

α

x

R / Sβ 2

γ 2

δ 2

x y

( Temp1 × S ) – R

Temp2

2

1

y

S

yx

1

γ

R

γ

α

β

δ

ε

xTemp1

γ

α

β

δ

ε

xTemp1

ε

α

x

R / S

ε

α

x

R / Sβ 2

γ 2

δ 2

x y

( Temp1 × S ) – R

β 2

γ 2

δ 2

x y

β 2

γ 2

δ 2

x y

( Temp1 × S ) – R

Temp2

2

1

y

S

yx

1

γ

R

2

1

y

S

yx

1

γ

R

Pyetje 1. “Të gjenden emrat e të gjithë studentëve të cilët kanë regjistruar

lëndën me shifrën 102”.

( )( )( )( )StudentiKursiRaportiResult kksstemri <>102###_ / == σπππ

e njejta pyetje mund të zgjidhet edhe si vijon

( )( )( )RaportiStudentiResult ksstemri 102##_ == σππ <>

relacioni rezultat është

Vjollca

Arta

EMRI_ST

Vjollca

Arta

EMRI_ST

Pyetja 2. “Të gjenden emrat e studentëve të cilët i kanë regjistruar të gjithë

lëndët”.

( )( )( )StudentiKursiRaportiResult kstemri <>#_ / ππ=

relacioni Result është i zbrazët sepse asnjë n-she nuk plotësok kërkesën e shprehur me

shprehjen në të djathtë.

Pyetja 3. “Të gjenden numrat e studentëve të cilët kanë regjistruar të paktën

ata lëndë të cilat i ka regjistruar studenti me numër 970001 (dhe ndonjë lëndë tjetër)”.

( )( )( )RaportiRaportiResult sks 970001### / == σππ

Rezultati është: studentët me numrat 970001 dhe 950127.

Page 12: 5. Algjebra dhe llogaritjet relacionale · 2018-10-13 · 5.1. Algjebra relacionale Algjebra relacionale bënë vlersimin e shprehjeve algjebrike të ndërtuara prej relacioneve,

12

Shembull. Pjestimi mund të shprehet me ndihmën e operacioneve të

mëparshme, p.sh. për relacionet R(A, B, C, D) dhe S(C, D) kemi

)))((()(/ ,,, RSRRSR BABABA −×−= πππ

Funkcionet agregate. Funksione matematike për kolekcionimin e të dhënave

nga database-i. Funksione të tilla janë:

- SUM(…) – llogaritja e shumës së vlerave të atributit (kolonës) të dhënë,

- AVERAGE(…) – llogaritja e vlerës mesatare të vlerave të atributit të

dhënë,

- MAX(…), MIN(…) – maksimumi, minimumi i vlerave të atributit të

dhënë,

- COUNT(…) – numërimi i n-sheve,

- etj.

Tre pika në klapa do të thotë atributi sipas të cilit kryhet funksioni, te disa

funksione është pjesë opcionale dhe mund të mos përdoret, p.sh. COUNT mund të

përdoret edhe pa argumentin respektivisht pjesën në kllapa.

Funksionet agregate përdoren si vijon

F<lista e funksioneve>(R)

Pyetje 1. “Të gjendet numri i studentëve të cilët kanë regjistruar lëndën me

shifrën 102”.

FCOUNT ( )( )Raportik 102#=σ

Zakonisht funksionet agregate përdoren me klauzulën për grupim, për

shembull nëse kërkojmë numrin e studentëve të ndarë sipas gjinisë, përdorimi i

funksionit COUNT pa grupimin sipas gjinisë nuk do të na japë zgjidhjen e kërkuar.

Përdorimi i klauzulës për grupim (GROUP BY) bëhet si vijon:

<atributet e grupimit>F<lista e funksioneve>(R)

Pyetje 2. “Të gjendet numri i studentëve nëpër gjenerata, p.sh. sa janë në vitë

të parë, në vitë të dytë, etj.”.

Viti_stFCOUNT(s#)(Studenti) dhe rezultati është

Viti_st n#

1 1

2 1

3 2

Pyetje 3. “Të gjendet nota mesatare e çdo studenti”.

s#FAVERAGE(nota)(Raporti).

Page 13: 5. Algjebra dhe llogaritjet relacionale · 2018-10-13 · 5.1. Algjebra relacionale Algjebra relacionale bënë vlersimin e shprehjeve algjebrike të ndërtuara prej relacioneve,

13

5.2. Algjebra relacionale – Ushtrime

Analizojmë database-in e të dhënave për gurmanët (adhuruesit, provuesit e

gjellrave), restoranet dhe gjellat të cilat i servojnë ata. Database-i është dhënë me ER

shemën

GURMANET

GJELLARESTORANI

PELQEN

SERVON

FREKUENCA

N

M

N M

N

M

Relacionet janë:

GURMANET(G#, …)

GJELLA(GJ#, …)

RESTORANT(R#, …)

FREKUENCA(G#, R#)

SERVON(R#, GJ#)

PELQEN(G#, GJ#)

Detyra 1: Për database-in për gurmanët, gjellat dhe restoranet pyetjet e

ardhshme të shprehen në algjebrën relacionale:

Pyetja 1. Paraqite listën e restoreneve të cilët servojn gjellën të cilën e pëlqen

‘Joe’.

))((_ ''## PELQENJOESGJELLAT JoeGGJ == σπ

)_(T_JOESRESTORANTE # SERVONJOESGJELLATR <>π=

Pyetja 2. Paraqite listën e gurmanëve të cilët vizitojnë të paktën njërin nga

restoranet të cilët servojnë gjellën që ai e pëlqen.

))((RESULT # FREKUENCASERVONPELQENG <><>π=

Pyetja 3. Paraqite listën e të gjithë restoraneve të cilët servojnë të gjitha gjellat

të cilat i pëlqen Joe.

))((_ ''## PELQENJOESGJELLAT JoeGGJ == σπ

JOESGJELLATSERVONRESULT _/=

Pyetja mund të zgjidhet edhe pa përdorimin e operacionit të pjestimit

))((_ ''## PELQENJOESGJELLAT JoeGGJ == σπ

)(_ # SERVONRESTORANTALL Rπ=

JOESGJELLATRESTORANTALLCOMALL ___ ×=

)_(_ # SERVONCOMALLJOESNOT R −= π

JOESNOTRESTORANTALLJOESRESTORANET ___ −=

Page 14: 5. Algjebra dhe llogaritjet relacionale · 2018-10-13 · 5.1. Algjebra relacionale Algjebra relacionale bënë vlersimin e shprehjeve algjebrike të ndërtuara prej relacioneve,

14

Analizojmë database-in e të dhënave për huazimin e librave:

LIBRI(SH_L#, TITULLI, AUTORI, BOTUESI)

ANTARI(SH_A#, EMRI, ADRESA)

HUAZIMI(SH_L#, SH_A#, DATA_HUAZIMIT)

Detyra 2. Për database-in e huazimeve të librave pyetjet në vazhdim të

shprehen në algjebrën relacionale.

Pyetja 1. Gjej të gjithë autorët dhe titujt e librave të botuar prej ‘Prentice Hall’.

))(( '', LIBRIResult HallPrenticeBOTUESIAUTORITITULLI == σπ

Pyetja 2. Gjej titujt e të gjitha librave të cilët janë huazuar 15. Shkurt. 2003.

))((_ '200315'_#_ HUAZIMIHuazuaritTe FebHUAZIMITDATALSH −−== σπ

)_( HuazuaritTeLIBRIResult TITULLI <>π=

Pyetja 3. Gjej emrin e antarit i cili në 15 Mars 2003 ka huazuar librin “Për kë

bien kombanat”.

)('' LIBRIResult1 kombanatbienkëPërTITULLI == σ

)('200315'_ HUAZIMIResult2 MarHUAZIMITDATA −−== σ

))(( ANTARIResult2Result1Result EMRI <><>π=

Pyetja 4. Shkruaj titullin dhe autorin e cilit do libër të botuar nga botuesi

‘Prentice Hall’ të cilin e ka huazuar antari me emrin ‘John Smith’ para datës 21.

Korik. 2003.

))()(( '200321'_''#_ HUAZIMIANTARIResult1 JulHUAZIMITDATASmithJohnEMRILSH −−<== σσπ <>

))(( '', Results1LIBRIResult HallPrenticeBOTUESIAUTORITITULLI <>== σπ

Pyetja 5. Gjej emrat dhe adresat e të gjithë antarëve të cilët i kanë huazuar të

gjitha librat e autorit Ernest Heminguay.

))(( ''#_ LIBRIResult1 HeminguayErnestAUTORILSH == σπ

Result1HUAZIMIResult2 ASHLSH /)(#_,#_π=

)(, Results2ANTARIResult ADRESAEMRI <>π=

Pa operacionin e pjestimit:

))(( ''#_ LIBRIResult1 HeminguayErnestAUTORILSH == σπ

)(_ #_ ANTARIResult1COMBALL ASHπ×=

))(_(_ #_,#_#_ HUAZIMICOMBALLHUAZUARAJO ASHLSHASH ππ −=

HUAZUARAJOANTARIResult2 ASH _)(#_ −= π

)(, Results2ANTARIResult ADRESAEMRI <>π=

Page 15: 5. Algjebra dhe llogaritjet relacionale · 2018-10-13 · 5.1. Algjebra relacionale Algjebra relacionale bënë vlersimin e shprehjeve algjebrike të ndërtuara prej relacioneve,

15

Pyetja 6. Shkruaj titujt dhe autorët e librave të cilët asnjëher nuk janë huazuar.

)()( #_#_ HUAZIMILIBRIResult1 LSHLSH ππ −=

)(, LIBRIResult1Result AUTORITITULLI <>π=

Pyetja 7. Shkruaj të dhënat për librat të cilat asnjëherë nuk i ka huazuar antari

me shifër 67542.

))(( 67542#_#_ HUAZIMIResult1 ASHLSH == σπ

Result1LIBRIResult2 LSH −= )(#_π

Results2LIBRIResult <>=

Pyetje 8. Shkruaj emrat e të gjithëve të cilët kanë huazuar të gjithë librat të

cilat i ka huazuar anëtari me shifrën 67542.

))(( 67542#_#_ HUAZIMIResult1 ASHLSH == σπ

Result1HUAZIMIResult2 ASHLSH /)(#_,#_π=

)( Results2ANTARIResult EMRI <>π=

Zgjidhja e detyrës pa përdorimin e operacionit e pjestimit

))(( 67542#_#_ HUAZIMIResult1 ASHLSH == σπ

)(_ #_ ANTARIResult1COMBALL ASHπ×=

))(_((_ #_,#_#_ HUAZIMICOMBALLHUAZUARAJO ASHLSHASH ππ −=

HUAZUARAJOANTARIResult2 ASH _)(#_ −= π

)( Results2ANTARIResult EMRI <>π=

Analizojmë database-in e të dhënave për huazimin e anijeve:

Sailors ( sid, sname, age, rating)

Boats ( bid, bname, color )

Reserves ( sid, bid, date )

Detyra 3. Për database-in e huazimeve të anijeve pyetjet në vazhdim të

shprehen në algjebrën relacionale.

Pyetje 1. Gjej emrat e marinarëve të cilët kanë huazuar anijen me shifër 103.

- Zgjidhja 1:

Result=πsname((σbid=103(Reserves) Sailors)

- Zgjidhja 2:

ρ(Temp1,σbid=103(Reserves )) ρ(Temp2,Temp1 Sailors)

Result=πsname(Temp2) - Zgjidhja 3:

Result=πsname(,σbid=103(Reserves Sailors))

Page 16: 5. Algjebra dhe llogaritjet relacionale · 2018-10-13 · 5.1. Algjebra relacionale Algjebra relacionale bënë vlersimin e shprehjeve algjebrike të ndërtuara prej relacioneve,

16

Pyetje 2. Gjej emrat e marinarëve të cilët kanë huazuar të paktën anije me

ngjyrë të kuqe.

- Zgjidhja 1:

Result=πsname((σbid=’red’(Boats) Reserves) Sailors)

- Zgjidhja 2:

Result=πsname(πsid((πbid(σcolor=‘red’(Boats)) Reserves) Sailors)

Pyetje 3. Të gjenden emrat e marinarëve të cilët kanë rezervuar të paktën

anijen e kuqe ose të gjelbërt.

Identifikojmë anijet e keqe dhe të gjelbërta dhe pastaj gjejm marinarët të cilët

kanë rezervuar ndonjë nga ata.

- Zgjidhja 1:

ρ(Tempboats, (σcolor=‘red’ V color=‘green’(Boats))) Result=πsname(Tempboats Reserves Sailors)

− Zgjidhje 2:

Result=πsname((σcolor=‘red’(Boats) Reserves) Sailors) U

πsname((σcolor=‘green’(Boats) Reserves) Sailors)

Pyetje 4. Gjej emrat e marinarëve të cilët kanë rezervuar të paktën anije të

kuqe dhe anije të gjelbërt.

Zgjidhja 1 më lartë nuk do të funksionoj. Duhet të gjejmë marinarët të cilët

kanë rezervuar anije të kuqe dhe marinarët që kanë rezervuar anije të gjelbërt dhe

pastaj gjejmë prerjen.

ρ(Tempred, πsid((σcolor=‘red’(Boats) Reserves))

ρ(Tempgreen, πsid((σcolor=‘green’(Boats) Reserves))

Result=πsname((Tempred∩Tempgreen) Sailors)

Pyetje 5. Emrat e marinarëve të cilët kanë rezervuar të gjithë anijet.

ρ(Tempsids, (πsid,bid(Reserves) / (πbidBoats)) Result=πsname(Tempsids Sailors)

Pyetje 6. Gjej marinarët të cilët kanë rezervuar të gjithë anijet e kuqe:

ρ(Tempsids, (πsid,bid(Reserves) / (πbid(σcolor=‘red’(Boats)) Result=πsname(Tempsids Sailors)

Page 17: 5. Algjebra dhe llogaritjet relacionale · 2018-10-13 · 5.1. Algjebra relacionale Algjebra relacionale bënë vlersimin e shprehjeve algjebrike të ndërtuara prej relacioneve,

17

5.3. Llogaritjet relacionale (Relational Calculus)

Llogaritja relacionale është propozuan nga E. F. Codd-i si alternativë e

algjebrës relacionale. Këtu bëhet fjalë për shënimin matematik të bazuar në llogaritjet

me predikatë. Pyetjet këtu janë predikate të cilët n-shet duhet patjetër t’i plotësojnë.

Dallojmë dy lloje të llogaritjeve relacionale:

� llogaritjet e orientuara në n-shet (objektet bazë janë n-shet) dhe

� llogaritjet e orientuara në domenën (objektet bazë janë elementet e domenës së

atributit).

Llogaritjet e orientuara në n-shet. Në shprehjet e këtilla paraqiten këta

elemente:

1. Variablat n-she marrin vlera nga relacioni i shënuar (i dhënë). Nëse t është

variabël që kalon nëpër relacionin R, atëherë t.A shënon komponentën A të t-së ku A

është atribut prej R.

2. Kushtet e formës xθy, ku θ është operacion për krahësim ( ≠>≥≤<= ,,,,, ).

Të paktën njëri nga x ose y duhet të jetë i formës t.A ndërsa tjetri mund të jetë edhe

konstantë. Kushti gjithashtu mund të jetë edhe i formës R(t) që do të thotë se t është

n-she në relacionin R. Kushti paraqet një formulë e cila quhet formulë atom.

3. Formula e formualuar (formuar) mirë (ang. Well–Formed–Formula, WFF),

është e ndërtuar nga lidhëset logjike (∧ (and), ∨ (or), ¬ (not), ⇒ ) dhe

kuantifikatorët ∃ (ekziston), ∀ (për çfarëdo) në përputhshmëri me rregullat në

vazhdim:

(i) çdo atom (çdo kusht) është formulë e formuluar mirë,

(ii) nëse f1 dhe f2 janë formula të formuluara mirë atëherë edhe f1∧ f2, f1∨ f2, ¬ f1, ¬ f2, f1⇒ f2 dhe f2⇒ f1 gjithashtu janë formula të formuluara mirë,

(iii) nëse f është formulë e formuluar mirë në të cilën t paraqitet si variabël

e lirë (variabla e paraqitur në formulën të formuluar mirë është e lidhur nëse ajo

variabël është paraqitur me kuantifikator, përndryshe është e lirë) atëherë edhe

)( ft∃ dhe )( ft∀ janë formula të formuluara mirë,

(iv) asnjë formulë tjetër (përveç këtyre të dhënë) nuk është formulë e

formuluar mirë.

Shprehja e llogaritjes të orientuar në n-shet është e formës

{t.A, u.B, v.C, … | f}

ku t, u, v, … janë variabla n-she, A, B, C, … janë atributet e relacioneve gjegjëse dhe f

është formulë e formuluar mirë e cila përmban t, u, v, … si variabla të lira.

Për një variabël themi se është e lidhur (bind) nëse në formulë paraqitet me

kuntifikator, përndryshe variabla është e lirë (free).

Pyetje 1. “Gjej shifrat e të gjithë lëndëve”.

{c.k# | Kursi(c)}

Page 18: 5. Algjebra dhe llogaritjet relacionale · 2018-10-13 · 5.1. Algjebra relacionale Algjebra relacionale bënë vlersimin e shprehjeve algjebrike të ndërtuara prej relacioneve,

18

Pyetje 2. “Gjej shifrat e studentëve në vitin e parë”.

{s.s# | Studenti(s) ∧ s.viti_st=1}

Pyetje 3. “Gjej shifrat dhe emrat e studentëve të cilët kanë regjistruar lëndën

me shifër 121”

{s.s#, s.emri_st | Studenti(s) ∧ r∃ (Raporti(r) ∧ r.s# = s.s# ∧ r.k# = 121)}

Pyetje 4. “Gjej shifrat e atyre lëndëve të cilat i ka regjistruar të paktën një

student në vitin e parë”.

{c.s#|Kursi(c)∧ r∃ (Raporti(r)∧ r.k#=c.k#∧ s∃ (Studenti(s)∧ s.s#=r.s#∧ s.viti_st = 1))}

Pyetje 5. “Gjej emrat e të gjithë studentëve të cilët i kanë regjistruar të gjitha

lëndët”.

{s.emri_st|Studenti(s)∧ rc∃∀ (Kursi(c)∧Raporti(r)∧ c.k#=r.k#∧ r.s#=s.s#)}

Pyetje 6. Të gjenden marinarët me kueficientin mbi 7.

{s|Sailors(s)∧ s.rating>7}

Pyetje 7. Të gjendet emri dhe mosha e marinarëve me kueficientin mbi 7.

{s.name, s.age|Sailors(s)∧ s.rating>7}

Pyetje 8. Të gjendet emri i marinarit, shifra (id) e anijes dhe data e rezervimit

për çdo rezervim të bërë.

{s.name, r.bid, r.date|Sailors(s) ∧ r∃ (Reserves(r)∧ s.sid=r.sid)}

Pyetje 9. Të gjendet emri i marinarit i cili ka rezervuar anien me 103.

{s.name|Sailors(s) ∧ r∃ (Reserve(r)∧ s.sid=r.sid∧ r.bid=103)}

Pyetje 10. Të gjendet emri i marinarit i cili ka rezervuar anien me ngjyrë të

kuqe.

{s.name|Sailors(s)∧ r∃ (Reserves(r)∧ s.sid=r.sid∧ b∃ (Boats(b)∧ r.bid=b.sid∧ b.color=’red’))}

Pyetje 11. Të gjendet emri i marinarit i cili ka rezervuar të paktën dy anie.

{s.name|Sailors(s)∧ r∃ (Reserves(r)∧ 1r∃ (Reserves(r1)∧ s.sid=r.sid∧ r.sid=r1.sid∧

r.bid≠r1.bid))}

Pyetje 12. Të gjenden emrat e marinarëve të cilët i kanë rezervuar të gjithë

aniet.

Page 19: 5. Algjebra dhe llogaritjet relacionale · 2018-10-13 · 5.1. Algjebra relacionale Algjebra relacionale bënë vlersimin e shprehjeve algjebrike të ndërtuara prej relacioneve,

19

{s.name|Sailors(s)∧ b∀ (Boats(b)∧ r∃ (Reserves(r)∧ s.sid=r.sid∧ r.bid=b.sid))}

Pyetje 13. Të gjenden marinarët të cilët i kanë rezervuar të gjithë aniet me

ngjyrë të kuqe.

{s|Sailors(s)∧ b∀ (Boats(b)∧ b.color=’Red’⇒ r∃ (Reserves(r)∧ s.sid=r.sid∧ r.bid=b.sid))}

Llogaritja e orientuar në domonë. Variablat “kalojnë” nëpër domenë,

gjithashtu kemi kushte “kushte të anëtarësisë” (është element) në formën:

R(A:v1, B:v2, C:v3, …)

ku A, B, C, … janë atribute të relacionit R dhe v1, v2, v3, … janë variabla ose konstanta.

Për shembull kushti Studenti(s#:87251, viti_st:1) është i saktë nëse dhe vetëm nëse në

relacionin Studenti ekziston n-she ashtu që s#=87251 dhe viti_st=1.

Rregullat për WFF (formulë e formuluar mirë) janë të njejta sikurse te

llogaritja e orientuar në n-shet.

Pyetje 1. “Gjej shifrat e të gjithë lëndëve”.

{c | Kursi(K# : c)}

Pyetje 2. “Gjej shifrat e të gjithë studentëve në vitin e parë të studimeve”.

{s|Studenti(s# : s, viti_st : 1)}

Pyetje 3. “ Gjej shifrat dhe emrat e studentëve të cilët kanë regjistruar lëndën

me shifër 121”.

{s, n|Studenti(s#: s, emri_st : n) ∧ Raporti(s#: s, k#: 121)}

Pyetje 4. “Gjej shifrat dhe titujt e lëndëve të cilat i ka regjistruar të paktën një

student në vitin e parë”.

{k, t|Kursi(k#:k, titulli:t) ∧ ∃ s(Raporti(k#:k, s#:s) ∧ Studenti(s#:s, viti_st:1))}

Pyetje 5. “Gjej emrat e atyre studentëve të cilët kanë regjistruar të gjitha

lëndët”.

{n|∃ s(Studenti(s#:s, emri_st:n) ∧ ∀ k(Kursi(k#:k) ⇒ Raporti(s#:s, k#:k)))}

Llogaritja relacionale është jo procedurale në krahësim me algjebrën

relacionale. Bazuar në llogaritjen e orientuar në n-she ekziston gjuha programore për

përshkrim, manipulim dhe parashtrim të pyetjeve për database-et, gjuha SQL, ndërsa

bazuar në llogaritjet e orientuara në domanë gjuha QBE (Query By Example).

Page 20: 5. Algjebra dhe llogaritjet relacionale · 2018-10-13 · 5.1. Algjebra relacionale Algjebra relacionale bënë vlersimin e shprehjeve algjebrike të ndërtuara prej relacioneve,

20

5.4.Optimizimi i pyetjeve

Që pyetjet e parashtruara të kryhen (ekzekutohen) më me sukse është e

nevojshme të bëhet edhe optimizimi i pyetjeve. Optimizimin e pyetjeve e bën DBMS-

ja. DBMS-ja optimizimin e pyetjeve e bënë në dy mënyra:

- në nivelin e lartë (nivelin logjik), duke e riformuluar shprehjen algjebrike në

formën ekuivalente me atë të fillimit por më të përshtatshme në aspektin e vlerësimit

(llogaritjes) të shpejtë,

- në nivelin e ulët (nivelin fizik), duke zgjedhur algoritëm më të mirë për

vlerësim (llogaritje) të çdo operacioni themelor në shprehjen algjebrike. Gjithashtu

shfrytëzon prezencën e strukturatve ndihmëse eventuale (si p.sh. indeksat dhe

ngjashëm).

Raporti në mes algjebrës relacionale dhe llogaritjes relacionale: Çdo pyetje e

shprehur në algjebrën relacionale mund të zëvendësohet me pyetjen ekuivalente të

shprehur në llogaritjen relacionale (Pohimi i këtillë është dhënë nga Ullman J. D.

‘Principles of Database Systems’, 1980). Për shembull:

R1U R2 {t|R1(t) ∨R2(t)}

R1–R2 {t|R1(t) ¬∧ R2(t)}

R1×R2 {<t,r>|R1(t) ∧ R2(r)} σf(X)(R1) {t|R1(t) ∧ f(t.x)}

πX(R1) {t.x|R1(t)}

Çdo pyetje e shprehur me ndihmën e llogaritjes relacionale mund të

formulohet edhe me ndihmën e algjebrës relacionale (Pohimi i këtillë është dhënë nga

Codd E. F. ‘Database Systems’, 1972). Codd ka shprehur edhe algoritmin e reduktuar

me ndihmën e të cilit shprehja e dhënë në llogaritjen relacionale mund të kalohet në

shprehje të algjebrës relacionale.

Kështu në vazhdim pa e humbur kuptimin e përgjithësisë mund të marrim një

pyetje të shprehur në algjebrën relacionale dhe atë do ta shprehim (diskutojmë) sipas

llogaritjes relacionale.

Pyetje . Të gjendet emri i marinarit me kueficient më të madh se 7 dhe i cili ka

rezervuar anien me ngjyrë të kuqe.

Përgjigja e pyetjes në algjebër relacionale

Result= πsname((πsid(Reserves σcolor=’red’(Boats)) (πsid,sname(Sailors))

ndërsa në llogaritjet relacionale (të bazuara në n-shet) është

{s.name|Sailors(s) ∧ s.rating>7 ∧ r∃ (Reserves(r)∧ s.sid=r.sid ∧ b∃ (Boats(b) ∧ r.bid=b.sid∧ b.color=’red’))}

Rregullat themelore për optimizim.

i. Kombinimi i selekcionit (operacionit të selektimit):

σB1(σB2(R))= σB1∧ B2(R)

Page 21: 5. Algjebra dhe llogaritjet relacionale · 2018-10-13 · 5.1. Algjebra relacionale Algjebra relacionale bënë vlersimin e shprehjeve algjebrike të ndërtuara prej relacioneve,

21

Me këtë arrijmë që të zvoglojmë kohën e nevojshme për kryerje nëse të dy

selekcionet kryhen në mënyrë të barabartë ngadalë (d.m.th. shiqimin e krejtë

relacionit). Nëse njëra nga selekcionet kryhet shpejtë (duke falemenderuar prezencën

e strukturave fizike të të dhënave) ndërsa tjetra ngadalë atëherë kombinimi nuk ka

llogari sepse selekcioni përfundimtar gjithashtu do të kryhet ngadal. Vendimi se cila

është më e përshtatshme varet nga ndërtimi fizik i database-it.

ii. Nxjerja e selekcionit përpara lidhjes respektivisht prodhimit: Nëse B

përmban atribute nga R dhe jo nga S atëherë vlenë:

σB(R S)= σB(R) S

σB(R×S)= σB(R)×S

Nëpërgjithësi nëse B mund të zbërthehet në B=BR∧BS∧BRS∧B’ ku BR përmban vetëm atributet nga R, BS përmban atributet nga S, BRS përmban atributet e

përbashkëta nga R dhe S dhe B’ përmban atributet tjera nga B atëherë vlenë

σB(R S)=σB’ (σBR∧ BRS(R) σBS∧ BRS(S))

Shembull: Gjej shifrat e të gjithë studentëve në vitin e parë të cilët kanë

regjistruar ndonjë lëndë të cilën e ligjeron arsimtari ‘Fatmir’ dhe në atë lëndë kanë

fituar notë më të madhe se 7.

Result:=πs#(σviti_st=1∧ nota>7∧ emri_ar=’Fatmir’(Studenti Rraporti Kursi))

Zgjidhja e optimizuar:

Result=πs#(σviti_st=1(Studenti ) σnota>7(Rraporti) σemri_ar=’Fatmir’(Kursi))

iii. Nxjerja e selekcionit para projekcionit: Nëse kushti B përmban vetëm

atributin X i cili projektohet atëherë vlenë

σB(πX (R)=πX(σB(R))

iv. Kombinimi i projekcioneve: Nëse X, Y dhe Z janë atribute nga R atëherë

vlenë:

πX(πX,Y(πX,Y,Z(R))=πX(R)

v. Nxjerja e projekcionit para lidhjes: Nëse X paraqet atributet e përbashkëta

të R dhe S atëherë vlenë

πX (R S)=πX(R) πX(S)

Kjo rregull nuk vlenë për çfarëdo bashkësie X të atributeve. Le të jetë AR

bashkësia e atributeve nga R, AS bashkësia e atributeve nga S dhe ARS=ARI AS

bashkësia e atributeve të përbashkëta të R dhe S atëherë vlenë

Page 22: 5. Algjebra dhe llogaritjet relacionale · 2018-10-13 · 5.1. Algjebra relacionale Algjebra relacionale bënë vlersimin e shprehjeve algjebrike të ndërtuara prej relacioneve,

22

πX(R S)=πX( )()( RARSARX UIπ )()( SARSASX UIπ )

Përfundimisht vendimi se cila formë është më e përshtatshme varet nga

ndërtimi fizik i bazës së të dhënave.

vi. Optimizimi i operacioneve të bashkësive:

( ) ( ) ( )SRSR BBB σσσ UU =

( ) ( ) ( )SRSR BBB σσσ −=−

( ) ( ) ( )SRSR XXX πππ UU =

( ) ( ) ( )SRSR XXX πππ −=− (vlenë nën supozimin se X përmban atributet çelës

të relacionit R (edhe të relacionit S))

( )( ) ( )( ) ( )( )RRR BBXBXBX 2121 ∨= σπσπσπ U

( )( ) ( )( ) ( )( )RRR BBXBXBX 2121 ¬∧=− σπσπσπ

Kështu insistohet që të zvoglohet numri i n-sheve të cilat do të marin pjesë në

realizimin e unionit ose zbritjes.