ligjeratat ne baza e te dhenave

437
nbraha-bazat e te dhenave 1 ani e programi i bazave te te dhenave me zbatim ne MYSQL Bazat e punes ne access (ketu permenden elementet themelore dhe puna me to ) Urdherat themelore ne SQL(structural query language)(ketu mesohen urdherat themelore dhe manipulimet me to ne SQL( te pergjithshem) ,ndersa ushtrimet organizohen ne MYSQL)

Upload: trepca

Post on 02-Jun-2018

290 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 1/436

nbraha-bazat e te dhenave 1

ani e programi ibazave te te dhenave me

zbatim ne MYSQLBazat e punes ne access (ketupermenden elementet themelore

dhe puna me to )Urdherat themelore neSQL(structural query

language)(ketu mesohen urdheratthemelore dhe manipulimet me tone SQL( te pergjithshem) ,ndersa

ushtrimet organizohen ne MYSQL)

Page 2: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 2/436

nbraha-bazat e te dhenave 2

Menyra e vleresimit

10% nga vijueshmeria .

25% nga seminari i cili punohetkryesisht ne ushtrime laboratorike(d.m.th ne laborator ), punohet ne

access dhe dorezohet me se largu nje jave pa perfundu ligjeratat esemestrit III .

65 % nga provimi perfundimtare (i cilimbahet ne fund te semestrit ).

Page 3: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 3/436

nbraha-bazat e te dhenave 3

Literatura

Literatura :1.Mastering access , Autore:AlanSimpson,Celeste Robinson ,Botimi

19992.Database system conceptsAutore :Abraham Silberschatz,HenryF.Korth,S.Sudarshan,Botimi 20013.Microsoft server 20004.Database modeling and designautore:Toby .J.Teorey,botimi 1999

(gjindet ne biblioteke)

Page 4: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 4/436nbraha-bazat e te dhenave 4

Literatura5. Mannual-sql (manual I mysql-se ne web ne adresenwww.mysql.com)

6.Database process,autore :DavidKroenke(gjindet ne biblioteke)7.Access bible 2002 ,autoreMichael Irwin ,Cary Prague8.Teach yourself sql (botim ngaSAMS)

Page 5: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 5/436nbraha-bazat e te dhenave 5

Bazat e te dhenave

Ç‘eshte baza e tedhenave

Per cfare sherben 

Si ndertohet

Page 6: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 6/436

Page 7: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 7/436nbraha-bazat e te dhenave 7

Kriteret qe merren parasysh

ne nje baze―Data Redudancy―(perseritja e tedhenave )Gjate ndertimit te bazes

se te dhenave ,nga disa personamundet qe nje fajlle (tani etutje tabela) i njejte te

perseritet p.sh nje e dhene―emri‖.Keshtu ne bazen e tedhenave fitojme perseritje te tedhenave ,kjo njihet me emrin

―redudancy‖. 

Page 8: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 8/436

nbraha-bazat e te dhenave 8

Data redudancyNje redudance e te dhenave eshtebere ne shembullin qe do teshohim ne vijim ,ku e dhena e

emrit ne nje lidhmeri teentiteteve eshte perseritur dhesi e tille eshte e palejueshme.

Kjo shihet ne diagramin eparaqitur me poshte dhe kjoperseritje eshte bere ne teretabelat e shqyrtuara (atributiemri) .

Page 9: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 9/436

nbraha-bazat e te dhenave 9

Data redudancy(vazh.)

Page 10: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 10/436

nbraha-bazat e te dhenave 10

―Veshtirsia ne qasje‖ 

Nese merret nje shembull I ndertimitte nje programi per pune bankare ,sicdihet ne te duhet te kemi nje aplikimper vendosje te klienteve ,perbalance te te ardhurave etj dhekerkohet nje e dhene qe te kihet

regjistri I te dhenave te klienteve qe jane nga ―tirana‖ .Nese ne ate programnuk eshte aplikacioni i kerkesave njegje te tille nuk mundemi me e pase

d.m.th kemi nje veshtiresi ne qasje tete dhenave .Kete e ilustron ky diagrami meposhtem.

Page 11: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 11/436

nbraha-bazat e te dhenave 11

Veshtirsia ne qasje(vazh.)

Page 12: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 12/436

nbraha-bazat e te dhenave 12

Veshtirsia ne qasje(vazh.)Siq shihet me siper mundesia ekerkimit te te dhenave nuk eshte

e mundur pasi nje gje e tille nukeshte parapare ne kuader te asajforme kerkuese,qe d.m.th se kemi

veshtiresi ne qasje

Page 13: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 13/436

nbraha-bazat e te dhenave 13

―Data isolation‖ 

Nese kemi te dhenat nga disafajlla me forma te ndryshmeateher nje qasje e te dhenave neate baze do te ishte e veshtirepasi kemi informata te izoluara

Page 14: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 14/436

nbraha-bazat e te dhenave 14

―integrity problem‖ Nese kemi te bejme me nje klientete bankes dhe per ate dhe klientettjere kemi vendose qe ne llogarine e

tije te kete me se paku 30 eurogjate terheqjes se parave ngallogaria ateher kemi te bejme me njepjese te programit e cila mundesonnje te dhene te tille ,tani venja elargimi i nje kushti te tille na paraqetproblem ,keto paraqesin nje integritet

referencial te te dhenave

Page 15: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 15/436

nbraha-bazat e te dhenave 15

―Atomicity of data‖ Problemi I tille ne kuader te nje baze tete dhenave paraqitet nese kemi te bejmeme dergim te nje llogaria nga klienti 1 neate te klientit 2 dhe nese gjate ketijtransferi na largohet shuma nga klienti1por nuk paraqitet te klienti 2,d.m.th

humben te dhenat .Gjate bartjes se tedhenave duhet ajo te jete ―atomike ―d.m.thqe bartja te behet brenda atij entiteti.

Page 16: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 16/436

nbraha-bazat e te dhenave 16

―concurrent access anomalies‖ 

Nese ne kuader te nje banke kemishumen prej 80 eurove ne nje llogaridhe njekohesisht nga e njejta llogaridy persona (klient) terheqin ne tenjejten kohe shumat p.sh 50 dhe 40nga po e njejta shume ,ateher llogaria

e tille e larte shenuare mbetet ne njepozite inekzistente ,per kete sistemiduhet te kete nje supervision i cilibene nje kontrolle te tille .Kjo na

paraqet nje anomali gjate qasjeparalele te te dhenave

Page 17: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 17/436

nbraha-bazat e te dhenave 17

―security problem‖ Nese meret shembulli I bankes ateherprogrami te cilin e kemi duhet qe timundesoje klienteve vetem te keneqasje ne gjendjen e llogarise se tyredhe parashtrimit te kerkesave nelidhje me te por jo edhe te

nderhyrjes se tyre ne vet gjendje ,kjoarrihet me ane te sigurimit te tedhenave ne kuader te asaj baze te te

dhenave

Page 18: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 18/436

nbraha-bazat e te dhenave 18

Siguria e te dhenave(vazh.)Nje gje e tille do te ishte erealizueshme nese ne shembullin

e shikimit te te dhenave ngaforma e paraqitur me pare te moskishim mundesi te nderhyrjes ne

vet programin e ndertimit tebazes .

Page 19: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 19/436

nbraha-bazat e te dhenave 19

―shikimi i te dhenave ‖ 

Abstrakcioni i te dhenave

Qasja dhe skema e te dhenave

Pavaresia e te dhenave

b k dh

Page 20: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 20/436

nbraha-bazat e te dhenave 20

Abstrakcioni i te dhenaveShfrytezuesit e bazes se te dhenave

duhet ti paraqitet baza ne ate menyreqe ai ta kete me te lehte per meperdore kjo arrihet permes disa

niveleve te organizimit te te dhenaveNiveli fizike I te dhenave –ky eshteniveli I pare I shikim te te dhenavedhe ketu jane te dhenat e pershkuara

ne detale se si jane te vendosuraNiveli logjike-ketu pershkruhen

lidhmerite dhe rrolet e te dhenave ,ne

veqanti nga administratori I bazes sete dhenave

Abstakcioni i te dhenave (1)

Page 21: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 21/436

nbraha-bazat e te dhenave 21

Abstakcioni i te dhenave (1)Niveli i shikimit –ky ne radhe te pare na

mundeson nje shikim te nje aplikacioni teprogramit por jo edhe detalet e tipevete te dhenave dhe te dhenave ne

pergjithesi .P.sh nje puntore banke i cilipunon ne kabine per dhenie dhe marrjene te hollave ka mundesin e shikimit te te

dhenave por jo edhe te te dhenave detale,perkatesisht per modifikim te vetbazes se te dhenave .Nje ilustrim I

kesaj do te ishte

Ab t k i i i t dh (2)

Page 22: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 22/436

nbraha-bazat e te dhenave 22

Abstrakcioni i te dhenave(2)

Page 23: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 23/436

Page 24: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 24/436

nbraha-bazat e te dhenave 24

Pavaresia e te dhenave

Aftesia e ndrrimit te skemes sete dhenave nga nje nivel dhe I cili

nuk ndikon ne skemen e te dhenavene nivelin tjeter ,paraqet pavaresine te dhenave .Jane dy nivele te

pavaresise se te dhenave1.niveli fizike dhe

2.niveli logjike

Mo e et e bazave te te

Page 25: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 25/436

nbraha-bazat e te dhenave 25

Mo e et e bazave te tedhenave

Me model te te dhenavenenkuptojme teresine e veglaveper pershkrim te :

1. Te te dhenave2. Te lidhjeve te tyre3. Semantiken e te dhenes

4. kushtezimetNe varesi nga pershkrimi i

mesiperm kemi keto lloje te

bazave te te dhenave

―entity relation model‖

Page 26: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 26/436

nbraha-bazat e te dhenave 26

entity relation model  Nje modele I tille do te pershkruhejme pershkrim reale te te dhenave i cilipershkruhet me ,objekte bazike tequajtura entitete , lidhmerise se tyre

si dhe atributet p.sh nje entitet mundte jete personi qe punon ne banke dheketo jane te pershkruara me atributep.sh ai te punoje ne kabine,ndersa

lidhmeria e tyre do te ishte mes disaentiteteve .Keto modele shkurt do tishenojme me E-R.Pershkrimi i tedhenave ne kuader te nje E-R do teparaqitej ne keto pika kryesore

E R d li

Page 27: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 27/436

nbraha-bazat e te dhenave 27

E-R modeliBashkesia e entiteve

Lidhmeria e tyre

Paraqitja e Dizajnit

Kufizimi i te dhenaveQelesat

E-R Diagrami

Veglerit e zgjeruara te E-R

Dizajni i nje E-R baze

Kthimi i nje E-R modeli ne formetabele

Obj k ( i )

Page 28: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 28/436

nbraha-bazat e te dhenave 28

Objektet (entitetet)

Nje baze mund te modelohet si :Bashkesi e entiteteve ,Relacionet ne mes tyre.

Nje objekt eshte nje objekt ekzistues dhe icili dallon nga nje tjeter.Psh nje person i caktuare ,fabrika etjKeto objekte kane vetite e tyre (atributet)

Psh :njerzit kane emer dhe mbiemer etj Nje bashkesi e entiteteve eshte ajobashkesi e cila ka tipe te njejte dhe qe

ndajne veti (atribute) te njejta ne mesvete.Psh : bashkesia e te gjithe njerezve (kane tegjithe emra,mbiemra etj),bashkesia e te gjitha

fabrikave etj

Bashkesia e entitetit‖loan‖

Page 29: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 29/436

nbraha-bazat e te dhenave 29

Bashkesia e entitetit loan   customer-id customer- customer- customer- loan- amount

name street city number

Atributet

Page 30: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 30/436

nbraha-bazat e te dhenave 30

AtributetPershkrimi i nje objekti mundesohet permesshume vetive (atributeve)

Domeni i atributit  – bashkesia e vlerave temundeshme te atributeveTipet e atributeve :

Atributet e drejtperdrejta (thjeshta) dhe ato tederivueme (ato qe rrjedhin nga ato te parat) .Ato te parat jane te njevlershme dhe teshumevlershme  

Psh shumevlershme :numrat e kartelave te bankes etjAto te derivueshme  

Merren nga ato te paratPsh mosha e marre nga data e lindjes

Psh :

bleresi (customer) = (customer-id, customer-name,customer-street, customer-city)

huaja (loan) = (loan-number, amount)

Atributet e derivueme

Page 31: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 31/436

nbraha-bazat e te dhenave 31

Lidhmeria e te dhenave

Page 32: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 32/436

nbraha-bazat e te dhenave 32

L hm r a t h naLidhmeria e te dhenave realizohet per disaobjekte

Psh :Hayes depositor   A-102

me kete behet lidhmeria e bleresit

(customer)   dhe llogarise se tije .Lidhmeria ndermjet e objekteve eshte njerelacion matematike i me teper se 2objekteve ,i marre si nenbashkesi e{(e 1, e 2, … e n ) | e 1   E 1, e 2   E 2, …, e n    E n }

ku (e 1, e 2, …, e n ) eshte nje qifte i atributeve

psh : (Hayes, A-102)  depositor

Nje lidhje ne mes te marresit

Page 33: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 33/436

nbraha-bazat e te dhenave 33

j j m mdhe huadhenesit

Lidhmeria e objekteve

Page 34: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 34/436

nbraha-bazat e te dhenave 34

jNje paraqitje e nje lidhje ne mes teobjekteve eshte paraqitur edhe ne kete

skeme ,dhe objekti depozitor mund te ketedhe atributin ―data-access‖ 

Shkalla e lidhjes se objekteve

Page 35: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 35/436

nbraha-bazat e te dhenave 35

j jKjo paraqet numrin e entiteteve qe

marrim pjese ne nje lidhje.Relacioni ne te cilin marrin pjese dyentitete quhet binar ,tri ternar etj.

Ne nje lidhje mund te futen me teperse dy entitete .

Lidhjet ne mes te me shume se 2entiteteve jane te rralla

Psh nje i punesuar ne banke mund te kete punene disa filialla, atehere kemi nje lidhje ternare nemes te entiteteve te punesuar ,punet dhe fillialle

Tipet e lidhjeve ne mes te

Page 36: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 36/436

nbraha-bazat e te dhenave 36

p jentiteteveMeqe shumica e lidhjeve ne mes teentiteteve eshte lidhje binare ateherme poshte do te pershkojme tipet elidhjes ne mes tyre.Tipet themelore te lidhjes ne mes te

entiteteve jane keto :Nje me nje (One to one)

Nje me shume (One to many)

Shume me nje (Many to one)Dhe shume me shume (Many to many )

Tipet e i jes- nje me nje ej h

Page 37: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 37/436

nbraha-bazat e te dhenave 37

p j j jnje me shume

Lidhja nje me nje Lidhja nje me shume

shenim:disa nga elementet ne A dhe B mund te mos jene te perfshira neLidhje

ipet e i jes–s ume me njedh h h

Page 38: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 38/436

nbraha-bazat e te dhenave 38

p j jdhe shume me shume

Shume me nje Shume me shume

Diagrami i nje E-R-je

Page 39: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 39/436

nbraha-bazat e te dhenave 39

g j j

Drejtekendeshi  –paraqet nje entitet .

Paralelogrami  –nje lidhje ne mes te entiteteve .

Vizat  –lidhjet ne mese te entitetit dhe atributit si dhe nemes te entiteteve permes lidhjes .

Elipsat -paraqesin atribute

Elipsat e dyfishta-paraqesin atribute te shumfishta . 

Elipsat e nderprera  –atributet e derivuara .

Te nenvizuara –atributet kryesore (qelesat )

Pershkrimi i elementeve te

Page 40: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 40/436

nbraha-bazat e te dhenave 40

nje ER-je

Nje E-R me i komlikuar

Page 41: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 41/436

nbraha-bazat e te dhenave 41

Nje E R me i komlikuar

Page 42: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 42/436

nbraha-bazat e te dhenave 42

Lidhmerite me atribute

Rrolet e objekteveEntitetet e nje lidhje nuk duhet te jen

Page 43: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 43/436

nbraha-bazat e te dhenave 43

Entitetet e nje lidhje nuk duhet te jenme veti te ndryshme

Ne vizat e meposhtme ―manager‖ dhe―worker‖ paraqesin rrolet;ata specifikojne sesi entiteti ―employee‖ komunikon me ― works-for‖ ne ate lidhje. 

Rrolet ne nje E-R shenohen me shkronja nevizat qe i lidhin entitetet dhe kushtit telidhjes .Rrolet me labela zgjedhen sipas deshires dhemerren vetem per kjartesi te semantikes

Menyrat e shenimit te lidhjes

Page 44: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 44/436

nbraha-bazat e te dhenave 44

y jLidhja nje me shume do te shenohet me (),

ku njeshin e paraqet fillimi i vizes ndersashumicen mbarimi ,viza (—) e pa orientuareparaqet lidhjen shume me shume e orientuarenga kushti i lidhjes ne drejtim te entitetit.

Psh : nje me nje :Bleresi eshte i shoqeruare me se paku nje hua(loan) permes huadhenesin (borrower)Njesoj huaja eshte e lidhur me te pakten njebleres permes te huadhenesit (borrower)  

Nje me shume

Page 45: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 45/436

nbraha-bazat e te dhenave 45

Ne lidhjen nje me shume huaja( loan)

eshte lidhur me te pakten nje blerespermes ―borrower‖,ndersa bleresieshte i lidhur me disa huaja permes te

―borrower‖ 

Shume me nje

Page 46: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 46/436

nbraha-bazat e te dhenave 46

Ne kete raste kemi mundesin e

kundert me ate te mare ne rastin emesiperm.

Shume me shume

Page 47: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 47/436

nbraha-bazat e te dhenave 47

Ne kete raste ana e bleresit eshte elidhur me shume hua permes te―borrower‖ dhe anasjelltas huaja kashume bleres

R li i t lidhj

Page 48: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 48/436

nbraha-bazat e te dhenave 48

Realizimet e lidhjeve

Ne lidhjet e mesiperme duhetcekur se kusht themelore eshte

qe ato te dhena te cilatdeshirojme ti lidhim te kene tipete njejte te te dhenave (ku tipi i

te dhenave do te permendetedhe ne vazhdim )

Pjesemarrja e nje entiteti nenje lidhje

Page 49: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 49/436

nbraha-bazat e te dhenave 49

nje lidhje Pjesemarrja totale ne nje lidhje (e shenuar e me viza te dyfishta ): kjo merret

ne ate raste kur secili entitet merr pjese ne te pakten nje lidhje ne ate lidhmerite entiteteve

Psh pjesemarrja e huase (loan) ne “borrower”  eshte totale

 secila hua duhet te kete nje bleres(costumer) permes te “borrower” 

Pjesemarrja e pjesshme : disa entitete mund te mos marrin pjese ne te gjithalidhjet ne ate baze

Psh pjesemarrja e “customer” ne “  borrower” eshte e pjesshme

Qelesat (Keys)Le te jete K R

Page 50: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 50/436

nbraha-bazat e te dhenave 50

Le te jete K  RK eshte nje ― superkey” i relacionit R  nesevlerat e K  jane te mjaftueshme peridentifikim te nje qifti te mundshem ngarelacioni r(R)  

Ku me relacion te mundshme nenkuptojme nje qift icili mund te krijohet ne ate model.Psh : {customer-name, customer-street } dhe

{customer-name }

 jane ―superkeys‖ te ―Customer‖ ,nese dy―customer‖ nuk kane emra te njejte. 

K   eshte ―candidate key  ― nese K  eshteminimal

psh : {customer-name } eshte ―candidate key‖per ―Customer‖ ,perderisa ai do te jete―superkey‖ (nen supozimin se dy ―customers‖nuk kane emer te njejte ) dhe nese

nenbashkesit e ti e nuk ane ―su erke ‖

Fushat kryesore dhe rroli i tyrene lidhjen e entiteteve

Page 51: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 51/436

nbraha-bazat e te dhenave 51

ne lidhjen e entiteteveKombinimi i qelesave kryesore te entiteteve me

pjesemarrje te pjesshme ne nje lidhje formojnenje ―super key‖. 

Psh (customer-id, account-number ) eshte nje ―superkey‖ per tabelen ―depositor‖  

Shenim: kjo nenkupton se qiftet e entiteteve kanete pakten nje lidhje ne bashkesine epjesshme telidhjes.

Psh nese percjellim te gjitha qasjet e te dhenave nesecilin llogari (account) nga secili ―customer‖, ne nuk mundte supozojme lidhje per secilen qasje.Edhe pse ne mundte marrim atribute me shumevleraGjithashtu gjate percaktimit te ―candidate key‖-ve duhette kihet parasysh edhe lidhmeria e te dhenave ne atoentitete

Gjate percaktimit te ―primary key ‖ nebashkesine e lidhjeve me me shume se nje―candidate key ‖ ne kuader te nje pyetsore kjo

