Top Banner
Sistemet Web-Server Leksion 10 Tema : Hapat e krijimit te nje serveri databaze , Querie-t (Pyetesoret) Hapat per te dizenjuar nje baze te dhenash Me poshte, do te japim 5 hapat kryesore per dizenjimin e nje databaze : I. “Hapi 1: Identifikimi i entiteteve dhe lidhjeve” II. “Hapi 2: Identifikimi i te dhenave qe do te ruhen” III. “Hapi 3: Normalizimi i te dhenave” IV. “Hapi 4: Idenfikikimi i relatave te tabelave” V. “Hapi 5: Verifikimi i dizenjimit te ndertuar” Hapi 1: Identifikimi i entiteteve dhe lidhjeve 1.Percaktimi i aktiviteteve te nivelit te larte Identifikimi i aktiviteteve per te cilat do te ndertohet baza e te dhenave. Per shermbull, mund te duhet te mbahen informacione lidhur me employee. 2. Identifikimi i entiteteve Per aktivitetet e percaktuara ne hapin e pare , do te identifikohen subjektet qe na interesojne te mbajme informacione lidhur me to. Keto subjekte do te kthehen ne entitete. Per shembull, punesimi i nje punonjesi, caktimi i nje departamenti per te si dhe niveli i kualifikimit te tij. 3. Identifikimi i lidhjeve Mbeshtetur tek aktivitetet do te percaktohen lidhjet midis entiteteve. Per shembull, eshte evidente qe ekziston nje lidhje midis librit dhe autorit. 4. Pershkallezimi i aktiviteteve
30

Sistemet Web-Server - fridagjermeniblog.files.wordpress.com  · Web viewnje celesi. Vini re se entitetet kthehen ne tabela. Identifikuesit e entiteteve kthehen ne celesa primare

Feb 18, 2019

Download

Documents

hoangdan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Sistemet Web-Server - fridagjermeniblog.files.wordpress.com  · Web viewnje celesi. Vini re se entitetet kthehen ne tabela. Identifikuesit e entiteteve kthehen ne celesa primare

Sistemet Web-Server

Leksion 10

Tema : Hapat e krijimit te nje serveri databaze , Querie-t (Pyetesoret)

Hapat per te dizenjuar nje baze te dhenash

Me poshte, do te japim 5 hapat kryesore per dizenjimin e nje databaze :

I. “Hapi 1: Identifikimi i entiteteve dhe lidhjeve” II. “Hapi 2: Identifikimi i te dhenave qe do te ruhen”

III. “Hapi 3: Normalizimi i te dhenave”IV. “Hapi 4: Idenfikikimi i relatave te tabelave”V. “Hapi 5: Verifikimi i dizenjimit te ndertuar”

Hapi 1: Identifikimi i entiteteve dhe lidhjeve

1.Percaktimi i aktiviteteve te nivelit te larte Identifikimi i aktiviteteve per te cilat do te ndertohet baza e te dhenave. Per shermbull, mund te duhet te mbahen informacione lidhur me employee.

2. Identifikimi i entitetevePer aktivitetet e percaktuara ne hapin e pare , do te identifikohen subjektet qe na interesojne te mbajme informacione lidhur me to. Keto subjekte do te kthehen ne entitete. Per shembull, punesimi i nje punonjesi, caktimi i nje departamenti per te si dhe niveli i kualifikimit te tij.

3. Identifikimi i lidhjeveMbeshtetur tek aktivitetet do te percaktohen lidhjet midis entiteteve. Per shembull, eshte evidente qe ekziston nje lidhje midis librit dhe autorit.

4. Pershkallezimi i aktiviteteve Fillimisht pame aktivitetet e nivelit te larte. Ne kete hap duke i pare me me kujdes keto aktivitete te arrijme te ti ndajme ato ne pjeseza me te vogla ose ne aktivitete te nivelit te ulet. Per shembull, nje aktivitet i nivelit te larte qe mund te jete mirembajtja e informacionit lidhur me punonjesit mund et ndahet ne aktivitete te nivelit te ulet qe mund te jene:-shto nje punonjes te ri-ndrysho informacionet mbi punonjesin ekzistues-fshi nje punonjes-etj;

5.Identifiko rregullat e bisnesit

Page 2: Sistemet Web-Server - fridagjermeniblog.files.wordpress.com  · Web viewnje celesi. Vini re se entitetet kthehen ne tabela. Identifikuesit e entiteteve kthehen ne celesa primare

Sistemet Web-Server

Duhet pare me kujdes tek rregullat e bisnesit per te pare se cfare eshte e lejueshme dhe cfare jo. Per shembull, nje rregull bisnesi mund te jete qe nje department ka nje dhe vetem nje drejtor departamenti. Keto rregulla do te strukturojne bazen e te dhenave.

Entitetet dhe lidhjet

Shembull Shoqeria _X eshte nje shoqeri e cila ka zyra ne 5 qytete te ndryshme. Ne kohen qe po pershkruajme ajo numeron 75 punonjes ne te gjitha qytetet. Shoqeria mendon se ne nje te ardhme te afert do te shtoje numrin e zyrave te saj edhe ne qyetete te tjere duke menduar te krijoje me to 9 departamente dhe cdo department me nje drejtor qe drejton.

Per te dhene ndihme per te punesuar punonjes te rinj, departamenti i BNj ka percaktuar 68 cilesi/aftesi qe duhet te kete punonjesi ne menyre qe ti vije ne ndihme firmes. Kur nje punonjes merret ne pune, percaktohet niveli i kualifikimit te punonjesit perkatesisht ne te gjitha cilesite/aftesite qe i nevojiten Shoqerise_X

