ligjeratat ne baza e te dhenave
TRANSCRIPT
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)
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 ).
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)
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)
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
8/10/2019 Ligjeratat Ne Baza e Te Dhenave
http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 6/436
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‖.
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) .
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.)
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.
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.)
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
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
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
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.
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
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
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 .
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
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)
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)
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)
8/10/2019 Ligjeratat Ne Baza e Te Dhenave
http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 23/436
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
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‖
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
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 )
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‖
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.)
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)
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 )
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 )
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
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
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
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 )
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
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
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
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
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
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 .
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
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‘
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
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
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‖
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
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
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
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
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
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
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
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‖
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‖
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
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
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)
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
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
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.)
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 :
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‖
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‖
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‖
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 )
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 :
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
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
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
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
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( )
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
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
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)
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
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
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‖
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)))
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.)
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
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
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
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
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
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)
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
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
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)
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
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)}
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)
8/10/2019 Ligjeratat Ne Baza e Te Dhenave
http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 138/436
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.)
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
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)
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
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.
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
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
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
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
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)
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}
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])
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”
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 ]
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”
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
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
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}
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
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 )}
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
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 )
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
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
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
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
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)
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
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
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
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
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
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)
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))
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))
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)
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
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).
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
8/10/2019 Ligjeratat Ne Baza e Te Dhenave
http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 178/436
-
After Grouping
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)
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
i
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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 (*)
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
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
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.
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
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
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
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)
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
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
’
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<
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
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‟)
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 Ø
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
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
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
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)
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)
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 )
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
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
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
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
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
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
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
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
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‘)
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
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
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
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
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
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
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
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:
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
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
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),
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
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
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
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.
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
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
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 =
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
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
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 }
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
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
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
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
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
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:
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);
}
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
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);
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,
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
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
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
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
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 =
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,
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,
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
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:
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
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
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
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.
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 ).
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
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
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
);
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.
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
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 .
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
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
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),
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
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 .
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‖
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‖
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‖
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‖
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‖
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‖
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 ‖
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
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
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
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).
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
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.
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 ‗-‘ .
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
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 )
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
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
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.).
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.
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
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
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
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
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
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
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 .
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‖.
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
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
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
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
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
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
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
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‟
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
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
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 :
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
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
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
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
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
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
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
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
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.
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.
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)
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)
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’
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
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
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‟)
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 = Ø
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
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‘)
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’)
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 >
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‟
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
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
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
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 )
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)
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 )
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
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
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
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.
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
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
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)
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
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
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
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
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.
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
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
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
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
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
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.
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
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
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)
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
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
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 .
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
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 .
8/10/2019 Ligjeratat Ne Baza e Te Dhenave
http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 401/436
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.
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
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)
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)
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 :
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)
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)
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‖
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
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:
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
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)
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 )
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‖.
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 .
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
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
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
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
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
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
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
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
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 .
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 .
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)
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
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
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
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
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
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 .
8/10/2019 Ligjeratat Ne Baza e Te Dhenave
http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 434/436
8/10/2019 Ligjeratat Ne Baza e Te Dhenave
http://slidepdf.com/reader/full/ligjeratat-ne-baza-e-te-dhenave 435/436
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 .