duhet edhe te ceket ne semantiken e tij

Realizimi i lidhjeve ne access

Page 52: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 52/436

nbraha-bazat e te dhenave 52

Realizimi i lidhjeve ne accessMe nje shembull shohim nevazhdim lidhjet e tipeve tepermendura

1.nje me njeKjo realizohet ndermjete fushave

kryesore te atyre dy entiteteve

Lidhja nje me nje

Page 53: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 53/436

nbraha-bazat e te dhenave 53

Lidhja nje me nje (vazh.)

Page 54: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 54/436

nbraha-bazat e te dhenave 54

Lidhja nje me nje(vazh)

Page 55: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 55/436

nbraha-bazat e te dhenave 55

Lidhja nje me nje (vazh )

Page 56: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 56/436

nbraha-bazat e te dhenave 56

Lidhja nje me nje (vazh.)

Lidhja nje me nje (vazh )

Page 57: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 57/436

nbraha-bazat e te dhenave 57

Lidhja nje me nje (vazh.)

Lidhja nje me shume

Page 58: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 58/436

nbraha-bazat e te dhenave 58

Lidhja nje me shume

Kjo lidhje ne access realizohetper dy entitete ashtu qe ne

tabelen e pare ku deshirojme tekemi lidhjen nje duhet te kemifushen kryesore ,ndersa ne te

dyten ku deshirojme te kemilidhjen shume duhet te jete fushe jokryesore,kjo shihet me kete

shembull,ndermjet tabelave 1 dhetabeles 2. gjithashtu duhet teceket se tipet e te dhenave duhet

te jen te njejta

Lidhja nje me shume

Page 59: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 59/436

nbraha-bazat e te dhenave 59

Lidhja nje me shume

Lidhja shume me shume

Page 60: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 60/436

nbraha-bazat e te dhenave 60

Kjo lidhje ne access realizohet nemes te dy atributeve jo kryesoreduke ndertuare nje tabele ndihmese

e cila perbehet nga atributetkryesore te dy tabelave ne lidhjedhe i ka qe te dy ato si atribute

kryesore,sic shihet ne shembullin emeposhtem ,ku behet realizimi ilidhjes ne mes te tab1 dhe tab2.

Lidhja shume me shume(vazh )

Page 61: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 61/436

nbraha-bazat e te dhenave 61

Lidhja shume me shume(vazh.)

Lidhjet jo binare

Page 62: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 62/436

nbraha-bazat e te dhenave 62

Lidhjet jo binare

Me siper u pa se si behet lidhja e

entiteve dhe realizimi i tyre neAccess per ato entitete te cilat jane ne lidhmeri binare ne mes

veti .Ne vazhdim shohim se ckandodhe me ato entitete te cilatkane lidhje te rendeve tjera .

Shembull i diagramit E-R menje lidhje ternare

Page 63: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 63/436

nbraha-bazat e te dhenave 63

j j

Shembull i diagramit E-R me

Page 64: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 64/436

nbraha-bazat e te dhenave 64

nje lidhje ternareSic shihet nga shembulli i mesipermlidhja ternare eshte realizuare nemes te entiteteve ―job‖,‖employ‖ dhe―branch‖.E gjithe kjo eshte realizuarepermes ―works on‖.

Lidhmeria ne nje relacionternare

Page 65: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 65/436

nbraha-bazat e te dhenave 65

ternare

Ne nje relacion ternare (ose n-are) sepaku nje lidhje ne mes te tyre lihetanash per te percaktuare lidhjen ne

mes te dy entiteteve qe marrin pjesene ate lidhjePsh nje lidhje ne mes te ―works-on  ―

dhe ― job‖   paraqet faktin se secili―employee‖ punon se paku ne nje ―job‖ne cilendo ―branch‖ Nese aty merren me shume se nje

lidhje ateherë kemi dy menyra tepercaktimit te kuptimit ne mes tyre.

Lidhmeria ne nje relacion

Page 66: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 66/436

nbraha-bazat e te dhenave 66

ternare(vazh)Psh nje relacion ternare R ne mes te entitetevelidhese A , B dhe C me lidhje ne B dhe C mundte kuptohet si1.secili entitet ne kete rast A eshte i percaktuare ne menyre te vetme me entitet  Bdhe C ose2.secilit qift te entiteteve nga (A, B ) ipergjigjet nje i vetem C dhe secilit qift nga (A,

C ) nje i vetem BSecila alternative eshte marre ne menyra tendryshme

Per kete arsye ne largojme nje ose me shumelidhje ne relacionet ternare (n-are) gjaterealizimit te lidhjes .

Page 67: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 67/436

Paraqitja binare e lidhjeve qenuk jane binareNe per jithesi secili relaci n j binare mund te

Page 68: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 68/436

nbraha-bazat e te dhenave 68

Ne pergjithesi secili relacion jo binare mund te

shprehet permes atyre binare duke krijuarenje entitet artificial.Kjo behet keshtu

Zevendesohet R ne mes te entiteteve A, B dhe C 

me nje entitet E , ateher merren keto lidhje te reja:1. R A , per E dhe A 2.R B , per E dhe B

3. R C , per E dhe C

Duhet krijuar edhe disa atribute lidhese ne ESe pari duhet te shtohen ter atributet e R ne E

Per cdo relacion lidhje (a i  , b i  , c i ) ne R, krijohet

1.Nje entitet i ri e i  ne bashkesine e entiteteve E2.Shtohet (e i  , a i ) ne R A   3.Shtohet (e i  , b i  ) neR B   4.shtohet (e i  , c i ) ne R C

Paraqitja binare e lidhjeve qenuk jane binare me nje ‗E-R‘

Page 69: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 69/436

nbraha-bazat e te dhenave 69

j j

diagram

Paraqitja binare e lidhjeveqe nuk jane binare

Page 70: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 70/436

nbraha-bazat e te dhenave 70

Gjithashtu duhet te pershtaten

kufizimet ne lidhjen e rePershtatja e te gjitha kufizimeve mundte jete e pamundur

Ne paraqitjen e re mund te kemi asi rastekur ne skemen e vjeter mos ti pergjigjetasnje,mirepo per kete duhet te veprohetkeshtu: 

Psh : me i shtue kushtet e reja ne R A , R B  dhe

R C qe te sigurohemi se entiteti i ri ti pergjigjetnjerit nga entitetet ne A, B  dhe C

Page 71: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 71/436

Shembulli i njerelacioni,tabela ―account‖ 

Page 72: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 72/436

nbraha-bazat e te dhenave 72

Struktura bazePer bashkesite e dhena D 1, D 2, …. D n  njerelacion r eshte nenbashkesi e

Page 73: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 73/436

nbraha-bazat e te dhenave 73

relacion r  eshte nenbashkesi e

D 1 x D 2 x … x D n  d.m.th relacioni i gjatesise n eshte nje qift irenditur (a 1, a 2, …, a n ) ku secila a i    D i  

Psh :nese customer-name  = {Jones, Smith, CurryLindsay}customer-street  = {Main, North, Park}customer-city   = {Harrison, Rye, Pittsfield}

ateher r  = { (Jones, Main, Harrison),(Smith, North, Rye),(Curry, North, Rye),(Lindsay, Park, Pittsfield)}

eshte relacion i gjatesise 3 me atributetcustomer-name x  customer-street x  customer- city  

Tipet e atributeveSecili atribute eshte i emeruare

Page 74: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 74/436

nbraha-bazat e te dhenave 74

Secili atribute eshte i emeruareBashkesia e vlerave te lejuara te atributitparaqet domenine e atributitVlerat e atributeve kerkohet te jene

atomike, kjo do te thote te pandashmePsh atribute me shume vlera nuk janeatomike

Psh vlerat e atributeve te kompozuara nuk jane atomikeNdersa vlera zerro eshte pjese e secilitdomeneVlera zerro sjell komplikime ne definimin eshume operatoreve

ne vijim do te injorojme vlerat zerro dhe do ti

shohim me vone

Skema Relacionale

Page 75: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 75/436

nbraha-bazat e te dhenave 75

Nese A 1, A 2, …, A n  jane atribute,ateherR  = (A 1, A 2, …, A n  ) paraqet nje skeme

relacionalepsh Customer-schema  =

(customer-name,

customer-street, customer-city )Me r (R ) do te shenojme nje relacionne skemen relacionale

psh customer (Customer-schema)  

Shembull i nje relacioniVlerat e nje relacioni jane te

Page 76: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 76/436

nbraha-bazat e te dhenave 76

Vlerat e nje relacioni jane te

specifikuara permes te tabelaveKu nje element (t) nga r eshte njecifte i paraqitu me nje

rresht(record) ne kuader te tabeles

 JonesSmithCurry

Lindsay

customer-name

MainNorthNorthPark

customer-street

HarrisonRyeRye

Pittsfield

customer-city

customer

atributet(ne kolona)

Ciftetne rreshta

Page 77: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 77/436

Baza e te dhenaveBdh perbehet prej disa relacioneveInformatat per nje fabrike ndahen ne pjese

Page 78: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 78/436

nbraha-bazat e te dhenave 78

Informatat per nje fabr ke ndahen ne pjese

ne disa relacione ku secili nga ta paraqet njeinformatePsh : account :paraqet informata ne lidhjeme llogarite ne ate firme

depositor : paraqet te dhenat nelidhje me depozituesitcustomer : paraqet informatat ne

lidhje me klientet

Paraqitja e te dhenave ne nje relacion si nebank (account-number, balance, customer- name , ..)rezulton ne

Perseritjen e te dhenave (psh dy kliente me njellogari)Paraqitja e vlerave zerro (psh paraqet klientin qenuk ka llogari)

Pershtatja e bdh

Page 79: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 79/436

nbraha-bazat e te dhenave 79

Ne gjithe problemet e paraqitura

me larte ,zgjidhjen e tyre do tamarrim me normalizimin e bdh qedo te shihet me vone .

Relacioni ―customer‖

Page 80: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 80/436

nbraha-bazat e te dhenave 80

Relacioni ―depositor‖ 

Page 81: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 81/436

nbraha-bazat e te dhenave 81

E-R Diagrami per nje banke

Page 82: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 82/436

nbraha-bazat e te dhenave 82

Skema e Diagramit per banke

Page 83: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 83/436

nbraha-bazat e te dhenave 83

Gjuha e pyetsoreve (QueryLanguages)

Page 84: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 84/436

nbraha-bazat e te dhenave 84

Kjo eshte gjuha me te cilen ipen dhemerren te dhenat nga bdh.

Kategorite e gjuheve

proceduraleDhe jo-procedurale

Gjuhet e pastra (―Pure‖ languages): 

Algjebra relacionaleNjehsimet me ciftet relacionale

Domeni i njehsimeve relacionale

Algjebra RelacionaleEshte gjuhe procedurale

Page 85: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 85/436

nbraha-bazat e te dhenave 85

Eshte gjuhe proceduraleKeto jane operacionet themelore

Selectproject

unionset differenceCartesian productrename

Veqori e ketyre operacioneve eshtese marrin si te dhena hyrese disarelacione dhe japim vetem nje relacion

ne dalje si rezultate.

Shembull i operacionit Select

Page 86: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 86/436

nbraha-bazat e te dhenave 86

• Relacioni r    A B C D

  

  

   

   

  

   

   

   

1

5

12

 23

7

7

3

10

• A=B ^ D > 5 (r) A B C D

  

   

  

   

1

 23

7

10

Shembull i operacionitSelect(vazh.)

Page 87: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 87/436

nbraha-bazat e te dhenave 87

•   A=B ^ D > 5 (r) me ane te relacionit te mesipermeshte mundesue te behet zgjedhja e te

dhenave nga relacioni r me kushte qe ato te

dhena te plotesojne keto kushte:

• 1.qe A te jete sikurse B

• 2.dhe qe ne ate relacion r kushti D te jete me i

madhe se sa numri 5 dhe sic u pa me lartenje gje te tille e plotesojne rreshti i pare dhe i

fundit ne relacionin r. 

Operacioni ―Select‖ Shenimi :    p (r ) do te thote :

Page 88: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 88/436

nbraha-bazat e te dhenave 88

p

 p  paraqet predikatin zgjedhes ne ate relacion Definohet si me poshte :

  p (r ) = {t  | t   r   dhe p(t) }

ku  p  eshte nje formule me kushtet ezgjedhjes qe permbane ne vete shprehjet elidhura me relacionet :  (dhe (and)),  (ose

(or)),  (mohimin (not))secili nga termet eshte njeri nga :<attribute> dicka <attribute> ose <constant>

ku dicka paraqet : =, , >, . <.  Shembull i operacionit ―select‖ eshte ky :   branch- name=―Perryridge ‖ (account )

Operacioni ―select‖ 

Page 89: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 89/436

nbraha-bazat e te dhenave 89

Ne shembullin e fundit

mundesohet shikimi i te dhenavete llogarive(account) nga filiallame emer (branch) ―Perryridge‖

Operacioni ―Project‖

Page 90: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 90/436

nbraha-bazat e te dhenave 90

Relacioni r :

 A B C

  

  

   

   

10

 20

30

40

1

1

1

 2

 A C

  

  

   

   

1

1

1

 2

=

 A C

  

   

   

1

1

 2

A,C (r )

Operacioni ―Project‖

Page 91: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 91/436

nbraha-bazat e te dhenave 91

shenim:me relacioni A1, A2, …, Ak  (r )ku A 1 , A 2  jane emrat e atributeve jane marreatributet e cekura ne relacionin r  .

Veprimi qe kryhet eshte ky merren k  kolonate cekura duke i perjashtuare te tjeratVlerat e njejta (te shumfishta ) ne kuader te

rreshtave gjithashtu perjashtohenPsh per te eliminuare emrin e filialles (branch- name) nga llogaria (account) marrim si me

 poshteaccount-number, balance  (account )

Page 92: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 92/436

Operacioni ―Union‖ Shenimi : r   s

Definohet sikurse :

Page 93: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 93/436

nbraha-bazat e te dhenave 93

r    s  = {t  | t   r   ose t   s }r   s   eshte i vertete (i realizueshem) kur

1. r, s  kane numer te njejte te atributeve

2. Domenet e atributeve duhet te jenekompatibile ne mes veti (psh , kolona e 2-tenga relacioni ka tipe te njejte te vlerave mekolonen 2 nga s )Psh . Gjeni te gjithe ―customers‖ me llogari

(account) ose hua (loan)

customer-name  (depositor )  customer-name  

(borrower)

Ndryshimi ne mes tebashkesive

Page 94: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 94/436

nbraha-bazat e te dhenave 94

Relacionet r, s:  

r – s:

 A B

  

  

   

1

 2

1

 A B

  

   

 2

3

r

s

 A B

  

   

1

1

Ndryshimi ne mes tebashkesive

Page 95: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 95/436

nbraha-bazat e te dhenave 95

Shenimi r –  s  Definohet si :r –  s   = {t  | t   r   dhe t  s }

Ndryshimi ne mes te bashkesiveduhet te merret ne mes te relacioneve

kompatibile dhe pershkrimi ishembullit larte eshte ky:jane marreato cifte te relacionit r dhe janelarguare nga r ato qe jane edhe ne s.

r  dhe s  duhet te kene te njejten gjatesiDomenet e atributeve duhet te jenekompatibile

Page 96: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 96/436

Produkti kartezian

h

Page 97: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 97/436

nbraha-bazat e te dhenave 97

Shenimi r x s  Definimi eshte :r  x s  = {t q | t  r dhe q  s }

Supozohte se atributet nga r(R) dhes(S) jane disjunkte. (d.m.thR   S  =  ).

Nese atributet e r(R)  dhe s(S ) nuk janedisjunkte ,ateher ato qe mbesin duhet temerren.Pershkrimi i shmbullit te

mesiperm eshte ky:secili cifte i anes semajte ne relacioni r eshte marre mesecilin cifte te anes se djathte ngarelacioni s

Kompozimi i operacioneveMe kombinimin e operacioneve te mesipermemund te behet krijimi i shprehjeve

i l h A C( )

Page 98: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 98/436

nbraha-bazat e te dhenave 98

operacionale,psh : A=C(r x s )r x s

A=C(r x s )

 A B

              

      

1111

 2 2

 2 2

C D

               

     

1010

 20101010

 2010

E

aabbaa

bb

 A B C D E

        

1 2 2

        

10 20 20

aab

Page 99: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 99/436

Riemrimi i OperacioneveLejon emerim dhe me kete mund ti

i j lt ti t h hj

Page 100: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 100/436

nbraha-bazat e te dhenave 100

qasemi nje rezultati te shprehjesrelacionale algjebrike.

Lejon referim te nje relacioni me me

shume se nje emer.psh :   x  (E )Kjo na mundeson shikim e te dhenes nga

shprehja E   me emrin X. 

Nese shprehja algjebrike E ka nje gjatesin,atehere   x  (A1, A2, …, An ) (E )

Na jepe rezultatin e shprehjes E  meemer X dhe me atribute e riemruaraA 1 , A2, …., An .

Shembuj te relacioneve

branch (branch name branch cit assets)

Page 101: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 101/436

nbraha-bazat e te dhenave 101

branch (branch-name, branch-city, assets)customer (customer-name, customer-street,

customer-only)

account (account-number, branch-name,balance)

loan (loan-number, branch-name, amount)

depositor (customer-name, account-number)

borrower (customer-name, loan-number)

Shembull i pyetsorit

Gj ni t jith h t m t m dh s

Page 102: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 102/436

nbraha-bazat e te dhenave 102

Gjeni te gjitha huate me te medha sesa $1200.kjo pershkohet me keterelacion

Gjeni numrin e huase per secilen hua me sasi me te

madhe se sa $1200

amount  > 1200 (loan)

loan-number  (amount  > 1200 (loan))

Shembuj te metejme tepyetsoreve

Gjeni emrat e te gjithe klienteve

Page 103: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 103/436

nbraha-bazat e te dhenave 103

Gjeni emrat e te gjithe klienteve(―customer‖)te cilet kane hua, njellogari ose qe te dyja nga banka

Gjeni emrat e te gjithe klienteve te cilet kane hua dhenje llogari bankare.

customer-name (borrower )  customer-name (depositor )

customer-name (borrower )  customer-name (depositor )

Shembuj pyetsoresh (vazh)Gjeni emrat e te gjithe klienteve te cilet

kane hua ne filialllen ―Perryridge‖

Page 104: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 104/436

nbraha-bazat e te dhenave 104

kane hua ne filialllen Perryridge . 

  Gjeni emrat e te gjithe klienteve te cilet kane hua ne filiallen“ Perryridge” dhe te cilet nuk kane asnje llogari ne ndonje

filialle te bankes.

customer-name (branch-name = “Perryridge”  

(borrower.loan-number = loan.loan-number (borrower x loan)))

 – 

customer-name(depositor)

customer-name (branch-name=“Perryridge”  

( borrower.loan-number = loan.loan-number (borrower x loan)))

Page 105: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 105/436

Shembuj pyetsoresh (vazh)

Gjeni llogarine e ballancuare me te

Page 106: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 106/436

nbraha-bazat e te dhenave 106

Gjeni llogarine e ballancuare me temadhe (account balance)Riemroje relacionine ellogarise si d  

Zgjidhja :

balance

(account) - account.balance

 

(account.balance < d.balance (account x  d  

(account )))

Definimi formal i nje shprehjeNje shprehje relacionale ne algjeberrelacionale perbehet nga keto dy elemente

themelore :Relacioni eshte ne BDH(baze te te dhenave)

Page 107: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 107/436

nbraha-bazat e te dhenave 107

themelore :Relacioni eshte ne BDH(baze te te dhenave)Dhe nga nje relacion konstant

Le te jene E 1  dhe E 2  dy shprehje algjebrike

relacionale ; keto jane te gjitha shprehjetrelacionale algjebrike per to :

E 1   E 2  

E 1  - E 2  E 1  x E 2    p  (E 1 ), P   eshte nj epredikat i atributeve ne E 1  s (E 1 ), S  eshte nje liste e cila permbane disa ngaatributet e E 1     x  (E 1 ), x eshte nje emer i ri per rezultatin e E 1- 

Operacionet shtese

Ne mund te definojme operacione

Page 108: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 108/436

nbraha-bazat e te dhenave 108

Ne mund te definojme operacioneshtese te cilet nuk e bejne fuqizimine algjebres relacionale por bejne

thjeshtesin e pyetsoreve.Prerja e bashkesive(Set intersection)

Lidhja e bashkesive (Natural join)

Pjestimi (Division)

Ndarja (Assignment)

Prerja e bashkesive

Shenimi : r sD fi h t t l i it

Page 109: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 109/436

nbraha-bazat e te dhenave 109

Shenimi : r   s  Definohet me ane te relacionit:r   s  ={ t | t   r dhe t   s  }

Supozojme se :r , s   kane te njejten gjatesiatributet e r dhe s jane kompatibile

Ateher dihet matematikisht seA  B =A\(A\B),keshtu mund temarrim se: r   s  = r  - (r  - s )