Percakto aktivitetet e nivelit te larte Disa nga aktivitetet e nivelit te larte per Shoqerine_X jane:

Puneso punonjes. Pusho nga puna punonjes . Mirembaj informacione personale mbi punonjesit . Mirembaj informacione lidhur me cilesite/aftesite qe jane te nevojshme per

shoqerine. Mirembaj informacione mbi secilen aftesi per secilin punonjes. Mirembaj informacione lidhur me departamentet. Mirembaj informacione lidhur me zyrat.

Identifiko entitetet dhe lidhjet midis tyre

Identifiko entitete(subjektet) dhe lidhjet(rolet) qe vendosin ato. Krijoni nje diagram bazuar ne pershkriemt e aktiviteteve te nivelit te larte.

Perdor kuti per entitetet dhe vija per lidhjet. Identifiko relatat nqs jane nje-me-shume, shume-me-shume-apo shume-me-nje.

Me poshte keni diagramen pershkruese.

Page 3: Sistemet Web-Server - fridagjermeniblog.files.wordpress.com  · Web viewnje celesi. Vini re se entitetet kthehen ne tabela. Identifikuesit e entiteteve kthehen ne celesa primare

Sistemet Web-Server

Pershkallezo aktivitetet e nivelit te uletDisa nga aktivitetet e nivelit te ulet te cilat jane nxjerre bazuar ne aktivitete te nivelit te larte per shembullin e dhene jane:

Shto apo fshi nje zyre. Listo punonjesit e nje departamenti. Shto nje cilesi/aftesi ne listen e cilesive/aftesive. Identifiko aftesite e nje punonjesi. Identifiko nivelin per secilen aftesi per nje punonjes. Identifiko te gjithe punonjesit qe kane te njejtin nivel aftesie per nje

cilesi/aftesi te caktuar. Ndrysho nivelin e aftesise per nje cilesi/aftesi te caktuar.

Keto aktivitete te nivelit te ulet perdoren per te percaktuar nqs eshte e nevojshme te shtojme ndonje tabele ne bazen e te dhenave dhe cilat do te jene relatat e kesaj tabele me tabelat ekzistuese.

Identififikimi i rregullave te bisnesit Rregullat e bisnesit shpesh identifikojne relata te tilla si nje-me-shume, shume-me-shume, shume-me-nje.

Disa nga rregullat qe jane te rendesishme per shebullin e dhene jane te listura me poshte:

Tani jane vetem 5 zyra, nje plan per shtime te ardhme ku limiti do te jete 10. Punonjesit mund te ndryshojne department ose zyre. Cdo department duhet te kete vetem nje drejtor departamenti. Cdo zyre ka nje maksimum prej 3 numrash telefoni. Kur nje punonjes merret ne pune duhet te percaktohet niveli i aftesise se tij

per cdo cilesi/aftesi te kerkuar nga shoqeria.

Page 4: Sistemet Web-Server - fridagjermeniblog.files.wordpress.com  · Web viewnje celesi. Vini re se entitetet kthehen ne tabela. Identifikuesit e entiteteve kthehen ne celesa primare

Sistemet Web-Server

Cdo punonjes mund te kete 3 deri ne 20 cilesi/aftesi. Nje punonjes mund te kete te percaktuar ose jo nje zyre.

Hapi 2:  Identifikimi i te dhenave te nevojshme

1. Identifiko te dhenat e nevojshme2. Listo te dhenat qe do te ruash3. Mblidh te dhena per cdo entitet4. Te dhenat lidhur me entitetet do ti pergjigjen pyetjeve te tilla si: kush, cfare,

ku, kur dhe pse.5. Listo te dhenat lidhur me lidhjet.

Identifiko te dhenat e nevojshme

Te dhenat e nevojshme qe identifikoni do te behen attribute te entiteteve. Per shembull, te dhenat e meposhtme do te perdoren nga entitetet Employee dhe Skill , dhe nga lidhja Expert In.

Employee Skill Expert In

Employee ID Skill ID Skill level

Employee first name Skill name Date skill was acquired

Employee last name Description of skill

Employee department

Employee office

Employee address

Ndertojme nje diagram lidhur me te dhenat e melartme:

Page 5: Sistemet Web-Server - fridagjermeniblog.files.wordpress.com  · Web viewnje celesi. Vini re se entitetet kthehen ne tabela. Identifikuesit e entiteteve kthehen ne celesa primare

Sistemet Web-Server

Nqs vezhgoni me kujdes ne diagramen me larte nuk jane paraqitur te gjitha te dhenat e listuar ne tabelen e pare. Te dhenat qe mungojne do te perfshihen ne dy kategori:

1. disa prej te dhenave qe mungojne bejne pjese ne lidhje te tjera. Per shembull departamenti ku punon punonjesi dhe zyra ku ben pjese punonjesi percaktohen ne entitete te tjera dhe ne lidhje te tjera midis ketyre entiteteve.

2. disa te dhena te tjera qe mungojne jane te lidhura jo me entitete qe paraqiten por me vete lidhjen midis ketyre entiteteve qe paraqiten.

Te dhenat e pikes se pare do te behen te dukshme kur te ndertohet i gjithe diagrami i entiteteve-relatave.

Te dhenat e pikes se dyte do te behen te dukshme kur te kthehet lidhja shume-me-shume ne nje entitet te ri.

Eniteti i ri varet si nga eniteti Employee ashtu edhe nga entiteti Skill . Ai huazon identifikuesit e tij nga t edyja keto entitetet sepse varet prej te dyja ketyre entiteteve.

Page 6: Sistemet Web-Server - fridagjermeniblog.files.wordpress.com  · Web viewnje celesi. Vini re se entitetet kthehen ne tabela. Identifikuesit e entiteteve kthehen ne celesa primare

Sistemet Web-Server

Shenime:   Kur te identifikoni te dhenat e nevojshme duhet te kini parasysh aktivitete qe

identifikoni ne hapat paraardhes per te pare sesi do ti aksesoni keto te dhena. Per shembull, mund te na nevojitet te listojme punonjesi njehere sipas emrit dhe njehere sipas mbiemrit ath per te plotesuar kete kerkese eshte me mire qe te krijojme 2 atribute te ndryshme per entitetin punonjes; njeri atribut do te jete emri i punonjesit dhe atributi tjeter do te jete mbiemri i punonjesit. Me ane te ketyre atributeve te ndare , ne vend te nje atributi te vetem emer_mbiemer realizohet me mire kerkesa jone.

Kujdesuni per konsistence ne emertime. Kjo do ta beje DB tuaj me te lehte per tu lexuar dhe kuptuar. Per shembull nqs nje fushe zgjedhim nje emer te tille si Emp_status per atributin e statusit te punonjesit ath per atributin e emrit te punonjesit nuk duhet te zgjedhim nje emertim te tille si: Employee_ID. Pra te dyja emertimet duhet te jene: Emp_status dhe Emp_ID.

Ne kete faze te dizenjimit nuk eshte jetesore qe te dhenat te jene te shoqeruara me entitetin e duhur. Duke perdorur intuiten tuaj dhe duke bere verifikimet perkatese arrihet shoqerimi i sakte entitet-te dhena.

Hapi 3:  Normalizimi I te dhenave

Normalizimi eshte nje seri me teste per te eliminuar teprine ne te dhena dhe per tu siguruar qe te dhenat jane te shoqeruara me entietin apo lidhjen e sakte/duhur. Jane 5 lloje testesh qe duhet te behen dhe ne kete ceshtje do te merremi me tre prej tyre te cilet jane me te perdorshem.

Format e normalizimitEkzistojne disa teste per te vertetuar normalizimin e te dhenave. Kur kalohet testi i pare thuhet se te dhenat jane ne formen e pare normale, kur kalohet testi i dyte ath thuhet se te dhenat jane ne formen e dyte normale dhe kur te dhenat kalojne testin e trete thuhet se te dhenat jane ne formen e trete normale.

Te normalizojme te dhenat ne nje DB1. Listo te dhenat.

o Identifiko te pakten nje celes per cdo entitet. Cdo entitet duhet te kete nje identifikues.

o Identifiko celesat per lidhjet. Celesat e nje lidhjeje jane celesat nga te dy entitetet qe vihen ne relate.

o Kontrollo per te dhena te perllogaritura. Te tilla te dhena zakonisht nuk vendosen ne DB relacionare.

2. Vendosi te dhenat ne formen e pare normale.

Page 7: Sistemet Web-Server - fridagjermeniblog.files.wordpress.com  · Web viewnje celesi. Vini re se entitetet kthehen ne tabela. Identifikuesit e entiteteve kthehen ne celesa primare

Sistemet Web-Server

o Nqs nje atribut mund te kete disa vlera te ndryshme per te njejten hyrje ath fshi keto vlera te perseritura.

o Krijo nje ose me shume entitete me te dhenat qe sapo fshime.3. Vendosi te dhenat ne formen e dyte normale.

o Identifiko entitetet dhe lidhjet me me shume se sa nje celes.o Fshi te dhenat te cilat varen vetem prej njeres fushe perberese

te celesit.o Krijo nje ose me shume entitete me te dhenat qe sapo fshime.

4. Vendos te dhenat ne formen e trete normale.o Fshi te dhenat te cilat varen prej te dhenave te tjera ne nje

entiete apo ne nje lidhje, pra jo ne nje fushe celes.o Krijo nje ose me shume entitete lidhur me te dhenat qe sapo

fshime.

Te dhenat dhe identifikuesitPerpara se sa te filloni te normalizoni te dhenat ( testoni designin tuaj) thjesht duhet te listoni te gjitha te dhenat dhe te identifikoni nje celes per secilen tabele. Identifikuesi mund te jete i perbere nga nje e dhene e vetme ose nga disa te dhena (attribute).

Identifikuesi eshte nje bashkesi atributesh qe identifikojne ne menyre te vetme cdo rresht te nje entiteti. Per shembull, identifikuesi per entitetin Employee eshte atributi Employee ID. Identifikuesi per lidhjen Works In konsiston ne atributet Office Code dhe Employee ID .

Ju mund te krijoni nje identifikues per nje lidhje ne DB duke marre identifikuesit e cdo entiteti qe lidhja mban te lidhur.

Ne tabelen me poshte atibutet e identifikuara me ane te simbolit * jane identifikues per nje entitet apo lidhje.

Entity or Relationship Attributes

Office *Office code

Office addressPhone number

Works in *Office code*Employee ID

Department *Department IDDepartment name

Heads *Department ID*Employee ID

Page 8: Sistemet Web-Server - fridagjermeniblog.files.wordpress.com  · Web viewnje celesi. Vini re se entitetet kthehen ne tabela. Identifikuesit e entiteteve kthehen ne celesa primare

Sistemet Web-Server

Member of *Department ID*Employee ID

Skill *Skill IDSkill nameSkill description

Expert in *Skill ID*Employee IDSkill levelDate acquired

Employee *Employee IDlast namefirst nameSocial security numberAddressphone numberdate of birth

Hapi 4:  Vendosja e relatave

Pasi perfundon procesi i normalizmit, dizenjimi eshte pothuajse i perfunduar. Ajo c’ka nevojitet tani eshte te gjeneroni modelin fizike te te dhenave i cili bazohet/i korrespondon modelit conceptual te te dhenave qe keni krijuar. Ky process eshte i njohur ndryshe si vendosja e relative; sepse pjesa me e madhe e punes ka te beje me kthimin/konvertimin e relative nga modeli conceptual ne relatat celesa te jashtem ndermjet tabelave.