Prerja e bashkesive-shembullLe te jene dhene relacionet r, s:

A B

  1

A B

2

Page 110: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 110/436

nbraha-bazat e te dhenave 110

Ateher me prerje r  s marrim:

  

121

  

23

r   s 

A B

  2

  shenimi i ketij operacioni do te jete : r s Operacioni i lidhjes natyraleLe te jene r  dhe s   relacione ne skemat R  dhe

S perkatesishtAt h ht l i k R S

Page 111: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 111/436

nbraha-bazat e te dhenave 111

S perkatesisht.Ateher r s eshte relacion nga skema R  S  e marre si me poshte:

Merret ne konsiderate secili cift t r 

 nga r  dhe t s 

 nga s .Nese t r  dhe t s  kane te njejten vlere ne secilin ngaatributet ne R   S , shtohet cifti t   ne rezultat,ku

t  ka vlere te njejte sikurse t 

r  ne r  

t  ka vlere te njejte sikurse t s  ne s Psh :

R  = (A, B, C, D )S  = (E, B, D )

Skema e rezulatit = (A, B, C, D, E )r   s  eshte definuare sikurse :

r.A, r.B, r.C, r.D, s.E  (r.B = s.B  r.D = s.D  (r x s ))

Operacioni i lidhjes natyrore

Me perkufizim te operacionit te

Page 112: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 112/436

nbraha-bazat e te dhenave 112

Me perkufizim te operacionit telidhjes natyrore shihet se kjorealizohet per dy relacionet eshqyrtuara R dhe S te marra ngaunioni i tyre ashtu qe rekordet eatributeve te cilat jane ne te dyshprehjet merren sipas produktitkartezian te tyre.kjo shihet mekete shembull

Shembull i lidhje natyroreJane dhene relacionet r, s:

A B C D B D E

Page 113: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 113/436

nbraha-bazat e te dhenave 113

 A B

     

      

1 2

41

 2

C D

    

        

aa

bab

B

13

1 23

D

aa

abb

E

     

      

r

 A B

    

      

11

11

 2

C D

    

       

aa

aab

E

    

      

sr s

Operacioni ipjestimit(division)

Le te jene r dhe s relacione ne skematR dhe S te dhena me

r   s 

Page 114: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 114/436

nbraha-bazat e te dhenave 114

Le te jene r  dhe s   relacione ne skematR dhe S te dhena me

R  = (A 1, …, A m , B 1, …, B n )

S  = (B 1, …, B n )Rezultati i shprehjes r  s eshte nje relacion

ne skemen

R  – S = (A 1, …, A m )Te definuare me shprehjen

r  s  = { t   | t   R-S (r )   u  s ( tu   

r ) }

Shembull i operacionit tepjestimit

Relacionet r, s: B

 A B

Page 115: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 115/436

nbraha-bazat e te dhenave 115

r   s:  A

  

   

1

 2

      

                  

1 23

111346

1 2

r

s

Another Division Example

 A B C D E

Relations r, s:D E

Page 116: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 116/436

nbraha-bazat e te dhenave 116

      

            

aaa

aaaaa 

      

           

aab

ababb 

111

13111

r   s:

ab 

11

 A B

    

aa 

C

    

r

s

Division Operation (Cont.)

PropertyLet q r s

Page 117: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 117/436

nbraha-bazat e te dhenave 117

p yLet q –  r  s  Then q  is the largest relation satisfyingq  x s   r  

Definition in terms of the basicalgebra operationLet r(R)  and s(S)  be relations, and

let S  R  

r   s  = R-S  (r ) –R-S  ( (R-S  (r ) x s )– 

R-S,S (r ))

To see whyR-S,S (r ) simply reorders attributes of r

Assignment OperationThe assignment operation ()

provides a convenient way toexpress complex queries

Page 118: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 118/436

nbraha-bazat e te dhenave 118

p yexpress complex queries.Write query as a sequential programconsisting of

a series of assignmentsfollowed by an expression whose value isdisplayed as a result of the query.

Assignment must always be made to a

temporary relation variable.Example: Write r   s  as

temp 1  R-S  (r )

temp 2  R-S   ((temp 1 x s )– R-S,S  (r ))

result  = tem  1 – tem  2

Example Queries

Query 1

Page 119: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 119/436

nbraha-bazat e te dhenave 119

Find all customers who have an accountfrom at least the ―Downtown‖ and the

Uptown‖ branches. 

where CN  denotes customer-name and BN  denotes

branch-name.

Query 1

CN(BN =“Downtown”(deposi tor   account ))  

CN (BN =“Uptown”(depositor   account ))

Query 2

customer-name, branch-name (depositor   account )

   temp(branch-name ) ({(“Downtown”), (“Uptown”)}) 

Find all customers who have an account

at all branches located in Brooklyn

Example Queries

Page 120: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 120/436

nbraha-bazat e te dhenave 120

y

city.customer-name, branch-name (depositor  

account )

 branch-name (branch-city  = “Brooklyn” (branch))

x en e e a ona -Algebra-Operations

G li d P j ti

Page 121: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 121/436

nbraha-bazat e te dhenave 121

Generalized Projection

Outer Join

Aggregate Functions

Generalized Projection

Page 122: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 122/436

nbraha-bazat e te dhenave 122

Extends the projection operation byallowing arithmetic functions to be

used in the projection list.

 F1, F2, …, Fn(E )E  is any relational-algebra expressionEach of F 1, F 2, …, F n   are arearithmetic expressions involvingconstants and attributes in the

schema of E .Given relation credit-info(customer- name, limit, credit-balance), find howmuch more each erson can s end:

Aggregate unctions anOperations

Page 123: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 123/436

nbraha-bazat e te dhenave 123

Aggregation function takes acollection of values and returns a

single value as a result.avg: average valuemin: minimum valuemax: maximum valuesum: sum of valuescount: number of values

Aggregate operation in relational

algebraG1, G2, …, Gn g  F1( A1), F2( A2),…, Fn( An) 

(E )

Aggregate Operation – Example

l

 A B C

Page 124: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 124/436

nbraha-bazat e te dhenave 124

Relation r :

  

  

      

  

   

      

7

7

310

g  sum(c) (r)sum-C 

27

Aggregate Operation – Example

Page 125: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 125/436

nbraha-bazat e te dhenave 125

Relation account  grouped bybranch-name :

branch-name g  sum(balance) (account )

branch-name account-number   balance

PerryridgePerryridgeBrightonBrightonRedwood

A-102A-201A-217A-215A-222

400900750750700 

branch-name balance

PerryridgeBrightonRedwood

13001500700 

Aggregate Functions (Cont.)

Page 126: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 126/436

nbraha-bazat e te dhenave 126

Result of aggregation does nothave a name

Can use rename operation to give it aname

For convenience, we permit renamingas part of aggregate operation

branch-name g sum (balance) as  sum-balance(account )

Outer Join

A t i f th j i ti

Page 127: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 127/436

nbraha-bazat e te dhenave 127

An extension of the join operationthat avoids loss of information.

Computes the join and then addstuples form one relation that does notmatch tuples in the other relation tothe result of the join.Uses null  values:

null signifies that the value is unknown ordoes not exist

All comparisons involving null  are (roughlyspeaking) false by definition.Will study precise meaning of comparisonswith nulls later

Outer Join – Example

loan-number   amount  branch-name 

Page 128: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 128/436

nbraha-bazat e te dhenave 128

Relation loan  

Relation borrower  

customer-name  loan-number  JonesSmithHayes

L-170L-230L-155

30004000

1700

L-170L-230

L-260

DowntownRedwood

Perryridge

Outer Join – Example

Page 129: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 129/436

nbraha-bazat e te dhenave 129

Inner Join

loan Borrower

loan-number   amount  

L-170

L-230

3000

4000

customer-name 

Jones

Smith

branch-name 

Downtown

Redwood

JonesSmithnull  

loan-number   amount  

L-170L-230L-260

300040001700

customer-name branch-name 

DowntownRedwoodPerryridge

 Left Outer Join

loan Borrower  

Outer Join – Example

Right Outer Join

loan number amount customer namebranch name

Page 130: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 130/436

nbraha-bazat e te dhenave 130

Right Outer Joinloan   borrower

loan borrower

 Full Outer Join

loan-number   amount  

L-170L-230L-155

30004000null

customer-name 

JonesSmithHayes

branch-name 

DowntownRedwoodnull  

loan-number   amount  

L-170L-230L-260

L-155

300040001700

null

customer-name 

JonesSmithnull  

Hayes

branch-name 

DowntownRedwoodPerryridge

null  

Null Values

It is possible for tuples to have a null

Page 131: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 131/436

nbraha-bazat e te dhenave 131

It is possible for tuples to have a nullvalue, denoted by null , for some of

their attributesnull  signifies an unknown value or thata value does not exist.

The result of any arithmeticexpression involving null  is null.Aggregate functions simply ignore nullvalues

Is an arbitrary decision. Could havereturned null as result instead.We follow the semantics of SQL in itshandling of null values

Null ValuesComparisons with null values return

the special truth value unknownIf false  was used instead of unknown , thent (A 5)

Page 132: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 132/436

nbraha-bazat e te dhenave 132

not (A < 5)  would not be equivalent to

A >= 5Three-valued logic using the truthvalue unknown :

OR: (unknown  or true ) = true ,

(unknown  or false ) = unknown  (unknown or unknown) = unknown

AND:  (true  and unknown) = unknown,(false  and unknown) = false,

(unknown and unknown) = unknownNOT : ( not unknown) = unknownIn SQL ―P  is unknown” evaluates to true ifpredicate P  evaluates to unknown

Modification of the Database

The content of the database may

Page 133: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 133/436

nbraha-bazat e te dhenave 133

The content of the database maybe modified using the following

operations:DeletionInsertion

UpdatingAll these operations areexpressed using the assignment

operator.

Deletion

A delete request is expressed

Page 134: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 134/436

nbraha-bazat e te dhenave 134

A delete request is expressedsimilarly to a query, except instead of

displaying tuples to the user, theselected tuples are removed from thedatabase.Can delete only whole tuples; cannotdelete values on only particularattributesA deletion is expressed in relational

algebra by:r   r  – E  

where r  is a relation and E  is a

Deletion ExamplesDelete all account records in thePerryridge branch.account  account –  branch-name = “Perryridge”  (account) 

Page 135: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 135/436

nbraha-bazat e te dhenave 135

Delete all accounts at branches located in Needham.

r 1   branch-city = “Needham”  (account branch)

r 2  branch-name, account-number, balance (r 1)

r 3   customer-name, account-number  (r 2 depositor)

account  account – r 2 

depositor  depositor – r 3 

Delete all loan records with amount in the range of 0 to 50

loan  loan  –  amount 0 and amount   50 (loan)

Insertion

To insert data into a relation we

Page 136: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 136/436

nbraha-bazat e te dhenave 136

To insert data into a relation, weeither:

specify a tuple to be insertedwrite a query whose result is a set oftuples to be inserted

in relational algebra, an insertion isexpressed by:

r   r     E  where r  is a relation and E  is a

relational algebra expression.The insertion of a single tuple isexpressed by letting E  be a constant

i i i

Insertion Examples

Insert information in the databaseaccount   account    {(“Perryridge”, A-973, 1200)}

Page 137: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 137/436

nbraha-bazat e te dhenave 137

Insert information in the databasespecifying that Smith has $1200 in

account A-973 at the Perryridgebranch.  Provide as a gift for all loan customers in thePerryridge

branch, a $200 savings account. Let the loan number

serveas the account number for the new savings account. 

depositor   depositor    {(“Smith”, A-973)} 

r 1  (branch-name = “Perryridge” (borr ower loan ))

account  account   branch-name, account-number,200 (r 1)

depositor  depositor  customer-name, loan-number (r 1) 

Page 138: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 138/436

Page 139: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 139/436

ViewsIn some cases, it is not desirable for

all users to see the entire logical model(i.e., all the actual relations stored inthe database.)

Page 140: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 140/436

nbraha-bazat e te dhenave 140

the database.)Consider a person who needs to know a

customer‘s loan number but has noneed to see the loan amount. Thisperson should see a relation described,in the relational algebra, bycustomer-name, loan-number  (borrowerloan )Any relation that is not of the

conceptual model but is made visible toa user as a ―virtual relation‖ is called aview.

View Definition

A view is defined using the create

Page 141: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 141/436

nbraha-bazat e te dhenave 141

gview statement which has the form

create view v as < query expressionwhere <query expression> is any legalrelational algebra query expression.

The view name is represented by v. Once a view is defined, the view namecan be used to refer to the virtual

relation that the view generates.View definition is not the same ascreating a new relation by evaluatingthe query expression

View Examples

Consider the view (named all- create view all-customer as

(d

it t)

Page 142: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 142/436

nbraha-bazat e te dhenave 142

(customer ) consisting of branches and

their customers.

  We can find all customers of the Perryridge branch by writing: 

branch-name, customer-name (depositor account)

 branch-name, customer-name (borrower   loan) 

branch-name 

(branch-name = “Perryridge” (all-customer ))

Updates Through View

Database modifications expressed as

Page 143: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 143/436

nbraha-bazat e te dhenave 143

pviews must be translated to

modifications of the actual relations inthe database.Consider the person who needs to seeall loan data in the loan  relation exceptamount.  The view given to the person,branch-loan, is defined as:

create view branch-loan as 

branch-name, loan-number  (loan)  Since we allow a view name to appearwherever a relation name is allowed,

Updates Through Views(Cont.)The previous insertion must be

represented by an insertion into theactual relation loan  from which the viewbranch-loan is constructed.

Page 144: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 144/436

nbraha-bazat e te dhenave 144

branch loan  is constructed.An insertion into loan  requires a valuefor amount . The insertion can be dealtwith by either.

rejecting the insertion and returning anerror message to the user.inserting a tuple (―L-37‖, ―Perryridge‖, null )into the loan  relation

Some updates through views are

impossible to translate into databaserelation updatescreate view v as branch-name  = ―Perryridge‖ (account ))

Views Defined Using OtherViews

One view may be used in thei d fi i h i

Page 145: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 145/436

nbraha-bazat e te dhenave 145

expression defining another view

A view relation v 1 is said to dependdirectly on a view relation v 2   if v 2 isused in the expression defining v 1 

A view relation v 1 is said to depend on  view relation v 2  if either v1 dependsdirectly to v 2 or there is a path ofdependencies from v1 to v2 

A view relation v  is said to berecursive if it depends on itself.

View Expansion

A way to define the meaning of viewsd fi d i t f th i

Page 146: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 146/436

nbraha-bazat e te dhenave 146

defined in terms of other views.

Let view v 1 be defined by anexpression e 1 that may itself containuses of view relations.View expansion of an expressionrepeats the following replacementstep:repeat

Find any view relation v i  in e 1 Replace the view relation v i  by theexpression defining v i  until no more view relations are

Tuple Relational CalculusA nonprocedural query language, where

each query is of the form{t  | P  (t ) }It is the set of all tuples t such that

Page 147: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 147/436

nbraha-bazat e te dhenave 147

It is the set of all tuples t  such thatpredicate P  is true for tt  is a tuple variable , t [A ] denotes thevalue of tuple t  on attribute A  t   r  denotes that tuple t  is in relation r  P  is a formula similar to that of thepredicate calculus

Predicate Calculus Formula

1. Set of attributes and constants

Page 148: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 148/436

nbraha-bazat e te dhenave 148

2. Set of comparison operators: (e.g., ,

, , , , )3. Set of connectives: and (), or (v)‚

not ()

4. Implication (): x  y, if x if true,then y is truex   y   x  v y

5. Set of quantifiers:  t  r (Q(t))  ‖there exists‖ a tuple in t  

in relation r  such that predicate Q(t)  is

true

Banking Example

branch (branch-name, branch-city,assets)

Page 149: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 149/436

nbraha-bazat e te dhenave 149

assets)

customer (customer-name, customer- street, customer-city)account (account-number, branch- name, balance)loan (loan-number, branch-name,amount)depositor (customer-name, account- 

number)borrower (customer-name, loan- number)

Example Queries

Find the loan-number, branch-name,and amount for loans of over $1200

{t  | t   loan  t  [amount ]  1200} 

Page 150: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 150/436

nbraha-bazat e te dhenave 150

and amount for loans of over $1200Find the loan number for each loan of an amount greater than

$1200 

Notice that a relation on schema [loan-number ] is implicitlydefined by the query

{t |   s loan (t [loan-number ] = s[loan-number ]  s [amount ]  1200)} 

Example Queries