Modeli konceptual i te dhenave eshte i pavarur nga detajet e implementimit, ndersa modeli fizike i tyre eshte i lidhur me strukturen dhe opsionet qe ofrojne aplikacionet e ndryshme te bazave te te dhenave.

Vendosja e relatave te cilat nuk mbartin te dhena 

Ne menyre qe te implementoni keto lloj relatash perdoren celesta e jashtem. Sic eshte perkufizuar edhe me lart eshte nje kolone ose nje bashkesi me kolona qe permbajne vlera te nje celsei primare te nje tabele tjeter. Celesi i jashtem na lejon qe te aksesojme te dhena prej disa tabelave ne te njejten kohe.

Disa rregulla baze qe na ndihmojne per vendosjen e celesave jane te meposhtmet:

Nje me shume       Lidhja nje-me-shume kthehet gjithmone ne nje lidhje midis nje entiteti dhe nje celesi. Vini re se entitetet kthehen ne tabela. Identifikuesit e entiteteve kthehen ne celesa primare te tabelave ( te pakten nje pjese e tyre) . Atributet

Page 9: Sistemet Web-Server - fridagjermeniblog.files.wordpress.com  · Web viewnje celesi. Vini re se entitetet kthehen ne tabela. Identifikuesit e entiteteve kthehen ne celesa primare

Sistemet Web-Server

kthehen ne kolona/fusha. Ne nje lidhje nje-me-shume, identifikuesi i nje entiteti do te shfaqet si nje kolone celesi te jashtem ne disa tabela.

Ne kete shembull entiteti Employee kthehet ne tabelen Employee. Po keshtu entitteti Department kthehet ne tabelen Department. Nje celes i jashtem i emertuar Department_ID na shfaqet dhe ne tabelen Employee.

Nje me nje      Ne nje lidhje nje-me-nje celesi i jashtem mund te vendoset ne njeren prej tabelave. Nqs relata eshte e detyrueshme nga njera dhe jo nga ana tjeter, ath celesi duhet te vendoset nga ana e cila eshte jo e detyrueshme. Ne kete shembul celesi jashtem (Vehicle_ID) vendoset ne tabelen Truck sepse vehicle nuk eshte detyrimisht e thene qe te kuptoje nje truck.

Paraqitja e me lartme relate-entitet mund te perkthehet ne nje strukture baze te dhenash si vijon:

Shume me shume       

Page 10: Sistemet Web-Server - fridagjermeniblog.files.wordpress.com  · Web viewnje celesi. Vini re se entitetet kthehen ne tabela. Identifikuesit e entiteteve kthehen ne celesa primare

Sistemet Web-Server

ne nje relate shume-me-shume nevojitet te krijohet nje tabele e trete e cila duhet te permbaje dy celesa te jashtem. Ky hap eshte i nevojshme te kryhet ne menyre qe te behet me efikase baza e te dhenave.

Tabela e re Storage Location krijon lidhje me tabelen Parts dhe tabelen Warehouse.

Vendosja e relatave qe mbartin te dhena 

Ne disa raste relata mbartin te dhena, dhe kjo ndodh zakonisht ne relatat shume-me-shume.

Nqs ky eshte rasti qe na paraqietet ath cdo entitet kththet ne nje tabele dhe cdo rol kthehet ne nje celes te jashtem qe tregon nje tabele tjeter.

Page 11: Sistemet Web-Server - fridagjermeniblog.files.wordpress.com  · Web viewnje celesi. Vini re se entitetet kthehen ne tabela. Identifikuesit e entiteteve kthehen ne celesa primare

Sistemet Web-Server

Entiteti Inventory i merr hua identifikuesit e tij nga tablela Parts dhe tabela Warehouse sepse ai varet prej te dyja tabeleve. Keta dy identifikues do te krijojne celesin primare te tabeles Inventory.

ShenimModeli conceptual i te dhenave i lehteson procesin e dizenjimit te nje baze te dhenash sespe fsheh shume detaje; per shembull ne nje relate shume-me-shume gjenerohet nje tabele shtese dhe dy celesa te jashtem dhe ne modelin konceptual te te dhenave te gjitha keto permblidhen me ane te nje lidhjeje te vetme.

1.2 Hapi 5:  Verifikimi i dizenjimit

Perpara se te implementoni dizenjimin tuaj duhet te siguroheni qe ai i permbush te gjitha nevojat tuaja.Ekzaminoni aktivitete qe u percaktuan ne fillim te procesit te dizenjimit dhe kontrolloni nqs te dhenat qe kekrojne keto aktivitete jane te kapshme/aksesueshme.

A ekziston nje rruge per te kapur informacionin qe na nevojitet? A i ploteson dizenjimi nevoja tona? A jane te gjitha te dhenat e nevojshme available?

Vetem kur pergjigja e pyetjeve te melartme eshte pozitive ath jeni te gatshem per te implementuar dizeznjimin e skicuar e meparshem.

Dizenjimi final 

Duke zbatuar hapat nga 1 ne 3 per bazen e te dhenave te Shoqerise_X kemi krijuar diagram entitete-relate si vijon. Kjo diagrame eshte ne formen e trete normale.

Page 12: Sistemet Web-Server - fridagjermeniblog.files.wordpress.com  · Web viewnje celesi. Vini re se entitetet kthehen ne tabela. Identifikuesit e entiteteve kthehen ne celesa primare

Sistemet Web-Server

Modeli korrespondues i te dhenave fizike paraqitet ne figuren me poshte:

Page 13: Sistemet Web-Server - fridagjermeniblog.files.wordpress.com  · Web viewnje celesi. Vini re se entitetet kthehen ne tabela. Identifikuesit e entiteteve kthehen ne celesa primare

Sistemet Web-Server

Dizenjimi i vecorive/cilesive te tabelave te bazes se te dhenes

Dizenjimi i bazes se te dhenes specifikon se cfare tabelash ju nevojiten dhe cfare fushash do kete secila tabele. Ndersa kjo ceshtje do tju ndihmoje te merrni vendime lidhur me emrat e fushave qe duhet te zgjidhni dhe tipit te te dhenes qe duhet et ruaje secila fushe, madhesise apo vlerave NULL qe duhet te jene te lejueshme apo jo si dhe nqs nevojitet te zvogelpjme rangun e vlerave qe mund te marri nje fushe apo jo.

Zgjedhja e emertimit te fushave

Emri i nje fushe mund te permbaje nje bashkesi me shkronja , numra apo simblole. Keshillohet qe emri te jete tregues i mire per cfare te dhenash po ruhne ne ate fushe. Per shembull, nqs kemi nj efushe ne te cilen po ruajm emrat e punonjesve eshte e kuptueshme qe e mri i fushes mund te zgjidhet te jete Punonjes_Emer.

Zgjedhja e tipit te te dhenave qe do permbaje fusha

Tipet e te dhenave qe mund te perdorini jane :

tipi te dhenave Integer tipi te dhenave Decimal tipi te dhenave Floating-point tipi te dhenave Character tipi te dhenave Binary tipi te dhenave Date/time

Vlerat NULL dhe NOT NULL

Nqs vlera e nje fushe per nje rekord eshte e deturueshme ath perzgjidhet vlera NOT NULL, ne te kundert lihet NULL e cila perfaqeson ASNJE TE DHENE. Si default lejohet NULL, prandaj duhet treguar kujdes ne perzgjedhjen e fushave qe nuk lejojne vlera boshe.

Perzgjedhja e cilesive/vecorive te fushave te tabeles

Me ane te tipit te te dhenave qe lejohet ne nje fushe ne arrijme te bejme nje fare perzgjedhje te te dhenave qe lejohet te permbahen ne ate fushe ( per shembull, nje fushe mund te permbaje vetem numra ose vetem te dhena te tipit date).

Page 14: Sistemet Web-Server - fridagjermeniblog.files.wordpress.com  · Web viewnje celesi. Vini re se entitetet kthehen ne tabela. Identifikuesit e entiteteve kthehen ne celesa primare

Sistemet Web-Server

Per me shume, me ane te specifikimit te constraint CHECK arrijme te bejme nje perzgjedhje aposelektim me te detajuar. Duke perdorur nje kusht te vlefshem tek pjesa WHERE e nje query SQL arrijme te selektojme nje numer te cktuar te dhenash nga nje fushe; zakonisht kushti where bashke perdoret me kushtet BETWEEN dhe IN.

Per shembull ne bazen e te dhenave qe marrim per shembull kemi ndertuar nje tabele me emrin Department e cila ka fush/kolona te emertuara dept_id, dept_name, dhe dept_head_id. Te cilat identifikohen si ne figuren vijuese:

Nqs cilesia NOT NULL eshte e specifikuar per njefushe/kolone ne tabele duhet qe te jipet nje vlere per cdo rresht te asaj tabele.

PYETËSORËT

Fjala QUERY (PYETËSORË) rrjedh prej fjalës latine qu_rere, që do të thotë pyetje osekërkesë.Pyetësori në Access është pyetja që bëhet për informacionin që gjendet në tabelë.Pyetësori mund të jetë i thjeshtë, të kërkoj të dhëna vetëm nga një tabelë dhe mundtë jetë i përbërë të kërkoj të dhëna në shumë tabela në dallim nga filterët që u përdorën tetabelat, ku të dhënat mund të nxirren nga vetëm një tabelë.Pyetësori nuk përmban të dhëna, ai përmban instruksione të cilat Access-i i përdor për tënxjerre të dhënat që u përgjigjen atyre instruksioneve.Prandaj kur të shtojmë ndonjë tëdhënë në tabelë nuk kemi nevojë që të bëjmë ndryshime edhe në pyetësor.Të dhënat qëparaqiten pas ekzekutimit të pyetësorit quhen bashkësi e të dhënave (Recordset).Mundësitë me pyetësorëZgjedhja e tabelës. Mund të nxjerrim informacion prej një tabele ose shumë tabelave.Zgjedhja e fushës. Mund të caktojmë se cilën fushë nga tabela dëshirojmë ta shohim në bashkësinë e të dhënave.

Page 15: Sistemet Web-Server - fridagjermeniblog.files.wordpress.com  · Web viewnje celesi. Vini re se entitetet kthehen ne tabela. Identifikuesit e entiteteve kthehen ne celesa primare

Sistemet Web-Server