Find the names of all customers havinga loan an account or both at the bank{t | s  borrower( t [customer-name] = s[customer-name])

 u  depositor ( t [customer-name] = u[customer-name])

Page 151: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 151/436

nbraha-bazat e te dhenave 151

a loan, an account, or both at the bank

{t | s  borrower( t [customer-name] = s[customer-name])

 u  depositor ( t [customer-name] = u[customer-name])

  Find the names of all customers who have a loan and anaccount

at the bank 

p ( [ ] [ ])

Example Queries

Find the names of all customers havinga loan at the Perryridge branch

{t | s  borrower(t [customer-name] = s[customer-name] u  loan(u[branch-name] = “Perryridge” 

Page 152: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 152/436

nbraha-bazat e te dhenave 152

a loan at the Perryridge branch

{t | s  borrower( t [customer-name] = s[customer-name] u  loan(u[branch-name] = “Perryridge” 

  u[loan-number ] = s[loan-number ])) not v  depositor (v [customer-name] =

t [customer-name]) } 

  Find the names of all customers who have a loan at thePerryridge branch, but no account at any branch of the bank

  u[loan-number ] = s[loan-number ]))} 

Example Queries

Find the names of all customers havinga loan from the Perryridge branch

{t | s  loan(s[branch-name] = “Perryridge”  u  borrower (u[loan-number ] = s[loan-number ]

Page 153: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 153/436

nbraha-bazat e te dhenave 153

a loan from the Perryridge branch,

and the cities they live in

( [ ] [ ]  t [customer-name] = u[customer-name])

  v  customer (u[customer-name] = v [customer-name]  t [customer-city ] = v [customer-city ])

 

Example Queries

Find the names of all customers whohave an account at all branches

{t |  c  customer (t [customer.name] = c[customer-name])  

s branch(s[branch-city] = “Brooklyn”

Page 154: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 154/436

nbraha-bazat e te dhenave 154

have an account at all branches

located in Brooklyn:

 s  branch(s[branch-city ] = Brooklyn   u  account ( s[branch-name] = u[branch-name]

  s  depositor ( t [customer-name] = s[customer-name    s[account-number ] = u[account-number] )) )

Safety of Expressions

It is possible to write tuple calculusexpressions that generate infinite

Page 155: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 155/436

nbraha-bazat e te dhenave 155

expressions that generate infinite

relations.For example, {t |  t   r } results in aninfinite relation if the domain of anyattribute of relation r  is infinite

To guard against the problem, werestrict the set of allowableexpressions to safe expressions.

An expression {t  | P (t )} in the tuplerelational calculus is safe  if everycomponent of t  appears in one of therelations, tu les, or constants that

Page 156: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 156/436

Example QueriesFind the loan-number, branch-name, and

amount for loans of over $1200

Find the names of all customers who have a loan of over $1200

{ l , b, a  |  l , b, a   loan  a > 1200} 

Page 157: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 157/436

nbraha-bazat e te dhenave 157

{ c, a  |  l  ( c, l    borrower  b( l, b, a   loan  

b = “Perryridge”))} 

or { c, a  |  l  ( c, l    borrower   l, “ Perryridge”, a   loan)}

  Find the names of all customers who have a loan from thePerryridge branch and the loan amount: 

{ c  |  l, b, a ( c, l   borrower   l, b, a   loan  a > 12

  Find the names of all customers who have a loan of over $1200 

Example Queries

Find the names of all customers havinga loan, an account, or both at the

{ c  |  l ({ c, l    borrower  b,a( l, b, a   loan  b = “Perryridge”)) 

a( c a depositor

Page 158: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 158/436

nbraha-bazat e te dhenave 158

a loan, an account, or both at the

Perryridge branch:

{ c  |  s, n ( c, s, n   customer)  

  x,y,z (  x, y, z   branch   y  = “Brooklyn”)   a,b(  x, y, z   account    c,a   depositor )}

  Find the names of all customers who have an account atall

branches located in Brooklyn: 

  a( c, a   depositor

  b,n( a, b, n   account   b = “Perryridge”))} 

Safety of Expressions

{  x 1, x 2, …, x n   | P (x 1, x 2, …, x n )}

Page 159: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 159/436

nbraha-bazat e te dhenave 159

is safe if all of the following hold:1.All values that appear in tuples ofthe expression are values fromdom (P ) (that is, the values appeareither in P  or in a tuple of a relationmentioned in P ).2.For every ―there exists‖ subformula

of the form  x  (P 1(x )), thesubformula is true if an only if P 1(x ) istrue for all values x from dom (P 1).

― ‖

End of Chapter 3

Page 160: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 160/436

nbraha-bazat e te dhenave 160

p

esu o   branch-name =

―Perryridge‖ (loan )

Page 161: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 161/436

nbraha-bazat e te dhenave 161

of the Loan

Page 162: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 162/436

nbraha-bazat e te dhenave 162

ames o ustomersWho Have Either a Loan oran Account

Page 163: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 163/436

nbraha-bazat e te dhenave 163

But No Loan

Page 164: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 164/436

nbraha-bazat e te dhenave 164

Result of borrower  loan  

Page 165: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 165/436

nbraha-bazat e te dhenave 165

Result of   branch-name = ―Perryridge‖

(borrower   loan)  

Page 166: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 166/436

nbraha-bazat e te dhenave 166

Result of customer-name  

Page 167: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 167/436

nbraha-bazat e te dhenave 167

Result of the Subexpression

Page 168: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 168/436

nbraha-bazat e te dhenave 168

Largest Account Balance inthe Bank

Page 169: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 169/436

nbraha-bazat e te dhenave 169

Page 170: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 170/436

Customers With Both anAccount and a Loan at theBank

Page 171: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 171/436

nbraha-bazat e te dhenave 171

Result of customer-name, loan- 

number, amount  (borrower loan)  

Page 172: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 172/436

nbraha-bazat e te dhenave 172

ranc -  

name ( customer-city =

―Harrison‖(customer   account

depositor))  

Page 173: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 173/436

nbraha-bazat e te dhenave 173

Result of branch-name ( branch-city =―Brooklyn‖(branch)) 

Page 174: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 174/436

nbraha-bazat e te dhenave 174

esu t o customer-name, branch- 

name (depositor account)  

Page 175: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 175/436

nbraha-bazat e te dhenave 175

The credit-info  Relation

Page 176: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 176/436

nbraha-bazat e te dhenave 176

Result of customer-name, (limit –  credit-balance) as credit- 

available (credit-info). 

Page 177: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 177/436

nbraha-bazat e te dhenave 177

Page 178: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 178/436

-

After Grouping

Page 179: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 179/436

nbraha-bazat e te dhenave 179

ranc -name sum sa ary

(pt-works)  

Page 180: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 180/436

nbraha-bazat e te dhenave 180

Result of branch-name   sum salary,max(salary ) as max-salary (pt-works)  

Page 181: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 181/436

nbraha-bazat e te dhenave 181

The employee  and ft-worksRelations

Page 182: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 182/436

nbraha-bazat e te dhenave 182

The Result of employee ft- works  

Page 183: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 183/436

nbraha-bazat e te dhenave 183

The Result of employee  ft-works  

Page 184: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 184/436

nbraha-bazat e te dhenave 184

Result of employee ft- works

Page 185: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 185/436

nbraha-bazat e te dhenave 185

Result of employee ft- works  

Page 186: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 186/436

nbraha-bazat e te dhenave 186

Tuples Inserted Into loan andborrower  

Page 187: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 187/436

nbraha-bazat e te dhenave 187 ames o us omers

Who Have a Loan at thePerryridge Branch

Page 188: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 188/436

nbraha-bazat e te dhenave 188

E-R Diagram

Page 189: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 189/436

nbraha-bazat e te dhenave 189

The branch  Relation

Page 190: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 190/436

nbraha-bazat e te dhenave 190

The loan Relation

Page 191: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 191/436

nbraha-bazat e te dhenave 191

The borrower  Relation

Page 192: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 192/436

nbraha-bazat e te dhenave 192

Chapter 4: SQL

Basic StructureSet Operations

A t F ti

Page 193: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 193/436

nbraha-bazat e te dhenave 193

Aggregate FunctionsNull ValuesNested Subqueries

Derived RelationsViewsModification of the Database

Joined RelationsData Definition LanguageEmbedded S L, ODBC and JDBC

Schema Used in Examples

Page 194: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 194/436

nbraha-bazat e te dhenave 194

Basic StructureSQL is based on set and relational

operations with certain modificationsand enhancementsA typical SQL query has the form:

select A 1, A 2, ..., A n  

from r1 r2 rm

Page 195: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 195/436

nbraha-bazat e te dhenave 195

from r 1, r 2, ..., r m  where P  A i s represent attributesr 

s represent relationsP  is a predicate.

This query is equivalent to therelational algebra expression.

A 1, A2, ..., An (P (r 1 x r 2 x ...x r m ))

The select ClauseThe select clause list the attributesdesired in the result of a query

corresponds to the projection operation ofthe relational algebra

E.g. find the names of all branches in

the loan relationl t b h

Page 196: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 196/436

nbraha-bazat e te dhenave 196

the loan  relationselect branch-name  from loan

In the ―pure‖ relational algebra syntax,

the query would be:branch-name(loan)

NOTE: SQL does not permit the ‗-‘

character in names,Use, e.g., branch_name  instead of branch- name  in a real implementation.

‗ ‘

The select Clause (Cont.)

SQL allows duplicates in relations aswell as in query results.To force the elimination of duplicates,insert the keyword distinct after

Page 197: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 197/436

nbraha-bazat e te dhenave 197

insert the keyword distinct afterselect.Find the names of all branches in the

loan  relations, and remove duplicatesselect distinct branch-name  from loan

The keyword all specifies thatduplicates not be removed.select all branch-name

Page 198: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 198/436

The where Clause

The where clause specifies conditionsthat the result must satisfy

corresponds to the selection predicate of

the relational algebra

Page 199: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 199/436

nbraha-bazat e te dhenave 199

the relational algebra.To find all loan number for loans madeat the Perryridge branch with loan

amounts greater than $1200.select loan-numberfrom loanwhere branch- name = ‗ Perryridge‘

and amount > 1200Comparison results can be combinedusing the logical connectives and, or,

The where Clause (Cont.)SQL includes a between comparisonoperatorE.g. Find the loan number of thoseloans with loan amounts between$90,000 and $100,000 (that is,

$90 000 and $100 000)

select loan-number  from loan 

where amount  between 90000 and 100000

Page 200: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 200/436

nbraha-bazat e te dhenave 200

$90,000 and $100,000) 90000 00000

The from ClauseThe from clause lists the relations involvedin the query

corresponds to the Cartesian product operationof the relational algebra.

Find the Cartesian product borrower x loan  

select from borrower loan

Page 201: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 201/436

nbraha-bazat e te dhenave 201

select  from borrower, loan  Find the name, loan number and loan amount of allcustomers

having a loan at the Perryridge branch. 

select customer-name, borrower.loan-number, amountfrom borrower, loanwhere borrower.loan-number = loan.loan-number and

branch-name = „Perryridge‟ 

The Rename OperationThe SQL allows renaming relations andattributes using the as clause:

old-name as new-name  

Find the name, loan number and loanamount of all customers; rename the

Page 202: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 202/436

nbraha-bazat e te dhenave 202

amount of all customers; rename thecolumn name loan-number as loan-id. select customer-name, borrower.loan-number as loan-id,amountfrom borrower, loan 

where borrower.loan-number = loan.loan-number

Tuple Variables

Tuple variables are defined in thefrom clause via the use of the asclause.

Find the customer names and their

select customer-name, T.loan-number, S.amountfrom borrower as T, loan as S

where T.loan-number = S.loan-number  

Page 203: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 203/436

nbraha-bazat e te dhenave 203

Find the customer names and theirloan numbers for all customers havinga loan at some branch. 

select distinct T.branch-namefrom branch as T, branch as Swhere T.assets > S.assets and S.branch-city = „ Brooklyn‟  

  Find the names of all branches that have greaterassets than

some branch located in Brooklyn. 

String OperationsSQL includes a string-matchingoperator for comparisons on character

strings. Patterns are described usingtwo special characters:

percent (%). The % character matches anysubstring.underscore ( ). The character matches

Page 204: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 204/436

nbraha-bazat e te dhenave 204

underscore (_). The _ character matchesany character.

Find the names of all customers whose

street includes the substring ―Main‖. select customer-namefrom customerwhere customer-street like

‘%Main%’ 

Match the name ―Main%‖ ‘ ’ ‘ ’

Ordering the Display ofTuples

List in alphabetic order the names ofall customers having a loan inPerryridge branch

select distinct customer-name

Page 205: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 205/436

nbraha-bazat e te dhenave 205

select distinct customer namefrom borrower, loanwhere borrower loan-number -

loan.loan-number andbranch-name = ‘Perryridge’ order by customer-name  

We may specify desc for descending

order or asc for ascending order, foreach attribute; ascending order is thedefault.

Duplicates

In relations with duplicates, SQL candefine how many copies of tuplesappear in the result.

Multiset versions of some of the

Page 206: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 206/436

nbraha-bazat e te dhenave 206

Mu t s t versions of some of therelational algebra operators – givenmultiset relations r 1 and r 2:

1. (r 1 ):  If there are c 1 copies of tuple t 1 in r 1, and t 1 satisfies selections  ,, thenthere are c 1 copies of t 1 in   (r 1). 

2.A (r) : For each copy of tuple t 

1  in r 

1,

there is a copy of tuple A (t 1)  in A (r 1)  where A (t 1)  denotes the projection ofthe single tuple t 1 .

Duplicates (Cont.)Example: Suppose multisetrelations r 1 (A, B ) and r 2 (C ) are as

follows:r 1 = {(1, a ) (2,a )} r 2 = {(2),

(3), (3)}

Then B (r 1) would be {(a), (a)},while B(r1) x r2 would be

Page 207: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 207/436

nbraha-bazat e te dhenave 207

hen ( ) would be {(a), (a)},while B (r 1) x r 2 would be{(a ,2), (a ,2), (a ,3), (a ,3), (a ,3),

(a ,3)}SQL duplicate semantics:

select A 1,, A 2, ..., A n  from r 1, r 2, ..., r m  where P

is equivalent to the multiset  version of the ex ression:

Set Operations

The set operations union, intersect,and except operate on relations andcorrespond to the relational algebra

operations  

Page 208: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 208/436

nbraha-bazat e te dhenave 208

p Each of the above operationsautomatically eliminates duplicates; to

retain all duplicates use thecorresponding multiset versions unionall, intersect all and except all.

Suppose a tuple occurs m  times in r  and n times in s, then, it occurs:m + n times in r union all s

Set Operations

Find all customers who have a loan, anaccount, or both:

(select customer-name from depositor )intersect

(select customer-name from depositor )

union(select customer-name from borrower) 

  Find all customers who have both a loan and an account. 

Page 209: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 209/436

nbraha-bazat e te dhenave 209

(select customer-name from depositor )except(select customer-name from borrower) 

intersect(select customer-name from borrower) 

  Find all customers who have an account but no loan.

Aggregate Functions

These functions operate on themultiset of values of a column of a

relation, and return a valuel

Page 210: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 210/436

nbraha-bazat e te dhenave 210

n, n u n uavg: average valuemin: minimum value

max: maximum valuesum: sum of valuescount: number of values

Aggregate Functions (Cont.)

Find the average account balance atthe Perryridge branch.

  Find the number of tuples in the customer  relation. 

select avg (balance) from accountwhere branch-name = „Perryridge‟ 

select count (*)

Page 211: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 211/436

nbraha-bazat e te dhenave 211

  Find the number of depositors in the bank. 

from customer  

select count (distinct customer-name)from depositor

Aggregate Functions – GroupBy

Find the number of depositors for eachbranch.select branch-name, count (distinct customer-name)

from depositor, accountwhere depositor.account-number = account.account-nu

  group by branch-name 

Page 212: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 212/436

nbraha-bazat e te dhenave 212

Note: Attributes in select clause outside of aggregatefunctions must

appear in group by list 

ggrega e unc on – 

Having Clause

Find the names of all branches wherethe average account balance is morethan $1,200.

N di i h h i l li d f h

select branch-name, avg (balance)from accountgroup by branch-namehaving avg (balance) > 1200 

Page 213: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 213/436

nbraha-bazat e te dhenave 213

Note: predicates in the having clause are applied after theformation of groups whereas predicates in the

where 

clause are applied before forming groups

Null ValuesIt is possible for tuples to have a nullvalue, denoted by null , for some of

their attributesnull  signifies an unknown value or thata value does not exist.

The predicate is null can be used tocheck for null values.

Page 214: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 214/436

nbraha-bazat e te dhenave 214

f u u .E.g. Find all loan number which appear inthe loan  relation with null values for

amount. select loan-numberfrom loanwhere amount is null 

The result of any arithmeticexpression involving null  is null

u a ues an T ree

Valued Logic

Any comparison with null  returnsunknown

E.g. 5 < null or null <> null or null =

nullThree valued logic using the truth

Page 215: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 215/436

nbraha-bazat e te dhenave 215

Three-valued logic using the truthvalue unknown :

OR: (unknown  or true ) = true , (unknown  or false ) = unknown  

(unknown or unknown) = unknownAND: (true  and unknown) = unknown,(false  and unknown) = false,

(unknown and unknown) = unknownNOT : ( not unknown) = unknown―P  is unknown” evaluates to true if

Null Values and Aggregates

Total all loan amounts

select sum (amount)

from loan  Above statement ignores null amounts

Page 216: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 216/436

nbraha-bazat e te dhenave 216

g

result is null if there is no non-null amount,that is the

All aggregate operations exceptcount(*) ignore tuples with null valueson the aggregated attributes.

Nested Subqueries

SQL provides a mechanism forthe nesting of subqueries.

A subquery is a select-from-where expression that is nested

Page 217: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 217/436

nbraha-bazat e te dhenave 217

pwithin another query.

A common use of subqueries is toperform tests for setmembership, set comparisons, andset cardinality.

Example Query

Find all customers who have both anaccount and a loan at the bank.

Find all customers who have a loan at the bank but do

select distinct customer-namefrom borrowerwhere customer-name in (select customer-name

from depositor) 

Page 218: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 218/436

nbraha-bazat e te dhenave 218

  Find all customers who have a loan at the bank but donot have

an account at the bank 

select distinct customer-namefrom borrowerwhere customer-name not in (select customer-name

from depositor) 

Example Query

Find all customers who have both anaccount and a loan at the Perryridgebranch 

select distinct customer-namefrom borrower, loanwhere borrower.loan-number = loan.loan-number and

branch-name = “Perryridge” and

(branch-name, customer-name) in(select branch-name, customer-name

Page 219: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 219/436

nbraha-bazat e te dhenave 219

  Note: Above query can be written in a much simplermanner. The

formulation above is simply to illustrate SQL features.(Schema used in this example) 

from depositor, accountwhere depositor.account-number =

account.account-number) 

Set Comparison

Find all branches that have greaterassets than some branch located inBrooklyn.

  Same query using > some clause 

select distinct T.branch-namefrom branch as T, branch as Swhere T.assets > S.assets and

S.branch-city =‘Brooklyn

’ 

Page 220: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 220/436

nbraha-bazat e te dhenave 220

select branch-namefrom branch

where assets > some(select assetsfrom branch

where branch-city = ‘Brooklyn’) 

Definition of Some Clause

F <comp> some r t  r   s.t.( F <comp> t ) Where <comp> can be:

 

0

5

6

(5<some 

) =true

05 ) = false

(read: 5 < some tuple in the relation)

(5<

Page 221: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 221/436

nbraha-bazat e te dhenave 221

05

05(5  some ) = true (since 0  5) 

some 

) = true(5 = some 

(= some)  in

However, ( some)  not in 

Definition of all Clause

F <comp> all r t  r   (F<comp> t)  

0

5

6

(5< all  ) = false

610 ) = true(5< all 

Page 222: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 222/436

nbraha-bazat e te dhenave 222

45

46(5  all ) = true (since 5  4 and 5  6) 

) = false(5 = all 

( all)  not in

However, (= all)  in

Example Query

Find the names of all branches thathave greater assets than all brancheslocated in Brooklyn.

select branch-namefrom branchwhere assets > all

(select assets

from branchwhere branch-city = „Brooklyn‟) 

Page 223: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 223/436

nbraha-bazat e te dhenave 223

Test for Empty Relations

The exists construct returns thevalue true if the argument

subquery is nonempty.exists r r  Ø  

Page 224: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 224/436

nbraha-bazat e te dhenave 224

not exists r r = Ø

Example Query

Find all customers who have an accountat all branches located in Brooklyn.

select distinct S.customer-namefrom depositor  as Swhere not exists (

(select branch-namefrom branch

where branch-city = „Brooklyn‟) except

(select R.branch-name

Page 225: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 225/436

nbraha-bazat e te dhenave 225

(from depositor as T, account as Rwhere T.account-number = R.account-number and

S.customer-name = T.customer-name)) 

  (Schema used in this example) 

  Note that X – Y = Ø    X   Y

  Note: Cannot write this query using = all and its variants 

Page 226: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 226/436

Example Query

Find all customers who have at leasttwo accounts at the Perryridgebranch.

select distinct T.customer-namefrom depositor Twhere not unique (

select R.customer-name

from account, depositor as Rwhere T.customer-name = R.customer-name

and

Page 227: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 227/436

nbraha-bazat e te dhenave 227

andR.account-number = account.account-number

and

account.branch-name = ‘Perryridge’) 

(Schema used in this example) 

Page 228: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 228/436

Example QueriesA view consisting of branches and theircustomers

create view all-customer as

(select branch-name, customer-namefrom depositor, accountwhere depositor.account-number = account.account-number 

  union(select branch-name, customer-namefrom borrower, loanwhere borrower.loan-number = loan.loan-number) 

Page 229: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 229/436

nbraha-bazat e te dhenave 229

  Find all customers of the Perryridge branch 

select customer-namefrom all-customerwhere branch-name = „Perryridge‟ 

Derived Relations

Find the average account balance ofthose branches where the averageaccount balance is greater than $1200.

select branch-name, avg-balancefrom (select branch-name, avg

(b l )

Page 230: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 230/436

nbraha-bazat e te dhenave 230

(balance)from accountgroup by branch-name)as result (branch-name, avg- 

balance)

where avg-balance > 1200Note that we do not need to use thehaving clause, since we compute the

With Clause

With clause allows views to be definedlocally to a query, rather than globally.Analogous to procedures in a

programming language.Find all accounts with the maximumb l

Page 231: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 231/436

nbraha-bazat e te dhenave 231

balance

with max-balance (value ) as select max (balance )from account  

select account-numberfrom account, max-balancewhere account.balance = max- 

Complex Query using WithClause

Find all branches where the totalaccount deposit is greater than theaverage of the total account deposits

at all branches. 

with branch-total  (branch-name, value) as select branch-name, sum (balance)from account  group by branch-name 

with branch-total -avg(value) as select avg (value)from branch-total

Page 232: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 232/436

nbraha-bazat e te dhenave 232

from branch-total  select branch-name from branch-total , branch-total-avgwhere branch-total.value >= branch-total-avg.value 

o ca on o e

Database – DeletionDelete all account records at thePerryridge branch

delete from accountwhere branch-name =‘Perryridge’ 

Delete all accounts at every branch

located in Needham city.delete from accounth b h ( l b h

Page 233: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 233/436

nbraha-bazat e te dhenave 233

where branch-name in (select branch- 

name from branchwhere branch-city =

‘Needham’)

delete from depositorwhere account-number in(select account- 

Example Query

Delete the record of all accounts withbalances below the average at thebank.

delete from accountwhere balance < (select avg (balance)

from account) 

  Problem: as we delete tuples from deposit, the average balancechanges

Page 234: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 234/436

nbraha-bazat e te dhenave 234

  Solution used in SQL:

1. First, compute avg balance and find all tuples to delete

2. Next, delete all tuples found above (without recomputing avg orretesting the tuples) 

o ca on o e

Database – Insertion

Add a new tuple to accountinsert into account

values (‗A-9732‘,

‗Perryridge‘,1200) or equivalently

Page 235: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 235/436

nbraha-bazat e te dhenave 235

insert into account (branch-name,balance, account-number)

values (‗Perryridge‘, 1200, ‗A-9732‘) 

Add a new tuple to account withbalance  set to nullinsert into account

o ca on o e

Database – InsertionProvide as a gift for all loan customersof the Perryridge branch, a $200

savings account. Let the loan numberserve as the account number for thenew savings account

insert into accountselect loan-number, branch-name,

200f l

Page 236: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 236/436

nbraha-bazat e te dhenave 236

from loan

where branch-name = ‗Perryridge‘ insert into depositorselect customer-name, loan-numberfrom loan, borrower

where branch-name = ‗ Perryridge‘ and loan.account-number =borrower.account-number

Page 237: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 237/436

Case Statement for

Conditional Updates

Same query as before: Increase allaccounts with balances over $10,000by 6%, all other accounts receive 5%.

update account  set balance = case

Page 238: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 238/436

nbraha-bazat e te dhenave 238

set balance  = case when balance  <=

10000 then balance  *1.05else  balance  *

1.06

end

Update of a ViewCreate a view of all loan data in loan  relation, hiding the amount attribute

create view branch-loan asselect branch-name, loan- number

from loan

Add a new tuple to branch-loaninsert into branch-loan  

l (‗P id ‘ ‗L 307‘)

Page 239: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 239/436

nbraha-bazat e te dhenave 239

values (‗Perryridge‘, ‗L-307‘) 

This insertion must be represented bythe insertion of the tuple(‗L-307‘, ‗Perryridge‘, null )

into the loan  relationUpdates on more complex views aredifficult or impossible to translate,

TransactionsA transaction is a sequence of queriesand update statements executed as a

single unitTransactions are started implicitly andterminated by one of

commit work: makes all updates of the

transaction permanent in the database rollback work: undoes all updates performed bythe transaction.

M i i l

Page 240: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 240/436

nbraha-bazat e te dhenave 240

Motivating example

Transfer of money from one account toanother involves two steps:deduct from one account and credit to another

If one steps succeeds and the other fails,

database is in an inconsistent stateTherefore, either both steps should succeedor neither should

Transactions (Cont.)

In most database systems, each SQLstatement that executes successfullyis automatically committed.

Each transaction would then consist ofonly a single statementAutomatic commit can usually be turned

Page 241: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 241/436

nbraha-bazat e te dhenave 241

yoff, allowing multi-statement

transactions, but how to do so depends onthe database systemAnother option in SQL:1999: enclosestatements within

begin atomic…end

Joined Relations

Join operations take two relations andreturn as a result another relation.These additional operations are

typically used as subquery expressionsin the from clauseJoin condition – defines which tuples

Page 242: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 242/436

nbraha-bazat e te dhenave 242

Join condition – defines which tuples

in the two relations match, and whatattributes are present in the result ofthe join.Join type – defines how tuples in each

relation that do not match any tuple inthe other relation (based on the joincondition are treated.

Join Typesinner joinleft outer joinright outer joinfull outer join

Join Conditionsnaturalon <predicate>using ( A1, A2, ..., An)

o ne e a ons –  a ase s

for ExamplesRelation loan  

Relation borrower

customer-name loan-number

amount

3000

4000

1700

branch-name

Downtown

Redwood

Perryridge

loan-number

L-170L-230

L-260

Page 243: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 243/436

nbraha-bazat e te dhenave 243

Jones

SmithHayes

L-170

L-230L-155 

Note: borrower information missing for L-260 andloan information missing for L-155 

Joined Relations – Examples

loan inner join borrower onloan.loan-number =borrower.loan-number

loan left outer join borrower on loan.loan-number = borrower.loan-number

branch-name amount

Downtown

Redwood

3000

4000

customer-name loan-number

Jones

Smith

L-170

L-230

loan-number

L-170

L-230

Page 244: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 244/436

nbraha-bazat e te dhenave 244

branch-name amount

Downtown

Redwood

Perryridge

3000

4000

1700

customer-name loan-number

Jones

Smith

null  

L-170

L-230

null  

loan-number

L-170

L-230

L-260 

Joined Relations – Examples

loan natural inner join borrower

loan natural right outer join borrower  

branch-name amount

Downtown

Redwood

3000

4000

customer-name

Jones

Smith

loan-number

L-170

L-230

Page 245: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 245/436

nbraha-bazat e te dhenave 245

branch-name amount

Downtown

Redwood

null

3000

4000

null

customer-name

Jones

Smith

Hayes

loan-number

L-170

L-230

L-155 

Joined Relations – Examplesloan full outer join borrowerusing (loan-number)

Find all customers who have either an account or a loan(b t t b th) t th b k

branch-name amount

Downtown

Redwood

Perryridge

null

3000

4000

1700

null

customer-name

Jones

Smith

null  

Hayes 

loan-number

L-170

L-230

L-260

L-155 

Page 246: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 246/436

nbraha-bazat e te dhenave 246

(but not both) at the bank. 

select customer-name from (depositor natural full outer join borrower ) where account-number  is null  or loan-number  is nul

Data Definition Language(DDL)

The schema for each relation.The domain of values associatedwith each attribute.

Allows the specification of not only a set of relations but

also information about each relation, including:

Page 247: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 247/436

nbraha-bazat e te dhenave 247

Integrity constraintsThe set of indices to bemaintained for each relations.Security and authorization

information for each relation.The physical storage structure

Domain Types in SQLchar(n).  Fixed length character string,with user-specified length n. 

varchar(n). Variable length characterstrings, with user-specified maximumlength n.

int. Integer (a finite subset of theintegers that is machine-dependent).smallint.  Small integer (a machine-d d t b t f th i t d i

Page 248: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 248/436

nbraha-bazat e te dhenave 248

dependent subset of the integer domain

type).numeric(p,d).  Fixed point number, withuser-specified precision of p  digits, withn  digits to the right of decimal point.real, double precision.  Floating pointand double-precision floating point

Date/Time Types in SQL(Cont.)

date.  Dates, containing a (4 digit) year, month and date

E.g. date ‗2001-7-27‘ 

time. Time of day, in hours, minutesand seconds.E.g. time ‘09:00:30‘ time 

Page 249: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 249/436

nbraha-bazat e te dhenave 249

g‘09:00:30.75‘ 

timestamp: date plus time of dayE.g. timestamp  ‗2001-7-27 09:00:30.75‘ 

Interval: period of time

E.g. Interval ‗1‘ day Subtracting a date/time/timestamp valuefrom another gives an interval value

Create Table Construct

An SQL relation is defined usingthe create table command:

create table r (A 1 D 1, A 2 D 2, ..., A n  D n ,

(integrity-constraint1),

Page 250: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 250/436

nbraha-bazat e te dhenave 250

1),...,(integrity-

constraintk))r  is the name of the relation

each A i  is an attribute name in theschema of relation rD i  is the data type of values in the

Integrity Constraints inCreate Tablenot nullprimary key (A 1, ..., A n )

check (P), where P  is a predicateExample: Declare branch-name as the primary keyfor branch and ensure that the values of assets arenon-negative. 

create table branch(branch-namechar(15),branch-city char(30)assets integer

Page 251: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 251/436

nbraha-bazat e te dhenave 251

assets integer,primary key (branch-name),

check (assets >= 0))

primary key declaration on an attribute

automatically ensures not null in SQL-92onwards, needs to be explicitly stated in SQL-89 

Drop and Alter TableConstructsThe drop table command deletes allinformation about the dropped

relation from the database.The alter table command is used toadd attributes to an existingrelation.

alter table r add A D

where A  is the name of thett ib t t b dd d t l ti

Page 252: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 252/436

nbraha-bazat e te dhenave 252

attribute to be added to relation r

and D  is the domain of A. All tuples in the relation are assignednull  as the value for the new attribute.

The alter table command can also beused to drop attributes of a relationalter table r  drop A  

Embedded SQL

The SQL standard definesembeddings of SQL in a variety ofprogramming languages such as Pascal,

PL/I, Fortran, C, and Cobol.A language to which SQL queries areembedded is referred to as a hostl d th SQL t t

Page 253: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 253/436

nbraha-bazat e te dhenave 253

language, and the SQL structures

permitted in the host languagecomprise embedded SQL.The basic form of these languages

follows that of the System Rembedding of SQL into PL/I.EXEC S L statement is used to

Example Query

Specify the query in SQL and declare acursor  for it

EXEC SQLdeclare c  cursor forselect customer-name customer-city

From within a host language, find the names and citiesof customers with more than the variable amount  dollars

in some account.

Page 254: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 254/436

nbraha-bazat e te dhenave 254

select customer name, customer city

from depositor, customer, accountwhere depositor.customer-name =customer.customer-name

and depositor account-number =

account.account-numberand account.balance > :amount

Embedded SQL (Cont.)

The open statement causes the queryto be evaluatedEXEC SQL open c  END-EXEC

The fetch statement causes thevalues of one tuple in the query resultto be placed on host language

i bl

Page 255: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 255/436

nbraha-bazat e te dhenave 255

variables.EXEC SQL fetch c into :cn, :cc  END-EXECRepeated calls to fetch get successive

tuples in the query resultA variable called SQLSTATE in the

Updates Through Cursors Can update tuples fetched by cursor by declaring that the

cursor is for update

declare c cursor forselect *from accountwhere branch-name = „Perryridge‟ 

for update

To update tuple at the current location of cursor 

update accountset balance = balance + 100

h t f

Page 256: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 256/436

nbraha-bazat e te dhenave 256

where current of c

Dynamic SQLAllows programs to construct andsubmit SQL queries at run time.

Example of the use of dynamic SQLfrom within a C program.

char * sqlprog = ― update accountset balance =balance * 1.05 

where account-number =

Page 257: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 257/436

nbraha-bazat e te dhenave 257

?‖  EXEC SQL prepare dynprog   from:sqlprog;char account [10] = ―A-101‖; 

EXEC SQL execute dynprog  using:account;

ODBC

Open DataBase Connectivity(ODBC)standard

standard for application program to

communicate with a database server.application program interface (API) to

open a connection with a database,

d d d

Page 258: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 258/436

nbraha-bazat e te dhenave 258

send queries and updates,

get back results.

Applications such as GUI,spreadsheets, etc. can use ODBC

ODBC (Cont.)Each database system supportingODBC provides a "driver" library thatmust be linked with the client program.When client program makes an ODBCAPI call, the code in the librarycommunicates with the server to carry

out the requested action, and fetchresults.ODBC program first allocates an SQLn i nm nt th n d t b s

Page 259: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 259/436

nbraha-bazat e te dhenave 259

environment, then a databaseconnection handle.Opens database connection usingSQLConnect(). Parameters for

SQLConnect:connection handle,the server to which to connect

ODBC Codeint ODBCexample(){

RETCODE error;

HENV env; /* environment */HDBC conn; /* database connection */SQLAllocEnv(&env);SQLAllocConnect(env, &conn);SQLConnect(conn, "aura.bell-labs.com",SQL_NTS, "avi", SQL_NTS, "avipasswd",SQL_NTS);{ D t l k }

Page 260: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 260/436

nbraha-bazat e te dhenave 260

{ …. Do actual work … } 

SQLDisconnect(conn);SQLFreeConnect(conn);

SQLFreeEnv(env);}

ODBC Code (Cont.)Program sends SQL commands to thedatabase by using SQLExecDirect

Result tuples are fetched usingSQLFetch()SQLBindCol() binds C language variablesto attributes of the query result

When a tuple is fetched, its attribute values areautomatically stored in corresponding C variables.Arguments to SQLBindCol()

ODBC stmt variable, attribute position in query result

Page 261: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 261/436

nbraha-bazat e te dhenave 261

ODBC stmt variable, attribute position in query result

The type conversion from SQL to C.The address of the variable.For variable-length types like character arrays,

The maximum length of the variableLocation to store actual length when a tuple is fetched.Note: A negative value returned for the length fieldindicates null value

Good programming requires checking

Page 262: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 262/436

More ODBC FeaturesPrepared Statement

SQL statement prepared: compiled at thedatabase

Can have placeholders: E.g. insert intoaccount values(?,?,?)Repeatedly executed with actual values for theplaceholders

Metadata featuresfinding all the relations in the database andfinding the names and types of columns of a

lt l ti i th d t b

Page 263: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 263/436

nbraha-bazat e te dhenave 263

query result or a relation in the database.

By default, each SQL statement istreated as a separate transaction thatis committed automatically.

Can turn off automatic commit on a connectionSQLSetConnectOption(conn,SQL_AUTOCOMMIT, 0)}

ODBC Conformance Levels

Conformance levels specify subsets ofthe functionality defined by thestandard.

CoreLevel 1 requires support for metadataqueryingLevel 2 requires ability to send and

Page 264: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 264/436

nbraha-bazat e te dhenave 264

y

retrieve arrays of parameter values andmore detailed catalog information.

SQL Call Level Interface (CLI)standard similar to ODBC interface,

but with some minor differences.

JDBC

JDBC is a Java API for communicatingwith database systems supportingSQL

JDBC supports a variety of featuresfor querying and updating data, andfor retrieving query resultsJDBC also supports metadata

Page 265: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 265/436

nbraha-bazat e te dhenave 265

JDBC also supports metadataretrieval, such as querying aboutrelations present in the database andthe names and types of relation

attributesModel for communicating with thedatabase:

Page 266: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 266/436

JDBC Code (Cont.)Update to databasetry {

stmt.executeUpdate( "insert into accountvalues('A-9732',

'Perryridge', 1200)");} catch (SQLException sqle) {

System.out.println("Could not insert tuple. "+ sqle);

}

Page 267: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 267/436

nbraha-bazat e te dhenave 267

Execute query and fetch and printresultsResultSet rset = stmt.executeQuery( "select

branch_name, avg(balance)

fromaccountgroup by

JDBC Code Details

Getting result fields:rs.getString(―branchname‖) andrs.getString(1) equivalent if

branchname is the first argument ofselect result.

Dealing with Null values

Page 268: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 268/436

nbraha-bazat e te dhenave 268

gint a = rs.getInt(―a‖); if (rs.wasNull())

Systems.out.println(―Got null value‖); 

Prepared StatementPrepared statement allows queries to becompiled and executed multiple times

with different argumentsPreparedStatement pStmt =conn.prepareStatement(

―insert into

account values(?,?,?)‖); pStmt.setString(1,"A-9732");pStmt.setString(2, "Perryridge");pStmt.setInt(3, 1200);

Page 269: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 269/436

nbraha-bazat e te dhenave 269

pStmt.executeUpdate();

pStmt.setString(1, "A-9733");pStmt.executeUpdate();

Beware: If value to be stored indatabase contains a single quote or

Other SQL FeaturesSQL sessionsclient connects  to an SQL server,establishing a sessionexecutes a series of statementsdisconnects the sessioncan commit or rollback  the work

carried out in the sessionAn SQL environment containsseveral components, including auser identifier, and a schema,

Page 270: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 270/436

nbraha-bazat e te dhenave 270

which identifies which of severalschemas a session is using.

Sc emas, Cata ogs, an

Environments

Three-level hierarchy for namingrelations.

Database contains multiple catalogs 

each catalog can contain multiple schemas SQL objects such as relations and viewsare contained within a schema

e.g. catalog5.bank-schema.account

Page 271: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 271/436

nbraha-bazat e te dhenave 271

Each user has a default catalog andschema, and the combination is uniqueto the user.

Default catalog and schema are set upfor a connection

Page 272: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 272/436

Extra Material on JDBC

and ApplicationArchitectures

Page 273: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 273/436

nbraha-bazat e te dhenave 273

Transactions in JDBC

 As with ODBC, each statement getscommitted automatically in JDBC

To turn off auto commit use

conn.setAutoCommit(false); To commit or abort transactions use

conn.commit() or

Page 274: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 274/436

nbraha-bazat e te dhenave 274

conn.rollback()To turn auto commit on again, use

conn.setAutoCommit(true); 

Procedure and Function Callsin JDBCJDBC provides a class

CallableStatement which allows SQLstored procedures/functions to beinvoked.

CallableStatement cs1 =conn.prepareCall( ―{call proc (?,?)}‖ ) ; 

CallableStatement cs2 =

Page 275: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 275/436

nbraha-bazat e te dhenave 275

conn.prepareCall( ―{? = call func(?,?)}‖ ); 

Result Set MetaData

The class ResultSetMetaDataprovides information about all thecolumns of the ResultSet.

Instance of this class is obtained bygetMetaData( ) function of ResultSet.Provides Functions for getting numberof columns, column name, type,

Page 276: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 276/436

nbraha-bazat e te dhenave 276

precision, scale, table from which thecolumn is derived etc.

ResultSetMetaData rsmd =

rs.getMetaData ( );for ( int i = 1; i <=++

Database Meta DataThe class DatabaseMetaData providesinformation about database relations

Has functions for getting all tables, allcolumns of the table, primary keys etc.E.g. to print column names and types of arelation

DatabaseMetaData dbmd =conn.getMetaData( );

ResultSet rs = dbmd.getColumns( null,

Page 277: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 277/436

nbraha-bazat e te dhenave 277

―BANK-DB‖, ―account‖, ―%‖ ); //Arguments: catalog, schema-pattern, table-pattern, column-pattern

// Returns: 1 row for each

column, with several attributes such as// COLUMN_NAME,

Application Architectures

Applications can be built using oneof two architectures

Two tier model

Application program running at usersite directly uses JDBC/ODBC tocommunicate with the database

Three tier model

Page 278: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 278/436

nbraha-bazat e te dhenave 278

Users/programs running at user sitescommunicate with an application server.The application server in turncommunicates with the database

Two-tier Model

E.g. Java code runs at client site anduses JDBC to communicate with thebackend server

Benefits:flexible, need not be restricted topredefined queries

Problems:

Page 279: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 279/436

nbraha-bazat e te dhenave 279

Security: passwords available at clientsite, all database operation possibleMore code shipped to clientNot appropriate across organizations, orin large ones like universities

Three Tier ModelCGI Program

DatabaseServer

Application/HTTP

ServerServlets

JDBC

 Network

HTTP/Application Specific Protocol

Page 280: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 280/436

nbraha-bazat e te dhenave 280

Client Client Client

Three-tier Model (Cont.)

E.g. Web client + Java Servlet usingJDBC to talk with database serverClient sends request over http or

application-specific protocolApplication or Web server receivesrequestRequest handled by CGI program or

Page 281: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 281/436

nbraha-bazat e te dhenave 281

servletsSecurity handled by application atserver

Better securityFine granularity security

End of Chapter

Page 282: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 282/436

nbraha-bazat e te dhenave 282

Page 283: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 283/436

The Result of loan  inner

 join borrower on loan.loan- number = borrower.loan- 

number  

Page 284: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 284/436

nbraha-bazat e te dhenave 284

e esu o oan e

outer join borrower on loan-number  

Page 285: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 285/436

nbraha-bazat e te dhenave 285

The Result of loan  naturalinner join borrower  

Page 286: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 286/436

nbraha-bazat e te dhenave 286

Join Types and JoinConditions

Page 287: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 287/436

nbraha-bazat e te dhenave 287

The Result of loan natural

right outer join borrower  

Page 288: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 288/436

nbraha-bazat e te dhenave 288

e esu o oan u

outer join borrowerusing(loan-number)  

Page 289: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 289/436

nbraha-bazat e te dhenave 289

the Bank Database

Page 290: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 290/436

nbraha-bazat e te dhenave 290

―record based logical model‖ Ky model mundeson shikim dhepershkrimin e te dhenave ne nivelin

logjike dhe shikues.Quhet keshtu sete dhenat na ipen ne forme tefiksuare .Dallojme disa modele tekesaj trajte si

1. Modeli racional(rational model)2. Modeli I rrjetes(network model)3. Modeli hirearkik(hierarchical model)4 Ndryshimet ne mes te

Page 291: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 291/436

nbraha-bazat e te dhenave 291

4. Ndryshimet ne mes temodeleve(differences among themodels)

Nje shembull tjeter I

modelit relacionalcustomer-nameCustomer-id  

customer-street

customer-city

account-number

Johnson

Smith

Johnson

Jones

Smith

192-83-7465

019-28-3746

192-83-7465

321-12-3123

019-28-3746

Alma

North

Alma

Main

North

Palo Alto

Rye

Palo Alto

Harrison

Rye

A-101

A-215

A-201

A-217

A-201

Atributet

Page 292: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 292/436

nbraha-bazat e te dhenave 292

S em u i nje aze re aciona e

Page 293: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 293/436

nbraha-bazat e te dhenave 293

Page 294: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 294/436

―modeli hierarchical‖ 

Ky model eshte i ngjashem sikurse ai irrjetes me dallim te vetem ku organizimi ite dhenave behet ne forme te rrenjes

d.m.th fillohet nga nje trung dhevazhdohet me tej me te ,si ne figuren eparaqitur me poshte

RRENJAJonhson

Smith

Hayes

Page 295: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 295/436

nbraha-bazat e te dhenave 295

Hayes

A-101 A-201

―Differenca ne mes te

modeleve‖ Modeli relacional dallon nga ai irrjetes dhe hirearkik ne ate pasinuk perdore ―linke ‖ dhe―pointera‖,perderisa modelirelational i lidhe te dhenat ne bazete vlerave te tyre qe i permbajne.

Page 296: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 296/436

nbraha-bazat e te dhenave 296

Transformimi i modeleve

relacionale ne SQLNe vazhdim do te shohim se si

nje model e ne veqanti modeli E-Rshprehet ne gjuhen e SQL-se.Parase gjithash le te marrim nje model

logjike te bazes se te dhenave teparaqitur si me pare (te modelifizike dhe logjike ).

Page 297: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 297/436

nbraha-bazat e te dhenave 297

Paraqitja e nje modeli logjike

Page 298: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 298/436

nbraha-bazat e te dhenave 298

Page 299: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 299/436

Paraqitja e ER-se ne SQL(1)

Pershkrimi I atributeve tjera perentitetin e kurseve do te ishte disikeshtu :

Create table kurset(emrikursit

KohakursitNivelikursit

Klasakursit

);

Page 300: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 300/436

nbraha-bazat e te dhenave 300

);

Paraqitja e ER-se ne SQLNe paraqitjen e diagramit te mesemeshte bere lidhmeria e te dhenavenga ato dy entitete te shqyrtura ete cilat do te jen te disa llojta edhedo te ceken me vone.

Page 301: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 301/436

nbraha-bazat e te dhenave 301

Page 302: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 302/436

Modeli relacionalSiq shihet nga larte modeli i tilledallohet per nga paraqitja e formesse tije ,sipas trajtes horizontale dhevertikale te te dhenave .Ku ne secilinrresht paraqitet vetem nje atribut Ientitetit te pare ,ndersa ne secilenshtylle vetem nje atribute Ientitetit te dyte .

Page 303: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 303/436

nbraha-bazat e te dhenave 303

―relation model‖ 

Praktikisht modeli I dhene mund teparaqitet ne forme te tabelave te tedhenave dhe lidhjet e tyre jane te

organizuara ne ate menyre qe te dhenat jane te paraqitura ne kuader te njetabele permes te kolonave dhe

rreshtave ,nje paraqitje e tille do tedukej keshtu ATRIBUTET

Emri Mbiemri gjinia id mosha

Page 304: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 304/436

nbraha-bazat e te dhenave 304

gj

emri1 mbiemri1 gjinia1 id1 mosha1

Page 305: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 305/436

―data definition language(DDL)‖ 

Me keta urdhera mundesohet definimi ite dhenave themelore ne forme tetabelave ,keto te dhena vendosen ne

fajlle te quajtura ―data dictionary‖,kuketo te fundit permbajne ―metadata‖(tedhena mbi te dhenat ne ate baze),nje

shembull i tille do te ishte ky ne vazhdim:Create table studenti(

Emri char(30),

Mbiemri char(20),

Page 306: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 306/436

nbraha-bazat e te dhenave 306

( ),Mosha integer)

―Data manipulation

language(DML)‖ Me ane te ketyre urdherave na mundesohetqe ne kuader te te dhenave te krijuara mepare te bejme Venjen e vlerave te reja

,Fshirjen e tyre ,Ndryshimin etj.Na mundesohet edhe kerkimi i te dhenave dhe

plotesimi I kushteve te ndryshme qe arrihet

me ane te pyetsoreve.Dallojme dy tipe te―DML‖ urdherave ,ato procedurale dhe joprocedurale.Keto te parat kerkojne te dinese cfare te dhena duhen dhe si te merren ato

,ndersa te dytat kerkojn te dine se cfare tedhena te duhen pa e specifikue se si me I

Page 307: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 307/436

nbraha-bazat e te dhenave 307

dhena te duhen pa e specifikue se si me Imarre ato.

Disa te dhena te entiteteve

Ne vazhdim per ilustrim temanipulimit dhe punes me urdheratSQL marrim disa entitete dhe

atribute te tyre te dhena permestabelave te meposhtme .

Page 308: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 308/436

nbraha-bazat e te dhenave 308

Tabela ―account‖ 

Page 309: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 309/436

nbraha-bazat e te dhenave 309

Tabela ―deposite‖ 

Page 310: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 310/436

nbraha-bazat e te dhenave 310

Tabela ―loan‖ 

Page 311: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 311/436

nbraha-bazat e te dhenave 311

Tabela ―borrower‖ 

Page 312: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 312/436

nbraha-bazat e te dhenave 312

Tabela ―branch‖ 

Page 313: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 313/436

nbraha-bazat e te dhenave 313

Tabela ―payment‖ 

Page 314: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 314/436

nbraha-bazat e te dhenave 314

DML-SQL

Nje shembull se si te merren te dhenat ngabaza eshte ky qe rekordi ―customer-id‖kerkohet te jet ‖192-83-7465‖ 

select  customer.customer-name  

from  customer  where  customer.customer-id  = ‗192-83-

7465‘ 

Sqarimet ne lidhje me te dhenat e mesipermete cilat jane marre :

Me ane te urdherit ―select‖ behet zgjedhja e

te dhenave qe deshirojme me I pa me emer tefushes dhe tabeles,me urdherin ―from ‖

Page 315: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 315/436

nbraha-bazat e te dhenave 315

tregohet vendi se ku ato duhet te shihen(pratabela),me urdherin ―where ‖ ipet kushti qeato duhet te plotesojne. 

DML-SQLShembull tjeter i veprimeve me urdheratSQL eshte dhene si me poshte :Te gjindet ―account balances‖nga te gjithe― customer‖ me ―customer-id=192-83-7465‖ select  account.balance  

from  depositor , account  where  depositor.customer-id  = ‗192-83-7465‘and

depositor.account-number =account.account-numberUrdherat e ketij pyetsori jane te njejte meate te meparshmin ,dallimi qendron ne

faktin se ketu jane perdorur dy kushte tekerkimit te te dhenave dhe ate permes teoperatorit ―and‖(dhe ) I cili do te

Page 316: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 316/436

nbraha-bazat e te dhenave 316

operatorit and (dhe ) I cili do te permendet me vone .

Shfrytezuesit e bazave te

te dhenaveShfrytezuesit jane me menyra tendryshme te shikimit te te dhenave p.sh

Aplikuesit e programit – I shohin tedhenat permes urdherave DML

Shfrytezuesit e avancuare – punojne mepyetsore e keshtu me radhe ,varesishtnga niveli I njohurive kemi edhe menyra

te ndryshme te qasjes se te dhenave nenje baze te te dhenave

Page 317: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 317/436

nbraha-bazat e te dhenave 317

Elementet themelore ne SQLStruktura bazikeOperatoret e bashkesive

Funksionet AggregateVlerat zerroNenpyetsoret (nested subquerys)Relacionet e perfituaraShikimet (Views)Modifikimi I bazesRelacionet e lidhjes (Joined Relations)Data Definition LanguageEmbedded SQL ODBC and JDBC

Page 318: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 318/436

nbraha-bazat e te dhenave 318

Embedded SQL, ODBC and JDBC

Struktura bazeLe te marrim nje shembull te te

dhenave per nje baze relacionale meane te tabelave te meposhtme dheshqyrtojme lidhjen e te dhenave me

relacionet algjebrike (matematike).

Page 319: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 319/436

nbraha-bazat e te dhenave 319

Skema e marre ne shembull

Page 320: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 320/436

nbraha-bazat e te dhenave 320

Structura bazeSQL eshte e bazuare ne bashkesi dhe relac-ione operacionale me modifikime dhetrashegimeSkema e pergjithshme do te kishte nje

pamje te ketille sipas shembullit tedhene.Nje shembull I tille do te kishte keteforme:

select A 1, A 2, ..., A n  from r 

1, r 

2, ..., r 

m  

where P  A i  paraqesin atributet  r i  paraqesin relacionet

P   eshte predikateKy pyetsore eshte ekuivalent me kete shprehjerelacionale algjebrike.

Page 321: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 321/436

nbraha-bazat e te dhenave 321

A 1, A2, ..., An (P (r 1 x r 2 x ... x r m ))

Rezultati i nje pyetsori eshte nje relacione.

Urdheri ―select‖ Urdheri select paraqet atributet e nje (apo

disa ) entiteti ne kuader te nje pyetsoriP.sh te gjinden emrat e te gjitha fillialave(branches) ne tabelen huaja (loan)

select  branch-name  from loan

Kjo do te kishte nje paraqitje ne algjebrenrelacionale si vijon:

branch-name(loan)shenim: SQL nuk e dallon simbolin ‗-‘ nemes te karaktereve

p,.sh ne vend te branch_name  merret branch- name  Ne vijim do te marrim ‗-‘ . 

Page 322: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 322/436

nbraha-bazat e te dhenave 322

jShenim : ne SQL shenimi I komandave nuk

ka rrole nga forma e shenimit te shkronjavete vogla apo te medha por I te dhenave po.

Urdheri ―select‖ (vazh.) SQL lejon vlerat e shumefishta ne kuader te

nje pyetsori.Per te bere eliminimin e tille urdheri―select‖perdoret ne kombinim me urdherindistinct dhe ate pas urdherit select.

Te gjinden emrat ne te gjitha filliallat e huase(loan) dhe eliminoj te shumefishtat

select distinct branch-name  

from loanNdersa per shikim te te dhenave teteresishme pa perjashtim edhe atyre teshumefishta perdoret urdheri ―select‖ ne

kombinim me all .select all branch-namefrom loan

Page 323: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 323/436

nbraha-bazat e te dhenave 323

from loan

Urdheri ― select‖ (vazhd.) 

Zgjedhja e pernjehershme e te gjithaatributeve ne nje tabele behet meperdorim te urdherit select si ne vijim

select *from loanUrdheri select mund te permban nevete operator aritmetike, +, –, , dhe /.

P.sh nese merret pyetsori :select loan-number,branch-name,amount  100from loan

Ateher ky do te na jep rezultatin I cilieshte I njejte me ate te huase (loan )

Page 324: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 324/436

nbraha-bazat e te dhenave 324

eshte njejte me ate te huase (loan ) por te shumezuare me 100  

Urdheri ― where ― Urdheri where na specifikon kushtet te

cilat duhet ti plotesojne atributet eentiteteve te cilat shqyrtohen ne ate raste

Funksion ne lidhmeri me urdherin select.

P.sh me gjete te gjithe numrat e huase ngahuaja (loan) dhe filiala Perryridge me numerte huase me te madhe se sa $1200.select loan-number

from loanwhere branch- name = ‗ Perryridge‘ and amount > 1200Te dhenat ne kuader te nje pyetsori mund te

kerkohen edhe me ane te operatoreve logjikeand, or dhe not. Ne te dhena mund te aplikohen edhe

Page 325: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 325/436

nbraha-bazat e te dhenave 325

Ne te dhena mund te aplikohen edheoperatoret aritmetike.

Pershkrimi i rrolit te

pyetsorevePyetsoret formohen me ane te ketyrekritereve te pershkruara me poshte:

Emrin e tabeles (table)Radhitjen e informates (sortim)

Kushtezimin e marrjes ne konsiderim

te informatesKriterin e zgjedhjes sipas operatoritlogjike ,aritmetike,te bashkesive.

Edhe ndonje elemente tjeter shtese

Page 326: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 326/436

nbraha-bazat e te dhenave 326

Rolet e operatoreve ne

organizimin e pyetsoreveNe funksion te pyetsoreve dallojme disatipe te operatoreve te cilet perdorenper ndertim te pyetsoreve :1.Operatoret logjike :―and‖(operatori dhe),―or‖(ose),‖eqv‖(ekuivalent),‖imp‖(implikacion),‖xor‖(ekslusiv ose),‖not‖(jo). 

2.Operatoret artimetike:+(mbl.),-(zbr.),*(shum.),/(pjes.),\(pjes.iplote),^(fuqi),mod(modulo).3.Operatoret krahasues(racional):=(bara.)<(vog.),>(madh.),<>(!=)(ndrysh.),<=(!<)(vog.osebara.),>=(!>)(madhe ose baraz.).

Page 327: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 327/436

nbraha-bazat e te dhenave 327

.), ( )(m z.).

Operatoret

4.Operatoret tekstual(string):

&(operatori i bashkimit),‖like‖(operatori

sikurse),‖not like‖(operatori i ciliperjashton vlerat sikurse ato tezgjedhurat).

5.Operatoret e perzier jane: ―between‖(ndermjet),‖in‖(ne),‖is‖(nga). 

Ne vijim shohim format e paraqitjes se

operatoreve te tille veq e veq.

Page 328: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 328/436

nbraha-bazat e te dhenave 328

er or m opera orevelogjikePerdorimi i operatorit logjike ―and‖ nepyetsore (ne trajten konstruktive )

realizohet sipas funksionit te tij qeparaqitet me tabelen vijuese

p q pq

E vertet E vertet E vertet

E vertet E pavertet E pavertet

E pavertet E vertet E pavertetE pavertet E pavertet E pavertet

Page 329: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 329/436

nbraha-bazat e te dhenave 329

er or m operatorevelogjike(v-1)

Rroli i operatorit logjike ―or ‖realizohet sipas vetive te tij teparaqitur ne trajten e meposhtme

p q pq

T T T

T

  T

T T

Page 330: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 330/436

nbraha-bazat e te dhenave 330

  T T

Page 331: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 331/436

Forma paraqitese eoperatoreve logjikeOperatoret logjike ,perveq operatorit―not‖, jane operator binar(dyshe) ,ndersa―not‖ eshte unar(njesh). forma paraqitesee tyre eshte e njejte ,ndersa e operatorit―not‖ dallon.Kete do ta japim me posht. 

Operatori ―and‖-paraqitet si me poshte

[shprehja1] and [shprehja2]

Ngjashem paraqitet ―or‖. 

Operatori ―not‖ ka kete forme teparaqitjes :p.sh

Not [shprehja e dhene ]<188

Page 332: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 332/436

nbraha-bazat e te dhenave 332

Not [shprehja e dhene ] 188

Forma paraqitese eoperatoreve aritmetike

Operatori ―+‖ ka kete trajte

[shprehja1] + [shprehja2] 

Ne menyre analoge behet edheparaqitja e operatoreve te tjere p.sh

[shprehja1] - ([shprehja2] *[shprehja3])

Me cka se pari eshte kryer shumzimi i

shprehjes2 me ate 3 dhe me pas janezbritur nga shprehja1

Page 333: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 333/436

nbraha-bazat e te dhenave 333

Page 334: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 334/436

Vecorite e operatoreve (v-1)

Operatori <> ka funksionin ekerkimit te informates tendryshme nga ajo ne shqyrtim ,

―between‖ na mundeson kerkimine informatave ndermjet vleravete cekura ,‖like‖ na mundeson

kerkimin e informatave tengjashme me ate te shqyrtuar .

Page 335: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 335/436

nbraha-bazat e te dhenave 335

Forma paraqitese eoperatoreve krahasues

Operatori ―=‖ ka kete paraqitje temeposhtme:

[shprehja] =―dicka‖. Ngjashem paraqiten edhe operatoret e

tjere te krahasimit e nje shembull itille eshte edhe ky:

[shprehja1] !< ―e dhena‖. 

Page 336: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 336/436

nbraha-bazat e te dhenave 336

orma paraqitese eoperatoreve tekstual

Nje trajte e paraqitjes se operatorit ―&‖ dote ishte[emri] & [mbiemri] , si rezultat do te kishim :Emrimbiemri.Ndersa forme tjeter e ndarjes se te dhenaveeshte kur operatori perdoret ne kete menyre:[numri i shtepise] & ―‖ &[emri i rruges]

Nese numri do te ishte 6 dhe emri i rrugesA.Jashari ,ateher do te kishim rezultatin6 A.Jashari,d.m.th me zbraztesi ne mes te

tyre.Operatori ―like‖-perdoret ne formen emeposhtme

Page 337: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 337/436

nbraha-bazat e te dhenave 337

[shprehja] Like ―A[bc]‖ 

Operatori tjeter perdoret njejte.

Forma paraqitese eoperatoreve te perzier

Paraqitja e operatorit ―between‖ eshtesi me poshte

[shprehja] between A and BOperatori ―in‖ ka paraqitje temeposhtme

[shprehja] in (vlera1,vlera2)[shprehja] is Null

Page 338: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 338/436

nbraha-bazat e te dhenave 338

Perdorimi i ―wildcards‖-ve

Page 339: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 339/436

nbraha-bazat e te dhenave 339

Urdheri where (vazh.)

Ne vazhdim shohim nje shembull teperdorimit te operatorit te krahasimitbetween me urdherin ―where‖ P.sh te gjindet numri I huase nga

huaja me vlere ne mes te $90,000 dhe$100,000 (kjo eshte , $90,000 dhe$100,000)

 Nje gje e tille ipet permes pyetsorit temeposhtem

select loan-number  from loan where amount  between 90000 and 100000

Page 340: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 340/436

nbraha-bazat e te dhenave 340

Page 341: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 341/436

Riemrimi i operacionit

Permes urdherave te SQL lejohetriemrimi I relacioneve dhe atributevepermes urdherit as :

emri I vjeter as  emri I ri  Te gjindet emri ,numri I huase dhesasia e huase e te gjithe klienteve; te

riemrohet emri I kolones loan- number(numri I huase ) si loan-id. 

select customer-name, borrower.loan-number as 

loan-id, amountfrom borrower, loan where borrower.loan-number = loan.loan-number

Page 342: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 342/436

nbraha-bazat e te dhenave 342

Qiftet e variablave (nga ketupermireso)

Keto tipe te variablave jane tedefinuara ne urdherin from permeste urdherit as .Gjeni emrat e klienetve dhe numrat etyre te huase per te gjithe kliente qekane hua ne ndonje filialle. 

select distinct T.branch-namefrom branch as T, branch as S

h T S d S b h it „B kl ‟

  gjeni emrat e te gjitha filiallave te cilat kanegjendje(assets) me te mire se sa nje filialle ne

Brooklyn. 

select customer-name, T.loan-number, S.amountfrom borrower as T, loan as Swhere T.loan-number = S.loan-number  

Page 343: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 343/436

nbraha-bazat e te dhenave 343

where T.assets > S.assets and S.branch-city = „ Brooklyn‟  

Page 344: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 344/436

Radhitja e te dhenaveTe radhiten ne menyre alfabetike emrat eklienteve (me emra te ndryshem) qe kanehua ne filiallen Perryridgeselect distinct customer-name

from  borrower, loanwhere borrower.loan-number = loan.loan- number

andbranch-name = ‘Perryridge’ order by customer-name  Ne mund te specifikojme desc (z-a) per

radhe nga e madhja kah e vogla dhe measc  (a-z) per radhitje te kundert, persecilin atribute; radha asc eshte en nk pt

Page 345: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 345/436

nbraha-bazat e te dhenave 345

nenkuptuare.P.sh te radhiten emrat e klienteve me radhen desc 

Vlerat e shumefishtaNe raste te perseritjes se te dhenave ,

SQL mund te definon se sa kopje jane nrezultate.Format shumevepruese te operatorevealgjebrike – jane dhene relacionet qeveprojne ne shumebashkesi r 1 dhe r 2:1. (r 1 ):  nese jane c 1 kopje te qiftit t 1 ne

r 1, dhe t 1 e ploteson zgjedhjen  ,, ateher

 jane c 1 kopje nga t 1 ne   (r 1). 2. A (r) : per qdo kopje te qiftit t 1  ne r 1, ekziston

kopja e qiftit A (t 1)  ne A (r 1)  ateher A (t 1)  shenon projeksionin e qiftit te vetem t 1 .

3. r 1 x r 2 : nese jane c 1 kopje te qiftit t 1  ne r 1 dhe c 2 kopje te qiftit t 2 ne r 2, ateher jane c 1 x c 2 kopje te qiftit t 1. t 2 ne r 1 x r 2

Page 346: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 346/436

nbraha-bazat e te dhenave 346

2 pj q f 1 . 2 1 2

Vlerat e shumefishta (vazh.)

P.sh : Supozojme nje relacion ne mes tedy bashkesive r 1 (A, B ) dhe r 2 (C ) si meposhte :r 1 = {(1, a ) (2,a )} r 2 = {(2), (3), (3)}

Ateher B (r 1) do te jet {(a), (a)}, kuB (r 1) x r 2 do te jet{(a ,2), (a ,2), (a ,3), (a ,3), (a ,3), (a ,3)}

SQL semantika per vlera teshumefishta eshte :select A 1,, A 2, ..., A n  from r 

1, r 

2, ..., r 

m  

where Pekuivalente me kete shprehjerelacionale algjebrike :

Page 347: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 347/436

nbraha-bazat e te dhenave 347

relac onale algjebr ke

 A 1,, A 2, ..., An (  P  (r 1 x r 2  x ... x rm )) 

Operatoret e bashkesiveOperacionet e bashkesive union, intersectdhe except operojne ne relacione dhe I

pergjigjen operacioneve algjebrike si  Secili nga operatoret e mesipermautomatikisht eliminon vlerat eshumefishta; per shikim te te gjitha tedhenave edhe qe perseriten perdorenoperatoret union all, intersect all dheexcept all.Supposojme se nje qifte perseritet m  herene r  dhe n here ne s, ateher , do te kishim :

m + n here ne r union all smin(m,n)   here ne r  intersect all s

max(0, m – n) here ne r except all s

Page 348: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 348/436

nbraha-bazat e te dhenave 348

max(0, m   n)  here ne r  except all s  

Operatoret e bashkesive

(vazh.)Gjeni te gjithe klientet te cilet kanehua ,nje llogari apo edhe qe te dyja :

(select customer-name from depositor )except(select t from

(select customer-name from depositor )intersect(select customer-name from borrower) 

  gjeni te gjithe klientet qe kane llogari por jo edhe hua 

(select customer-name from depositor )union(select customer-name from borrower) 

  gjeni te gjithe klientet te cilet kane edhe hua dhe llogari

Page 349: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 349/436

nbraha-bazat e te dhenave 349

(select customer-name from 

borrower) 

Funksionet AgregateKeto funksione veprojne ne kuader te

nje bashkesie te vlerave ne kuader tenje kolone dhe japim nje vlere tecaktuare

avg: vleren mesataremin: vleren minimalemax: vleren maximale

sum: shumen e vleravecount: numrin e vlerave

Page 350: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 350/436

nbraha-bazat e te dhenave 350

Funksionet Agregate(vazh.)Te gjindet mesatarja e ballances sellogarive ne filiallen Perryridge .

  gjeni numrin e depozitoreve me emra te ndryshem ne banke

  gjeni numrin e qifteve ne relacionin e klienteve 

select avg (balance) from account

where branch-name = „Perryridge‟ 

select count (*)

from customer  

select count (distinct customer-name)

from depositor

Page 351: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 351/436

nbraha-bazat e te dhenave 351

Funksionet Agregate– Group By

Gjeni numrin e depozitoreve persecilen filialle.

shenim: Attributet ne urdherin select jashte

funksioneve agregate

duhet te hyne ne urdherin group by 

Select branch-name, count (distinct customer-name)from depositor, accountwhere depositor.account-number = account.account-

number

group by branch-name 

Page 352: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 352/436

nbraha-bazat e te dhenave 352

Funksionet Agregate – Having

ClauseGjeni emrat e te gjitha filiallave nete cilat e mesmja e llogarise se

ballancuare eshte me shume se$1,200.

shenim: predikatet ne urdherin having  jane aplikuar pase formimitte grupit perderisa predikatet ne urdherin where  jane aplikuare paraformimit te grupit 

select branch-name, avg (balance)from account

group by branch-namehaving avg (balance) > 1200 

Page 353: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 353/436

nbraha-bazat e te dhenave 353

Vlerat zerroKa mundesi qe nje atribute ne nje qifterelacionale te mos kete vlere ,kjo njihet si

vlere zerronull  –shpreh nje vlere te panjohur apo edhevleren e cila nuk ekziston.

P.sh gjeni te gjithe numrat e huase te cilet

 jane ne relacionin e huase me vlere zerro perllogari. select loan-numberfrom loanwhere amount is null 

Secili rezultat I ndonje veprimi aritmetikeme zerron na kthen vleren zerroP.sh 5 + null kthene null

Funksionet agregate e injorojne vlerenzerro

Page 354: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 354/436

nbraha-bazat e te dhenave 354

erat zerro s pre jet ogj eme te

Cdo krahasim me zerro eshte vlere epanjohurP.sh 5 < null ose null <> null ose null = nullTri vlerat logjike me zerro :

OR: (e panjohur or e vertet ) = e vertete , (epanjohur or e pavertete ) = e panjohur

(e panjohur or e panjohur ) = e panjohurAND: (e vertete and e panjohur ) =e panjohur ,

(e pavertete and e panjohur ) = e pavertete ,( e panjohur and e panjohur ) = e panjohurNOT : ( not e panjohur ) = e njohur―P  eshte e panjohur ” eshte e vertete nese

prediakati P eshte I panjohurRezultati I  urdherit where ne predikateeshte I pavertete nese njihet si I panjohur 

Page 355: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 355/436

nbraha-bazat e te dhenave 355

Vlerat zerro dhe funksionet

agregateNjehso gjithe sasine e huase

select sum (amount)

from loan  Urdherat e mesiperm I injorojne llogaritezerroRezultati eshte zerro nese nuk ka llogari te

ndryshem nga zerro,kjo d.m.thTe gjitha funksionet agregate perveqcount(*) I injorojne qiftete me vlere

zerro ne atributet ne funksioninagregate.

Page 356: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 356/436

nbraha-bazat e te dhenave 356

Nested SubqueriesNje nenpyetsore eshte I marreme urdherat select-from-where 

si shprehje e permbajtur ne njepyetsore tjeter.Nje pune me e shpeshte e

nenpyetsorit eshte teperformoje testimin e bashkesisese antareve ,bashkesise sekrahasimeve dhe numrit kardinal

te tyre.

Page 357: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 357/436

nbraha-bazat e te dhenave 357

Shembulli I pyetsoritGjeni te gjithe klientet qe kanellogari dhe hua ne banke.

  gjeni te gjithe klientet qe kane hua ne banke por nuk kane llogarine te 

select distinct customer-name

from borrowerwhere customer-name not in (select customer-name

from depositor) 

select distinct customer-namefrom borrowerwhere customer-name in (select customer-name

from 

depositor) 

Page 358: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 358/436

nbraha-bazat e te dhenave 358

Shembull pyetsoriGjeni te gjithe klientet te cilet kanellogari dhe hua ne filiallen Perryridge

  Note:ky pyetsore mund te rishkruhet edhe ne nje forme me te thjeshte.

select distinct customer-namefrom borrower, loanwhere borrower.loan-number = loan.loan-number and

branch-name = “Perryridge” and

(branch-name, customer-name) in

(select branch-name, customer-namefrom depositor, accountwhere depositor.account-number =

account.account-number) 

Page 359: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 359/436

nbraha-bazat e te dhenave 359

Krahasimet e bashkesive

Gjeni te gjitha filiallat te cilat kanete ardhura(gjendje (assest)) me temire se sa nje filialle ne Brooklyn.

 I njejti pyetsore kur merret urdheri some 

select branch-namefrom branchwhere assets > some

(select assetsfrom branchwhere branch-city = ‘Brooklyn’) 

select distinct T.branch-name

from branch as T, branch as Swhere T.assets > S.assets and

S.branch-city = ‘Brooklyn’ 

Page 360: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 360/436

nbraha-bazat e te dhenave 360

Perkufizimi I shprehjeveFormula F <e ploteson nje kusht te dhene

> per ndonje (some )r t  r   e tille qe( F < e ploteson nje kushte te dhene > perate t ) ku shprehja <e ploteson nje kushte tedhene > eshte njera nga :  

0

5

6

(5< per

ndonje) =vertete 0

5

0

) = e pavertete

5

0

5

(5  perndonje

) =e vertete (pasi 0  

5) 

(5< perndonje

) =e vertete(5 =perndonje

(= per ndonje )  neDhe , ( per ndonje )  nuk eshte ne te

Page 361: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 361/436

nbraha-bazat e te dhenave 361

Definimi i urdheraveFormula F <e ploteson kushtin >all r t  r   (F <e plotesonkushtin> t)  

0

5

6

(5< per te gjitha  ) =e pavertete

6

10

4

) =e vertete

5

4

6(5  per te gjitja ) = e vertete (pa rastet 5  4 dh e 5  6) 

(5< per te gjitha 

(5 = per te gjitha

( te gjitha )  nuk eshte ne

) =e pavertete

Page 362: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 362/436

nbraha-bazat e te dhenave 362(= te gjitha )  ne

shembull i dhene

Gjeni emrat e te gjitha filiallave tecila kane gjendje (asset) me te mirese sa tere ato ne Brooklyn.

select branch-name

from branchwhere assets > all

(select assetsfrom branch

where branch-city = „Brooklyn‟) 

Page 363: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 363/436

nbraha-bazat e te dhenave 363

Verifikimi I relacioneve te

zbrazeta

Kushti exists na kthene vleren esakte nese argumenti Inenepyetsorit eshte jo I

zbrazet.exists r r  Ø  

not exists r r = Ø

Page 364: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 364/436

nbraha-bazat e te dhenave 364

ShembullGjeni te gjithe klientet te cilet

kane llogari ne te gjitha filiallatqe gjenden ne Brooklyn.select distinct S.customer-namefrom depositor  as S

where not exists ((select branch-namefrom branchwhere branch-city = „Brooklyn‟) 

except(select R.branch-namefrom depositor as T, account as Rwhere T.account-number = R.account-number and

S.customer-name = T.customer-name))  

  shenojme se  X – Y = Ø    X   Y

 

Page 365: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 365/436

nbraha-bazat e te dhenave 365

Testimi i vlerave te shumefishtaKjo arrrihet permeste kushtit unique I

cili kthene vleren e sakte kur nuk kemivlera te shumefishta ,p.sh te gjendente gjithe klientet te cilet kane vetemnje llogari ne filiallen perryridge.

select T.customer-namefrom depositor as Twhere unique ( 

select R.customer-namefrom account, depositor as Rwhere T.customer-name =

R.customer-name and R.account- number = account.account-number andaccount.branch- name = ‗ Perryridge‘) 

Page 366: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 366/436

nbraha-bazat e te dhenave 366

Shembull I nenpyetsoritNe kuader te nje nenpyetsori

kerkimi I vlerave te shumfishtabehet me ane te kushtit not uniquep.sh gjeni te gjithe klienete te ciletkane se paku dy llogari ne filiallenPerryridge.

select distinct T.customer-namefrom depositor T

where not unique (select R.customer-namefrom account, depositor as Rwhere T.customer-name = R.customer-name

and

R.account-number = account.account-numberand

account.branch-name = ‘Perryridge’) 

Page 367: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 367/436

nbraha-bazat e te dhenave 367

Views(shikimet )Shikimet na sherbejne per shikim

te te dhenave por jo edhe permodifikim te tyre sikurse nenivelin logjike te tyre ,per krijimte tyre perdoret urdheri :

Veqori themelore e tyre eshte se

behet ruajtja e pyetsoreve tecaktuare ne kuader te asaj bazete te dhenave

create view emri I shikimit as <shprehja e pyetsorit > 

Page 368: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 368/436

nbraha-bazat e te dhenave 368

Shembull

Te krijohet nje shikim I cili ka nevete filiallat dhe kliente

  gjeni te gjithe klientet nga filialla Perryridge 

create view all-customer as

(select branch-name, customer-namefrom depositor, accountwhere depositor.account-number = account.account-

number)union

(select branch-name, customer-namefrom borrower, loanwhere borrower.loan-number = loan.loan-number) 

select customer-namefrom all-customerwhere branch-name = „Perryridge‟ 

Page 369: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 369/436

nbraha-bazat e te dhenave 369

Relacionet e perftuaraSQL lejon perdorim te shprehjeve ne

nenpyetsore dhe kjo behet te urdheri wheremirepo rezultati i fituare duhet teriemrohet p.sh te gjindet mesatarja ellogarive ne balance te atyre filiallave me

mesatare te tille me te madhe se sa $1200.select branch-name, avg-balancefrom (select branch-name, avg

(balance) from accountgroup by branch-name)as result (branch-name, avg- 

balance)where avg-balance > 1200

Page 370: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 370/436

nbraha-bazat e te dhenave 370

Urdheri me (with)Urdheri me(with ) ju lejonshikimeve(views) te definohen lokalishtne nje pyetsore e jo ne forme globale.

Gjeni te gjitha llogarite me balancemaksimale 

with max-balance (value ) as 

select max (balance )from account  select account-numberfrom account, max-balance

where account.balance = max- balance.value

Page 371: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 371/436

nbraha-bazat e te dhenave 371

Shembull i nje pyetsori me te

nderlikuareGjeni te gjitha filiallat ku llogariatotale e depositit eshte me e madhese sa mesatarja e llgarise deponuese

ne te gjitha filiallat with branch-total  (branch-name, value) as 

select branch-name, sum (balance)from account  group by branch-name with branch-total -avg(value) as select avg (value)from branch-total  

select branch-name from branch-total , branch-total-avgwhere branch-total.value >= branch-total-avg.value 

Page 372: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 372/436

nbraha-bazat e te dhenave 372

o i i imi i azes se tedhenave

Me urdherin Delete mundesohet fshirja e tedhenave te nje rekordi por jo edhe te tabelesp.sh te fshihen te dhenat e huase ngaperryridge :delete from accountwhere branch-name = ‘Perryridge’

 Te fshihen te gjithe klientet ne secilen filiallene Needham city.delete from accountwhere branch-name in (select branch-namefrom branchhere branch-city = ‘Needham’)delete from depositor

where account-number in(select account-numberfrom branch, accountwhere branch-city = ‘Needham’ and branch.branch-name =

h )

Page 373: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 373/436

nbraha-bazat e te dhenave 373account.branch-name)

ShembullTe fshihen te gjitha rekordet ne tegjitha llogarite me ballanca me te

vogel se sa mesatarja

delete from accountwhere balance < (select avg (balance)

from account) 

Page 374: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 374/436

nbraha-bazat e te dhenave 374

Modifikimi I bazes – Insertimi(vendosja e te dhenave )

Te shtohet nje cifte ne accountinsert into accountvalues (‗A-9732‘, ‗Perryridge‘,1200) 

ose ne forme ekuivalenteinsert into account (branch-name,balance, account-number)values (‗Perryridge‘, 1200, ‗A-9732‘) 

Te shtohet nje cifte I te dhenave ne

account me balance zerroinsert into accountvalues (‗A-777‘,‗Perryridge‘, null )

Page 375: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 375/436

nbraha-bazat e te dhenave 375

o m azes se edhenave Insertimi

Nese I japim te gjithe klienteve sidhurate nga 200 $ ne filiallenPerryridge . Nese numri I huase merretsikurse numer I llogarise per llogarinereinsert into account

select loan-number, branch-name, 200from loanwhere branch-name = ‗Perryridge‘ 

insert into depositorselect customer-name, loan- 

numberfrom loan, borrowerwhere branch-name = ‗ Perryridge‘ 

and loan.account-number= borrower.account-number

Page 376: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 376/436

nbraha-bazat e te dhenave 376

Modifikimi I bazes - UpdateMe kete urdher mundesohet

ndryshimi I vlerave ne nje kolone tetere .p.sh te rriten vlerat e tegjitha llogarive me balance me te

madhe se sa $10,000 me 6%, tegjitha llogarite tjera me 5%.update accountset balance = balance  1.06

where balance > 10000update accountset balance = balance  1.05

where balance  10000

Kjo u mundesua me dy update ne radhensi me larte mund te behet edhe meurdherin case si me poshte

Page 377: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 377/436

nbraha-bazat e te dhenave 377

Page 378: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 378/436

Urdheri Update ne shikimeTe krijohet nje view per te gjitha huate ne

relacionin e huase , duke mshefur atributine llogarise create view branch-loanas

select branch-name, loan- numberfrom loan

Shtoje nje rekord ne branch-loaninsert into branch-loan  values (‗Perryridge‘, ‗L-307‘) 

ky shtim duhet te paraqitet me shtim teciftit(‗L-307‘, ‗Perryridge‘, null )ne relacionin e huase

Urdheri Updates ne shume shikime komplekseeshte I veshtire dhe I pamundur tepershtatet dhe per kete nuk lejohet.

Page 379: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 379/436

nbraha-bazat e te dhenave 379

TransactionsTransakcioni eshte nje varge I pyetsoreve dheurdherave update te ekzekutuara si nje teresi

Transakcionet fillojne ne menyre te shprehurdhe t epercaktuara me njeren nga paraqitjetcommit work: ku kryen te gjitha update ne atetransakcione te asaj baze

rollback work: I cbene te gjitha update tekryera me ate transakcion

Shembull:Bartja e parave nga nje llogari netjetren behet ne dy hapa:merr nga nje llogari

dhe I ven ne tjetrenNese njeri hape kryhet por tjetri jo ateherbaza eshte ne nje gjendje jo te pershtatshmePer kete duhet te plortesohen qe te dy ketokushte ose asnjeriNese nje hape ne nje transakcion deshtonateher ata kthehen me rollback work.Rollback I nje transakcioni jo te suksesshemb h t t m tikisht n stin p ishj s s

Page 380: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 380/436

nbraha-bazat e te dhenave 380behet automatikisht, ne rastin e prishjes se

b h b dh 381

Transakcioni (vazh.)

Ne shume sisteme te baza te te dhenave,nje urdheri I SQL ekzekutohetsuksesshem ne menyre automatike

Secili transakcion do te perbehetnga njeurdher i vetem

Veprimi automatike zakonisht lihet anashduke lejuare veprimin e transakcioneve tetjera ne ate baze dhe kjo mvaret se cilido te veproje ne ate sistem

Opcion tjeter ne SQL 1999: e permbyll

urdherin me begin atomic…

end

Page 381: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 381/436

nbraha-bazat e te dhenave 381

b h b t t dh 382

Relacionet e lidhjesRelacionet e lidhjes marrim dy relacione

dhe si rezulta na kthejne nje relaciontjeter.Keto operacione merren si nenpyetsore nekuader te urdherit from

Kushtet e lidhjes – duhet te percaktohencilat cifte hyne ne lidhje dhe cfarerezultati dote fitohet.

Tipet e lidhjes – duhet percaktuare ciftette cilat I pergjigjen apo jo cifteve tjerane ate lidhje varesisht nga zgjedhja e tipitte lidhjes.

Tipet e lidhjes

Lidhja e brendshmeLidhja e majte e jashtmeLidhja e djathte e jashtme

Lidhja totale

Kushtet e lidhjes

Natyralene <predicate>Duke marre ( A1, A2, ..., An)

Page 382: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 382/436

nbraha-bazat e te dhenave 382Lidhja totale

nb h b t t dh n 383

Relacionet e lidhjes – shembull

Relacioni loan  

Relacioni borrower

customer-name loan-number

Jones

Smith

Hayes

L-170

L-230

L-155 

amount

3000

4000

1700

branch-name

Downtown

Redwood

Perryridge

loan-number

L-170

L-230

L-260

Page 383: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 383/436

nbraha-bazat e te dhenave 383

nbraha bazat e te dhenave 384

shembull i lidhjes se brendshmdhe te jashtme te majte

loan inner join borrower onloan.loan-number =borrower.loan-number

loan left outer join borrower on loan.loan-number = borrower.loan-number

branch-name amount

Downtown

Redwood

3000

4000

customer-name loan-number

Jones

Smith

L-170

L-230

loan-number

L-170

L-230

branch-name amount

Downtown

Redwood

Perryridge

3000

4000

1700

customer-name loan-number

Jones

Smith

null  

L-170

L-230

null  

loan-number

L-170

L-230

L-260 

Page 384: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 384/436

nbraha-bazat e te dhenave 384

nbraha bazat e te dhenave 385

Pershkrimi i lidhjes inner

Nga shembulli i mesipermloan inner join borrower onloan.loan-number = borrower.loan-number

shihet se jane marre te gjitha fushat eanes se majte dhe ato te djathte perte cilat ekzistojne fushat koresponduesete atributeve dhe nuk jane zerrofusha, ne te dy tabelat e dhena ,meinicim nga tabela e majte dhe fushatlidhese te marra ne ate lidhje paraqiten

dy here ne dalje

Page 385: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 385/436

nbraha-bazat e te dhenave 385

nbraha-bazat e te dhenave 386

Pershkrimi i lidhjes outer left

Ne shembullin e marre me larte loan left outer join borrower on 

loan.loan-number = borrower.loan- 

numberShihet se kjo lidhje realizohet meane te marrjes se te dhenave nga

ana e majte dhe elementetkoresponduese te asaj te djathteedhe ne rastin kur nuk kemi vlera teatributit ne te djathte(d.m.th kurkemi vlera zerro) dhe gjateparaqitjes behet edhe paraqitja evlerave(fushave ) te lidhjes dhe ate

dy here

Page 386: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 386/436

nbraha bazat e te dhenave 386dy here

nbraha-bazat e te dhenave 387

Pershkrimi i lidhjes outer te

djathte

Kjo eshte e ngjashme me ate terealizimit te majte vetem tanene shikim merret tabela e pare sitabele e djathte dhe vleratlidhese te atyre tabelave merrenedhe per atributet te cilat kanevlerat zerro.

Page 387: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 387/436

nbraha bazat e te dhenave 387

nbraha-bazat e te dhenave 388

Shembull I lidhjesloan natural inner join borrower

loan natural right outer join borrower  

branch-name amount

Downtown

Redwood

3000

4000

customer-name

Jones

Smith

loan-number

L-170

L-230

branch-name amount

Downtown

Redwood

null

3000

4000

null

customer-name

Jones

Smith

Hayes

loan-number

L-170

L-230

L-155 

Page 388: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 388/436

nbraha bazat e te dhenave 388

nbraha-bazat e te dhenave 389

Pershkrimi i lidhjes natural

Lidhja natural eshte nje lidhje etipit te njejte sikurse innerperveq te dallimit se gjate asajlidhje fushat lidhese ne mes tedy tabelave nuk na paraqiten dyhere ne dalje te te dhenave qeshihet edhe nga shembulli I marreme larte

Page 389: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 389/436

nbraha-bazat e te dhenave 390

Pershkrimi i lidhjes naturale

,outerEdhe ketu vlene te ceket se lidhjabehet njesoj si te cilado lidhej e

 jashtme per dallim se ketu fushatlidhese te tabelave te cilat naparaqiteshin dy here me heret tani

na paraqiten vetem nje here dhe etere paraqitja tjeter eshte e njejte,e ate te marre te lidhjes se

 jashtme

Page 390: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 390/436

nbraha-bazat e te dhenave 391

Shembull I lidhjesloan full outer join borrower

using (loan-number)

Gjeni te gjithe klientet kane nje llogari apo hua (por jo qe te dyja ) ne banke. 

branch-name amount

Downtown

Redwood

Perryridge

null

3000

4000

1700

null

customer-name

Jones

Smith

null  

Hayes 

loan-number

L-170

L-230

L-260

L-155 

select customer-name 

from (depositor natural full outer join borrower ) where account-number  is null  or loan-number  is null

Page 391: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 391/436

nbraha-bazat e te dhenave 392

Pershkrimi i lidhjes full

Kjo realizohet me marrje te tegjitha fushave nga te dy tabelatduke perfshire fushat me atributezerro dhe ato pa atribute zerrosi dhe paraqitjen e te dhenave nedalje vetem nje paraqitje tefushes lidhese te tyre

Page 392: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 392/436

nbraha-bazat e te dhenave 393

Data Definition Language

(DDL)Skema e cdo relacioniDomena e vlerave te shoqeruara per

secilin atribute.Integrity I kushteveBashkesia e indekseve te ruhet per

secilin relacion.Sigurimi dhe autorizimi per secilinrelacion.Struktura fizike e te dhenave persecilin relacion ne disk.

Page 393: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 393/436

nbraha-bazat e te dhenave 394

Tipet e te dhenave ne SQLchar(n).  Per karakter me gjatesi n. varchar(n). Variable e karaktereve megjatesi n.int. Integer (numer I plote ).smallint.  Integer I vogel.

numeric(p,d). Numer me decimale me  p  shifra nga n te tere ne te djathet te pikes .real, double precision.  Floating point dhedouble.

float(n).  Floating point number,me gjatesin  shifrash .Null lejohet ne tere tipet e te dhenave .Deklarimi I atributi not null ndalon qe ajo

vlere te jet null per ate attribute.create domain kushti I tille ne SQL-92krijon per shfrytezuesin tipin e te dhenave

create domain  person-name char(20) not null

Page 394: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 394/436

nbraha-bazat e te dhenave 395

Date/Time tipet ne SQL (vazh.)date.  Datat me (4 shenja ) te vitit , muajindhe daten p.sh date ‗2001-7-27‘ time.kohen e dites , ne ore, minuta dheseconda.p.sh. time ‘09:00:30‘ time ‘09:00:30.75‘ timestamp: date plus koha e dites

p.sh. timestamp  ‗2001-7-27 09:00:30.75‘ Interval: periode te kohes

p.sh. Intervali ‗1‘ dite

Ndarja e vleres se date/time/timestamp na jepnje intervalVlerat e intervalev mund te shtohen ne vlerat edate/time/timestamp

Mund te extraktohen vlerat e fushaveindividuale nga date/time/timestamp

p.sh. extract (year from r.starttime)

Gjithashtu mund edhe te largohen vlerat nga

tipet e te dhenave date/time/timestamp.sh. cast  <strin -valued-ex ression> as date

Page 395: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 395/436

p p

nbraha-bazat e te dhenave 396

Krijimi I TabelaveNje relacion I realizohet me komandencreate table:create table r (A 1 D 1, A 2 D 2, ..., A n  D n ,integrity-constraint1),

...,(integrity-constraintk))

r  eshte emri I relacionit

Secila A i  eshte nje emer I atributit ngarelacioni r

D i  eshte tipi I te dhenave per atributet A i  

P.sh :create table branch  (branch-name char(15) not null,branch-city   char(30),assets integer)

Page 396: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 396/436

nbraha-bazat e te dhenave 397

Integriteti i kushteve ne

Create Tablenot nullprimary key (A 1, ..., A n )check (P), ku P  eshtepredicate

p.sh : te deklarohet branch-name si primary key perbranch dhe siguro qe vlerat e assets te jene j o-negative. 

create table branch(branch-name char(15),branch-city char(30)assets integer,primary key (branch-name),

check (assets >= 0))

primary key ne nje deklarim automatikisht nenkuptohet jo zerro vlere

Page 397: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 397/436

nbraha-bazat e te dhenave 398

Urdherat Drop dhe Alter TableUrdheri drop table fshine nje tabele ne

teresi kjo d.m.th edhe gjithe relacionet mete .Urdheri alter table mundeson shtimin eatributeve ne kuader te nje relacioni

ekzistues .alter table r add A D

ku A  eshte emri I attribute qe shtohet ne

relacionin r dhe D  eshte domena e A. krejt ciftet ne relacion merren si null  pervlerat e atributeve te reja .

alter table mund te meret edhe per fshirjete attributeve ne nje relacionalter table r  drop A  

ku A  eshte emri i attributit ne relacionin r

Page 398: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 398/436

nbraha-bazat e te dhenave 399

Baza te tjera relacionale

QBE(query by example-access)Nje baze relacionale e cila do teshqyrtohet eshte edhe MSAccess.

Ne vazhdimesi do te dallojmeelementet themelore ne lidhje mepershkrimin e te dhenave permestrajtes QBE .Kjo realizohet nepanelin ―disajn‖ te pyetsoreve tepershkruare si me poshte .Kjo narealizohet permes disa tipeve te

pyetsoreve .

Page 399: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 399/436nbraha-bazat e te dhenave 400

Pyetsoret e trajtes ―crosstab

query wizard‖ Ndertimi i ketyre pyetsoreve

realizohet me zgjedhjen e opcionit―crosstab query wizard‖ ,edhe ketasherbejne per veqim te te dhenave ,ene radhe te pare per krahasim te te

dhenave ,por vetem per ato te njetabele.Per ndertim te tyre duhet tezgjedhim te dhenat te cilatdeshirojme ti kemi ne forme shtylle ,ato qe deshirojme ti kemi ne formerreshti dhe ato te shumueshme

Page 400: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 400/436nbraha-bazat e te dhenave 401

Pyetsoret e tipit ―Find

duplicates query wizard‖ 

Keta formohen me ane tezgjedhjes se opcionit ―findduplicates query wizard‖ dhe nasherbejne per gjetjen e tedhenave te njejta (te shumfishta)te nje tabele apo edhe te njepyetsori .

Page 401: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 401/436

Page 402: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 402/436nbraha-bazat e te dhenave 403

Njehsimet me ane tepyetsoreve

Dallojme njehsimet sipas te dhenavehorizontale dhe te dhenave vertikale .Realizimi i njehsimit te te dhenave netrajten horizontale(nese te dhenat janeper njehsim ) arrihet ne trajten―disajn‖(konstruktive) te pyetsorit dhe ateduke marre operatoret aritmetike (ne atemenyre qe ne mes te fushave te zgjedhuradhe operatorit te kemi se paku nga njezbraztesi) ne mes te dhenave te dyfushave te ndryshme(apo edhe me shume )

, te njehsuara ne nje fushe te trete dhene opcionin ―Field ‖ te formes ―disajn‖ tepyetsorit ku me pas shtypet ―enter‖ me ckaemerohet fusha e re me ―exp1‖e cila me

vone mund te riemrohet.

Page 403: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 403/436

nbraha-bazat e te dhenave 404

Paraqitja e hapesires

njehsuese

Page 404: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 404/436

nbraha-bazat e te dhenave 405

Njehsimet me ane te

pyetsoreve(v-1)Njehsimi ne forme vertikale te

dhenave (per ato te dhena per tecilat lejohet njehsimi ) te tabeles,realizohet me ane te pyetsoreve tetrajtes ―simple query wizard‖dhepermes tipit ―disajn‖ Ne tipin ―simple query wizard‖ tedhenat e tabeles njehsohen sipas

ketyre mundesive1. Shuma e teresishme e tedhenave(sum)

Page 405: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 405/436

nbraha-bazat e te dhenave 406

Njehsimet me ane te

pyetsoreve (v-2)

2.Njehsimi i vleres mesatare tetyre (avg)3. Njehsimi i vleres minimale tedhenave te asaj kolone (min)

4. Njehsimi i vleres me te madhete te dhenave te asaj kolone

(max)

Page 406: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 406/436

nbraha-bazat e te dhenave 407

Njehsimet me ane te

pyetsoreve(v-3)

Njehsimet sipas kolonave mundte behen edhe ne paraqitjen―disajn‖ te pyetsorit dhe ajoparaqitje per dallim nganjehsimi ne tipin ―simple querywizard ‖ na lejon nje mundesi mete madhe te njehsimeve neelementet e shtylles dhe atesipas ketyre operacioneve :

Page 407: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 407/436

nbraha-bazat e te dhenave 408

Njehsimet me ane te

pyetsoreve(v-4)Group by(ne grupe)

Sum(shumen e te dhenave )Avg(vleren mesatare)Min(vleren minimale)

Max(vleren maksimale)Count(numeron te dhenat pa fushat ezbrazeta)

Stdev(derivimi standard)Var(menyrat e paraqitjes se tedhenes)

Page 408: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 408/436

nbraha-bazat e te dhenave 409

Njehsimet me ane te

pyetsoreve (v-5)

First(vlera e te dhenes se pare neradhe)Last(vlera e te dhenes se funditne radhe)

Expression(sherben per ndertimte fushes per njehsim)

Where(jepet kriteri per tedhenat e shqyrtuara)

Page 409: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 409/436

nbraha-bazat e te dhenave 410

Dallimet ne mes te

llogaritjeve ne pyetsoreDallimet themelore ne mes menyrave

te llogaritjeve ne pyetsore per ngamenyra e njehsimit te te dhenavesipas shtyllave dhe rreshtave

qendrojn ne faktin se njehsimet e tedhenave sipas shtyllave jane tekufizuara dhe ate vetem ne katerllojet e permendura te njehsimeve(sum,avg,min dhe max) per tipin epyetsorit ―simple query wizard‖ 

Page 410: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 410/436

nbraha-bazat e te dhenave 411

Dallimet ne mes tellogaritjeve ne pyetsore(v-1)

Ndersa ne formen ―disajn ‖ mezgjedhje te opcionit ―total‖ ne menyne

―insert‖ shtohen mundesit e njehsimevete cekura me pareNjehsimet e te dhenave sipasrreshtave behen pa kufizime te tilla

dhe realizohen per gjitha mundesit tecilat na lejojne operatoret aritmetikete theksuare, d.m.th se njehsimetsipas rreshtave jane njehsime me te―mira‖ te te dhenave se sa ato sipasshtyllave

Llogaritjet me me shume

Page 411: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 411/436

nbraha-bazat e te dhenave 412

Llogaritjet me me shumefunksione

Keto llogaritje realizohen me ane te―expresion builder‖-it dhe kjo arrihetkur ne fushen e caktuar te formeskonstruktive te pyetsorit zgjedhim metastin e djathet te miut opcionin―built‖.Ne kete rast kemi mundesi temanipulimit me ane te

funksioneve,konstanteve,operatoreve(logjike,aritmetike,krahasues) si dhe teshprehjeve te paraqitura.Aktivizimi i―expresion builder‖-it realizohet per

tipet e te dhenat qe jane per njehsim netrajten ―disajn‖ te pyetsorit dhe ka njeparaqitje te meposhtme:

Page 412: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 412/436

nbraha-bazat e te dhenave 413

―Expresion builder‖-i

Page 413: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 413/436

nbraha-bazat e te dhenave 414

FunksionetPerveq operatoreve perdorim kane edhefunksionet ,access-i ofron nje morifunksionesh qe ne vijim do ti peshkojmesipas kategorive si vijon:

Conversion(per ndryshim te formes sedates,e ne te hyjne Str(kthen numrin sistring),Val(e kthen vetem vleren numerikenga nje string p.sh nga [shprehja 1 ] kthen

1),Format(pershtat menyren e paraqitjesp.sh nga 02\03\2002 ne 2-3-2002))Date/time(punon me kohedhe date,ka ketofunksione:now,time,date,datediff)Financial (SQL)(ofron vleren mesatare dheshumen e shprehjeve ne grupe)

F k i t ( 1)

Page 414: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 414/436

nbraha-bazat e te dhenave 415

Funksionet (v-1)Financial (monetary)(ofron funksionet:NPV(serine e pageses dhesasine),DDB(cmiminfillestar,cmimin,koheqendrushmerin))

Mathematical (int(pjesa e plote e numritreale),fix(pjesa e plote e numritnegative ),sqr(rrenjezimi))

String manipulation(right(kthen numrin eparacaktuar te karaktereve ne tedjathte),len(gjatesin e stringut

),lcase(kthen shprehjen ne shkronja tevogla)) etj.

Sh hj t ( i )

Page 415: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 415/436

nbraha-bazat e te dhenave 416

Shprehjet (expression)

Pjeset e nje shprehje jane :operatoret(+,-,etj),emrat eobjekteve([adresa]),funksionet(Date(),etj),literal

values(ehene,1600,etj),constans(yes,no,etj).Nje shembull i ndertimit te nje shprehjeeshte dhene me poshte:

[data e fillimit te punes]=Date(02.03.2002)+27Shprehja e pare eshte nje rekord,e dytaeshte nje operator(=),tjetra nje

funksion(Date()),tjetra nje operator(+) dhee fundit nje ―literal‖. 

Page 416: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 416/436

nbraha-bazat e te dhenave 417

Pyetsoret kushtezues

(parametrike)Roli themelore i ketyre pyetsoreve

eshte qe permes venjes se kushtevekushtezuese te marrim nje pasqyreme fleksibile te te dhenave ne ate(ato) tabela ,ndertimi i ketyre

pyetsoreve behet ne trajten―disajn‖ dhe realizohet me venjen ekushteve ne fushen ―criteria‖ netrajten e shenimit te tekstit te

mberthyer ne kllapa te mesme , sivijon [teksti] .Roli themelore iketyre pyetsoreve eshte qe tekerkohen te dhenat ne ate tabele .

Page 417: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 417/436

nbraha-bazat e te dhenave 418

Sortimi i te dhenave me ane

te pyetsoreveSortimi i te dhenave te tabeles

mund te behet edhe permespyetsoreve dhe kjo realizohetpermes zgjidhjes se fushes―sort‖

ne paraqitjen ―konstruktive ‖tepyetsorit dhe me ate rast kemi sizakonisht dy mundesi te

sortimit ate nga A-Z dhe teanasjelltin me te Z-A

Page 418: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 418/436

nbraha-bazat e te dhenave 419

Modifikimi i te dhenave ne

pyetsoreModifikimi i te dhenave ne

pyetsore mund te behet per tegjithe te dhenat e fushave teshqyrtuara apo edhe te vetem

nje fushe ,ndryshimi i te dhenavete te gjitha fushave ne pyetsorebehet me zgjedhje te opcionit―properties‖ nga ana e djathte emiut e shtypur kudo ne njehapesire te zbrazet te pyetsorit

Page 419: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 419/436

nbraha-bazat e te dhenave 420

Modifikimi i te dhenave ne

pyetsore(v-1)Ndersa modifikimi i te dhenave

sipas nje fushe behet ne menyrete njejte si me siper dukezgjedhur ―properties‖ nga ana e

djathte e mausit te vendosurmbi fushen te cilen deshirojmete ndryshojme

P Ak i

Page 420: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 420/436

nbraha-bazat e te dhenave 421

Pyetsoret Aktive

Pyetsoret aktive na mundesojnemanipulimin e te dhenave nepyetsoret e krijuar si dhe ne tabela.Kjo nenkupton se pyetsoret e tille

 jane ne funksion pasi te jene krijuartabelat dhe pyetsoret e permendurme pare dhe si te tille keta nuk mund

te krijohen ne trajten themelore tetyre por vetem pasi te hapet njepyetsore tjeter ekzistues apo edhe

ndonje i ri ne trajten ―disajn‖.Dallojme disa tipe te pyetsoreveaktive

Page 421: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 421/436

nbraha-bazat e te dhenave 422

Tipet e pyetsoreve aktive

Append query

Update queryMake table query

Delete query

Page 422: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 422/436

nbraha-bazat e te dhenave 423

―Append query‖ 

Qellimi themelore i krijimit te

ketyre pyetsoreve eshte bartja enje grumbulli te te dhenave nga njetabele ne nje tjeter .Krijimi i tyrerealizohet me zgjedhjen e trajtes

konstruktive (disajn) te pyetsoritdhe me pas zgjedhjen e tabeles ngae cila deshirojme te bejme bartjene te dhenave ,hapi i metejme eshte

zgjedhja e opcionit ―query append ‖nga menyja ―query‖ dhe ne dialogun eparaqitur te zgjedhet baza ne tecilen deshirojme te bartiminformaten dhe tabela erkatese

Page 423: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 423/436

nbraha-bazat e te dhenave 424

Disa veti te ―Append query‖ 

Realizimi i tille i te dhenave do

te realizohet vetem ne atotabela ku te dhenat jane te njenatyre

Nese numri i fushave tezhvendosura eshte me i madh seai ne tabelen e zhvendosurateher ato te cilat teprojne nukdo te barten etj

Page 424: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 424/436

nbraha-bazat e te dhenave 425

―Update queries‖ 

Roli themelor eshte ndryshimi i te

dhenave nga nje apo edhe me shumetabela .Realizohen ne trajten ―disajn‖te pyetsoreve me opcionin―query‖dhe me pas ―update query‖.Per

kete se pari merret pyetsori netrajten ―disajn‖ me pas zgjedhentabelat dhe te dhenat te cilatdeshirojme ti ndryshojme, me ate

rast ne fushen e re ―update to‖plotesohen te dhenat qe ndrrohen

Krijimi i tabelave permes

Page 425: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 425/436

nbraha-bazat e te dhenave 426

Krijimi i tabelave permespyetsoreve (make table

query)Permes ketyre pyetsoreve

mundesohet krijimi i tabeles mete dhenat e tabelave epyetsoreve te asaj baze .Per

kete merret forma konstruktivee pyetsorit dhe zgjedhim ―query-make table query‖,me paszgjedhet baza ku deshirojme tevejme tabelen dhe emerohettabela .

Page 426: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 426/436

nbraha-bazat e te dhenave 427

―Delete query‖ 

Keta pyetsore na sherbejne per

fshirjen e grupeve te te dhenavenga nje apo me shume tabela .Kjorealizohet me zgjedhjen ―disajn‖ tepyetsorit dhe me pas zgjedhet

tabela(tabelat) te cilen deshirojmeme e shqyrtue me vendosje te tedhenave dhe nga menyja ―query‖zgjedhim ―delete query‖ .Veqori etyre eshte se nuk kane fushen esortimit .

Page 427: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 427/436

nbraha-bazat e te dhenave 428

Pyetsoret ―autolookup ― 

Keta pyetsore krijohen me zgjedhjen eopcionit ―disajn query ‖ dhe sherbejnevetem ne ate rast kur deshirojme te

veqojme te dhena nga dy tabela te lidhurane formen nje me shume , dhe ate nefushen ―field ‖ te pyetsorit vehet fusha etabeles shume e cila e realizon lidhjen me

tabelen ame dhe me pas edhe fushat etabeles ame qe deshirojme me i pare.Meplotesim te fushes nga tabela shume e cilae realizon lidhjen plotesohen fushat tjera te

pyetsorit.(me tastin tab)

Page 428: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 428/436

nbraha-bazat e te dhenave 429

Aktivizimi i pyetsoreve

Pyetsoret aktivizohen me ane te

komandes ―run‖ , ne menyne queryte paraqitjes ―disajn‖ tepyetsorit .

Integriteti i te dhenave dhe

Page 429: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 429/436

nbraha-bazat e te dhenave 430

Integriteti i te dhenave dhe

sigurimi

Page 430: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 430/436

nbraha-bazat e te dhenave 431

Varesite funksionale

Page 431: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 431/436

nbraha-bazat e te dhenave 432

Format normalet

Bazat e orientuara kah

Page 432: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 432/436

nbraha-bazat e te dhenave 433

Bazat e orientuara kah

objektet

Page 433: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 433/436

nbraha-bazat e te dhenave 434

Bazat themelore ne mysql

Mysql eshte nje software i bazavete te dhenave me qasje te lire

(―open source‖) dhe mund temerret ne faqen :www.mysql.com

Per kete softwari ofrohet per

kliente dhe serwer ,me cka edhene secilin baze te te dhenavebehet qasja ne kete forme .

Page 434: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 434/436

Page 435: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 435/436

Page 436: Ligjeratat Ne Baza e Te Dhenave

8/10/2019 Ligjeratat Ne Baza e Te Dhenave

http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 436/436

nbraha-bazat e te dhenave 437

Krijimi i tabelave

Krijimi I tabeles behet me urdherat

e pershkruare si ne cdo gjuhe teSQL-se .

―Create tab1 (fusha1 tipiitedhenave, 

Fusha2 tipitedhenave,Fusha3 tipiitedhenave);‖ 

Kjo do te ishte nje trajte themelore

e krijimit te nje tabele .