Sortimi i të dhënave. Me këtë na mundësohet që të dhënat t’i shohim në një renditje të caktuar.Kalkulimet. Mund të shfrytëzojmë pyetësorët për të bërë kalkulime në të dhëna.Krijimin e tabelave. Mund të shfrytëzojmë për krijimin e tabelave nga te dhënat si rezultat i një pyetësori.Krijimi i formave dhe rapoteve. Mund të krijojmë forma dhe raporte, ku rëndësia e kësaj është se sa herë që hapet forma ose printohet raporti, pyetësori do të kthejë të dhënat më të freskëta nga tabelat.Krijimi i grafeve. Mund të krijojmë grafe nga rezultati i pyetësorit, të cilin rezultat mund ta shfrytëzojmë në forma dhe raporte.Krijimin e nënpyetësorëve. Mund të krijojmë pyetësor duke shfrytëzuar rezultatin nga një pyetësor tjetër.Tipet e pyetësorëveSelect. Ky është tipi më i zakonshëm i pyetësorëve.Sikurse tregon edhe vet emri ky pyetësor selekton të dhënat nga një ose më shumë tabela (bazuar në ndonjë kriter), duke krijuar bashkësinë e të dhënave dhe paraqitjen e saj në Datasheet.Total. Këto janë versione speciale të pyetësorëve Select. Pyetësorët Total mundësojnë për të mbledhur të dhënat sipas një kriteri (si p.sh. group by, count etj).Action. Ky tip i pyetësorëve na mundëson të krijojmë tabela te reja (make table query) ose ndryshimin e të dhënave (delete, update dhe append) në tabelat ekzistuese.Crosstab. Ky tip i pyetësorëve grupon të dhënat me metoda të ndryshme përllogaritjeje.SQL. Pyetësorët Structured Query Language krijohen me shkruarjen e komandave specifike SQL.Top(n). Ky pyetësor mund të shfrytëzohet vetëm së bashku me pesë tipet e pyetësorëve të mëparshëm.Na mundëson të specifikojmë numrin e përqindjes të të dhënave që dëshirojmë ti shohim.Përcaktimi i lidhjes në mes të dy tabelave mund të bëhet në tri mënyra:

Lidhja që percaktohet në dritaren e pyetësorit nuk do të paraqitet në dritaren e lidhjeve

Page 16: Sistemet Web-Server - fridagjermeniblog.files.wordpress.com  · Web viewnje celesi. Vini re se entitetet kthehen ne tabela. Identifikuesit e entiteteve kthehen ne celesa primare

Sistemet Web-Server

(Relationship window). Access-i bën lidhjen në mes të dy tabelave automatikisht nëse në të dy tabelat ekzistojnë fusha me emër të njëjtë.Pjesa e dytë e dritares së pyetësorit përmban në vete emrat e fushave,emrin e tabelës, sortimin si dhe kriteret me anë të të cilave do të kërkohen të dhënat në tabela ose pyetësorë.Ruajtja e pyetësoritPyetësori ruhet duke klikuar në File dhe Save, pastaj shkruajmë emrin e dëshiruar për pyetësorin në dritare dhe shtypim OK.Ekzekutimi i pyetësoritEkzekutimi i pyetësorit bëhet duke shtypur Query dhe Run.\

Kriteret me përfshirje të emrit të objektit, datës, orës dhe teksteveKur duhet të përdorim emrat e fushave apo vlerat e datës ose orës për formulimin ekushteve duhet të respektojmë sintaksën e mënyrës së shkrimit.Për këtë duhet të kemiparasysh këto rregulla:

Operatori i krahasimit LIKEMe ndihmën e operatorit LIKE mund të gjejmë: Për shembull ju kërkohet të hartoni listën e të gjithë klientëve emri i të cilëve fillon me shkronjat A deri në D. Kriteri i përzgjedhjesformulohet duke përdor shenjat zëvendësuese.

Page 17: Sistemet Web-Server - fridagjermeniblog.files.wordpress.com  · Web viewnje celesi. Vini re se entitetet kthehen ne tabela. Identifikuesit e entiteteve kthehen ne celesa primare

Sistemet Web-Server

Kriteri për fushën e tipit të të dhënave Yes/NoNjë vlerë –Jo mund ta gjejmë duke përcaktuar si kusht No, False, Off ose 0.Për kërkimine një vlere –Po përcaktojmë si kusht Yes, True, On ose -1.

Page 18: Sistemet Web-Server - fridagjermeniblog.files.wordpress.com  · Web viewnje celesi. Vini re se entitetet kthehen ne tabela. Identifikuesit e entiteteve kthehen ne celesa primare

Sistemet Web-Server

Shembuj:LIKE “M[A]*” Kthen vlerën e saktë nëse shkronja e parë është M e dyta A.LIKE “[!e-zE-Z]” Kthen vlerën e saktë nëse shkronjat janë A,B,C,D,a,b,c ose d.LIKE “AB####” Kthen vlerën e saktë nëse fillon me shkronjat AB e shoqëruar me katërshifra.LIKE “[#]*A” Kthen vlerën e saktë nëse fillon me # dhe përfundon me A.LIKE NOT “M[A]*” Kthen vlerën e pasaktë nëse shkronja e parë është M dhe e dyta A.

Pyetësor me më shumë se një kriterNë Access kemi mundësi të formulojmë edhe më shumë se një kriter në fusha dhe rreshta të ndyshëm.Në këtë rast duhet të kemi parasysh këto veçori:1. Lidhjet ANDKushtet e një rreshti lidhen ndërmjet njeri tjetrit me ndihmën e operatorit AND.Në këtë rast të dhënat përfshihen në rezultatin e ekzekutimit të pyetësorit vetëm kur janë të plotësuara të gjitha kushtet e formuluara.Shembull: Të gjithë personat me emrin Bujar dhe qyteti Prishtinë do të shfaqennë rezultatin e pyetësorit.

Page 19: Sistemet Web-Server - fridagjermeniblog.files.wordpress.com  · Web viewnje celesi. Vini re se entitetet kthehen ne tabela. Identifikuesit e entiteteve kthehen ne celesa primare

Sistemet Web-Server

2. Lidhjet ORKur të formulojmë kushte në dy rreshta ato lidhen në mes njeri tjetrit me anë të operatorit OR. Në këtë rast të dhënat përfshihen në rezultatin e ekzekutimit të pyetësorit atëherë kur plotësohet të paktën njëri prej kushteve të formuluara.Shembull: Të gjithë personat me emrin Bujar ose qytetin Prishtinë do të shfaqen në rezultatin e pyetësorit.

Tipet e pyetësorëveSiç u cek më herët tipet e pyetësorëve janë:Select, Total, Action, Crosstab, SQL dheTop(n).Tipi i pyetësorit Select është tip i zakonshëm i pyetësorëve.Me krijimin epyetësorit në Design View si tip i parazgjedhur nga Access-i është tipi Select.Pra e gjithaçka u tha më lartë për krijimin pyetësorit në Design View është krijimi i pyetësorit Select.Tip tjetër me radhë është tipi Total.Tipi TotalShumë herë dëshirojmë që informacionin e nxjerrur nga tabelat të jetë i grupuar sipas njëfushe apo fushave të asaj tabele.Krijimi i pyetësorit TotalNë Design View të pyetësorit në menynë kryesore shkojmë te View dhe zgjedhim Totalsose në toolbar shtypim pullën .Do të shohim se në zonën e dizajnimit të pyetësoritdo të paraqitet rreshti Total.Nëse klikojmë në rreshtin Total do të shohim një listë tëfunksioneve të cilat përdoren për grupimin e informacioneve dhe përmisimin e tyre.Me pyetësorin Total mund të bëjmë kalkulime me të gjitha fushat në tabelë osepyetësor.P.SH. dëshirojmë të gjejmë numrin e kredive të aprovuara nga BANKA.

Page 20: Sistemet Web-Server - fridagjermeniblog.files.wordpress.com  · Web viewnje celesi. Vini re se entitetet kthehen ne tabela. Identifikuesit e entiteteve kthehen ne celesa primare

Sistemet Web-Server

Shkojmë te Queries dhe zgjedhim Create query in Design View, zgjedhim tabelënKREDITË dhe i bartim fushat Tipi i kredisë dhe Aprovimi në zonën e dizajnimit tëpyetësorit.Tipi i pyetësorëve ActionKy tip i pyetësorëve është special, quhen pyetësorë të aksionit (Action) që na mundësojnëtë ndryshojmë vlerat në të dhënat tona.Vet termi Action (Aksion) percakton një pyetësor qëthjesht bën diçka më shumë se sa selektimin e të dhënave dhe paraqitjen e tyre nëbashkësinë e të dhënave (Recorset).Pyetësori Action mund të konsiderohet si një pyetësorSelect që i është dhënë një detyrë ta kryej mbi një grup të caktuar të të dhënash.Me krijimin e një pyetësori ne automatikisht krijojmë një pyetësor Select, ku pastaj nemund të zgjedhim tipet e pyetësorit në pullën Query type që gjendet më toolbar.

Nga kjo meny mund të zgjedhim disa tipe të pyetësorëve Action.Zgjedhjet në meny janë :Make Table, Update, Append dhe Delete.Në dallim nga pyetësorët Select, pyetësorëtAction identifikohen me një pikëçuditëse për skaj simbolit të pyetësorit.

Janë katër tipe të ndryshme që kanë ikona të ndryshme.Me anë të pyetësorëve Actionmund të kryejmë:Fshirjen e të dhënave të caktuara nga një tabelë ose grup i tabelaveShtojmë të dhënat nga një tabelë te tjetraNdryshojmë të dhënatKrijojmë një tabelë të re nga të dhënat e caktuara nga ndonjë pyetësorKrijimi i pyetësorit APPEND për kopjimin e të dhënave

Page 21: Sistemet Web-Server - fridagjermeniblog.files.wordpress.com  · Web viewnje celesi. Vini re se entitetet kthehen ne tabela. Identifikuesit e entiteteve kthehen ne celesa primare

Sistemet Web-Server

Fjala append nënkupton bashkangjit, pra pyetësori APPEND bashkangjet të dhënat te njëtabelë e caktuar.Pyetësori APPEND bashkangjet të dhënat nga tabela të cilën e përdorimte ndonjë tabelë tjetër.Tabela në të cilën dëshirojmë që këto të dhëna t’i shtojmë duhet qëtë jetë e krijuar më parë.Të dhënat mund t’i shtojmë në bazën ku punojmë por edhe nëndonjë bazë tjetër.Me anë të pyetësorit APPEND mund të kopjojmë të dhënat nga njëtabelë ose pyetësor dhe ti shtojmë në një tabelë tjetër.Gjatë punës me pyetësorët APPEND duhet të kemi kujdes në këto rregulla:1. Nëse tabela që po i bashkangjesim të dhëna ka fushë me çelës primar, atëherënuk mund të shtojmë të dhëna boshe ose vlera të dyfishta në atë fushë.2. Nëse shtojmë të dhëna në një bazë të të dhënash tjetër duhet që të dijmë vendindhe emrin e bazës së të dhënave.3. Nëse shfrytëzojmë * për bartjen e fushave në zonën e dizajnimit, nuk mund tëpërdorim më fushat individualisht në të njëjtën tabelë.Sepse Access-i do tëkuptojë se po provojmë që të shtojmë të dhënat e asaj fushe dyherë.4. Nuk duhet që të dhënat që i bashkangjesim të kenë ndonjë fushë Autonumber.Me respektimin e këtyre rregullave të thjeshta, pyetësori APPEND duhet që të punojëmirë dhe do të jetë një vegël e dobishme.Krijimi i pyetësorit DELETE për fshirjen e të dhënaveNga të gjithë pyetësorët, pyetësorët DELETE janë më të pa përshtatshëm.Kjo vjen ngashkaku se bëjnë fshirjen e të dhënave në mënyrë të përhershmë dhe tëpakthyeshme.Sikurse edhe pyetësorët tjerë edhe pyetësorët DELETE veprojnë në njëgrup të të dhënash në bazë të kriterit.Nëse paraqitet nevoja për fshirjen e të dhënave nëmë shumë se një tabelë përnjëherë atëherë duhet të shkojmë sipas hapave të mëposhtëm:Definimi i relacionit të tabelave në dritaren e lidhjeve (Relationship window)Kontrollimi i Integritetit ReferencialKontrollimi i Cascade Delete Related RecordsNëse lidhja e tabelave është një me shumë, pa definimin e relacionit të tabelave dhe nësenuk është zgjedhur Cascade Delete atëherë do të fshihen vetëm të dhënat nga tabela eparë.Pyetësori DELETE nuk fshin të dhënat në fusha të caktuara por fshin tërë të

Page 22: Sistemet Web-Server - fridagjermeniblog.files.wordpress.com  · Web viewnje celesi. Vini re se entitetet kthehen ne tabela. Identifikuesit e entiteteve kthehen ne celesa primare

Sistemet Web-Server

dhënën.P.SH. Krijojmë një pyetësor me tabelën KLIENTËT, në QUERY TYPE zgjedhimDELETE QUERY.Do të shohim se në zonën e dizajnimit shtohet rreshti Delete. Bartim* dhe fushën Emri në zonën e dizajnimit.Te fusha KLIENTËT.* dhe rreshti Deletezgjedhim From ndërsa te fusha Emri rreshti Delete zgjedhim Where dhe te rreshtiCriteria shkruajmë “Valbona”.E bëjmë ekzekutimin e pyetësorit, do të shohim se klientime emrin Valbona është fshirë nga tabela KLIENTËT si dhe janë fshirë edhe të dhënatmbi kreditë e klientit në tabelën KREDITË.Kjo ka ndodh shkaku i relacionit të këtyre dytabelave një me shumë si dhe Cascade Delete opcionit.Po të largohet opcioni CascadeDelete fshirja e kësaj të dhëne mbi këtë klientë nuk do të bëhet.

KRIJIMI I PYETËSORËVE CROSSTABAccess-i lejon krijimin e një tipi të përshatshëm të pyetësorit Total ai është pyetësoriCrosstab.Pyetësori Crosstab paraqet të dhënat në formatin rresht-kolonë.Thjesht thënëpyetësori Crosstab është një përmbledhje e të dhënave të caktuara nga titulli i rreshtit(row heading) dhe titulli i kolonës (column heading).Në këtë pyetësor rreshti Totalgjithmonë është aktiv dhe shërben për përcaktimin e opcionit Group by për titullin erreshtit dhe titullin e kolonës.Krijimi i pyetësorit Crosstab bëhet duke zgjedhur CROSSTAB QUERY në pullën

Page 23: Sistemet Web-Server - fridagjermeniblog.files.wordpress.com  · Web viewnje celesi. Vini re se entitetet kthehen ne tabela. Identifikuesit e entiteteve kthehen ne celesa primare

Sistemet Web-Server

QUERY TYPE në toolbar.Pastaj duhet që së paku tri fusha të jenë në zonën e dizajnimit:Fusha e titullit të rreshtit (row heading)Fusha e titullit të kolonës (column heading)Fusha ValueP.SH. Krijojmë një pyetësor në Design View nga tabelat KLIENTËT dhe KREDITË.Bartim fushat Tipi i kredisë, Shuma nga tabela KREDITË si dhe fushën Qyteti ngatabela KLIENTËT.Zgjedhim Crosstab Query në pullën Query type në toolbar.Në zonëne dizajnimit paraqiten rreshtat Total dhe Crosstab.Te fusha Tipi i kredisë, rreshti Totalzgjedhim Group by ndërsa te rreshti Crosstab zgjedhim Row Heading.Pastaj te fushaQyteti, rreshti Total zgjedhim Group by ndërsa te rreshti Crosstab zgjedhim ColumnHeading.Te fusha Shuma, rreshti Total zgjedhim Sum ndërsa te rreshti Crosstab zgjedhimValue.Ekzekutojmë pyetësorin dhe do të shohim një tabelë

Tipi i pyetësorëve SQLKy tip i pyetësorëve krijohet me gjuhën specifike të bazës së të dhënave SQL (StructuredQuery Language).Me SQL mund të krijojmë të gjithë pyetësorët e përfytyrueshëm.Mëgjërësisht për këtë do të mësojmë në kuadër të MYSQL-it.P.SH. Krijimi i pyetësorit nga tabela KLIENTËT me të gjitha fushat e asaj tabele në SQLbëhet:Select * from KLIENTËT Ku * paraqet të gjitha fushat e tabelës sikurse edhe te Access-i.

Page 24: Sistemet Web-Server - fridagjermeniblog.files.wordpress.com  · Web viewnje celesi. Vini re se entitetet kthehen ne tabela. Identifikuesit e entiteteve kthehen ne celesa primare

Sistemet Web-Server

Tipi i pyetësorëve TOP(n)Me anë të këtyre pyetësorëve Access-i na mundëson t’i gjejmë (n) të dhënat e para (ku nështë numër ose përqindje).Ky pyetësor gjithmonë përdoret me tipet e pyetësorëve që imësuam më parë.Nëse krijojmë një pyetësor në Design view nga tabela KREDITË dhe

bartim të gjitha fushat në zonën e dizajnimit.Pastaj shkojmë te Top Values nëtoolbardhe zgjedhim numrin e vlerave që dëshirojmë të paraqiten në bashkësinë e të dhënave osepërqindjen.P.SH. zgjedhim numrin 5, atëherë do të na paraqiten vetëm pesë të dhënat epara të bashkësisë së të dhënave.