Top Banner

of 22

leksion_2 database (baze te dhenash)

Oct 29, 2015

Download

Documents

diti
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

UNIVERSITETI ALEKSANDER MOISIU DURRES/ VITI AKADEMIK 09- 10

BAZA TE DHENASH/SPECIALIST RRJETI/ Viti dyte

LEKSION #2 / PERGATITI: EJONA XHEKA

1.1 Hyrje

Ne menyre te pergjithshme, te gjitha makinat ne Internet/Intranet mund te ndahen ne 2 kategori: server dhe klient. Ato makina te cilat i ofrojne sherbime makinave te tjera (si psh web serverat ose FTP serverat) quhen servera. Ato makina te cilat kerkojne te lidhen dhe te perdorin keto sherbime quhen kliente.

1.1.1 Karakteristikat e klientit dhe te serveritKlienti dhe serveri jane entitete logjike qe punojne se bashku per te kryer nje pune (task).

Klienti dergon nje kerkese per nje sherbim dhe serveri proceson kete kerkese te klientit dhe dergon mbrapsht tek klienti pergjigjen e kerkuar.

Dallimet midis nje serveri dhe nje klienti jane te meposhtmet:

1. Sherbimet:

Klient/server eshte nje bashkepunim midis dy proceseve qe behen run ne dy makina te ndara. Serveri eshte ai qe ofron nje sherbim dhe klienti eshte ajo makine qe e perdor kete sherbim. Parimisht, klient/server na ofron nje ndarje te paster te ndarjes se funksioneve duke u bazuar tek sherbimet.

2. Shperndarja e burimeves: Serveri mund ti sherbeje me shume se nje klienti ne te njejten kohe duke rregulluar aksesimin e burimeve prej klienteve te ndryshem.3. Protokollet asimetrike:

Kemi te bejme me nje lidhje nje-me-shume midis klientit dhe serverit. Klientat jane ata qe nisin gjithmone nje dialog me serverin per te kerkuar nje sherbim. Serverat jane ne gjendje pasive dhe presin kerkesa prej klienteve. 4. Fshehja e vendodhjes: Serveri eshte nje proces qe mund te behet run ne te njejten makine me klientin ose ne nje makine te ndryshme nga klienti. Klient/server jane zakonisht software qe maskojne vendodhjen e serverit nga klienti duke bere ridrejtimin e thirrjes per sherbime kur nevojiten. Nje program mund te jete nje klient, nje server, ose te dyja bashke.

5. Pershkallshmeria: Sistemet klient/server mund te pershkallezohen ne menyre vertikale ose horizontale. Pershkallezim horizontal dmth se mund te shtohen ose hiqen klienta duke pasur ndryshim te vogel ne performance. Pershkallezim vertikal dmth te migrojme ne nje server me te shpejte ose te shperndahet procesi ne disa servera.

6. Integriteti:

Serveri bashke me te dhenat qe ruan menaxhohet ne menyre qendrore, si rrjedhim ka lehtesi ne mirembajtjen e tij dhe siguri te madh te dhenash. Ne te njejten kohe, klientat jane perdorues personal dhe te pavarur.

1.2 Avantazhet dhe disavantazhet e klient/server

Avantazhet e Klient/Server

Informatizimi sipas arkitektures klient/server ofron nderfaqen e perdoruesit, ruajtje te dhenash dhe sherbime software-ike me produktivitet me te larte.

1.Shperndarje te dhenashTe dhenat jane informacionet e mbledhura nga procesi i punes ne nje kompani dhe duke kaluar ne server behen te kapshme nga te gjithe punonjesit e autorizuar ti manipulojne ato.

SQL (Structured Query Language) ofron te gjithe perdoruesve te autorizuar aksesim te ketij informacioni nepermjet nje view e cila eshte konsistente me nevojat e perdoruesve, e njejta view lejohet te aksesohet prej perdoruesve me te njejta te drejta.

2. Sherbimet e integruarNe modelin klient/server, i gjithe informacioni per te cilin klienti ka nevoje mund ta gjej ne desktopin e kompjuterit te tij. Nuk eshte e nevojshme qe nje klient te ndryshoje terminalin e vet te punes ose te logohet ne nje procesor tjeter per te aksesuar informacionin e nevojshem.

3. Ne rastet me te shumta arkitektura klient/server lejon ndarjen e roleve dhe te detyrave midis makinave te ndryshme te cilat jane te njohur me njeri-tjetrin vetem nepermjet nje rrjeti.

Kjo perben nje avantazh per kete arkitekture qe eshte lehtesia e mirembajtjes. Psh, eshte e mundur nje zevendesim, upgrade ose nje rivendosje e te gjithe serverit nderkohe qe klientet jane te pakapshem nga te gjitha keto ndryshime. Kjo lloj pavaresie nga ndryshimet e mundura eshte e njohur ndryshe si enkapsulim.

4. Te gjitha te dhenat jane te ruajtura ne servera, te cilat kane kontrolle sigurie shume me te madh sesa makinat e klienteve. Serverat kontrollojne aksesimin e burimeve dhe sigurojne qe vetem perdoruesit me te drejta te percaktuara mund te aksesojne te dhena dhe ti ndryshojne ato. Meqenese data storage eshte i qenderzuar, administrimi i te dhenave te update-uara eshte shume i lehte te kryhet.

Disavantazhet e klient/server

1. Rendimi i trafikut ne rrjet perben nje disavantazh. Me rritjen e numrit te klienteve te njekohshem lidhur me te njejtin server, serveri mbingarkohet dhe ulet aftesia e tij per ti sherbyer te gjithe klientave.

2. Ne arkitekturen klient/server nqs ne rastet kritike nje server fail, ath kerkesat e klienteve te tij nuk mund te permbushen.

2.1 Tipet e serverave

a. File Server

File Servers jane te dobishem per te bere share informacionin,

Klienti dergon nepermjet rrjetit nje kerkese per nje file tek file serveri

Ky eshte tipi me primitive i sherbimit te te dhenave i cili eshte perdorur per shkembime mesazhes ne rrjet per te gjetur te dhenat e nevojshme.

I gjithe file i kerkuar kalon nepermjet rrjetit nga serveri tek klienti

Keta lloj serverash jane te perdorshem si repository per flat documents, vizatime apo imazhe.

b. Database ServerNe rastin e nje bisnesi te vogel softi i databases mund te behet run ne nje PC te vetme shume thjesht. Ne rastet kur behet fjale per bisnese te mesme apo te medha ath sasia e informcionit eshte shume e madhe, kemi shume punonjes ne rrjet qe kerkojne te aksesojne kete informacion ne menyre paralele; do te na hyjne ne pune softe i serverit te databases qe bejne te mundur aksesimin e databases prej punonjesve te ndryshem.

Kjo nuk eshte vetem ceshtje e lidhjes ne rrjet. Softet e serverave te databases lejojne qe i njejti informacion te mos aksesohet per ndryshime te njekohshme prej shume perdoruesve, qe indeksimi dhe sortimi I informacionit te behet sa me lehte, lejojne analize te informacionit te ruajtur ne database per krijime raportesh. Gjithashtu lejohet edhe perdorimi i aplikacioneve te ndryshme per te perdorur te njejtin informacion te qenderzuar.

Me ane te hardit te specializuar, nje server database ofron shume opsione, si psh stafi te mund te perdori aplikacione te ndryshme per te aksesuar bashkesine e informacionit te databases, por i gjithe informacioni do te qendroje ne serverin e databazes.

Meqenese databazat kane qene nje prej aplikacioneve me te hershem te krijuar, me kalimin e viteve dhe investimet qe jane bere ne drejtim te tyre kane arritur te perfeksionohen maksimalisht. Serverat e databases me modern arrijne te mbajne sasi shume te medhaja informacioni dhe ta ofrojne kete informacion ne nje varietet formatesh, duke perfshire paraqitjen automatike te te dhenave neper faqe webi dhe futjen e te dhenave nepermjet formave ne web apo tools-eve te tjera e-commerce. Per disa kompani serveri i databazes eshte zemra e gjithe veprimtarise se saj te perditshme.

Softaware i serverit te databazes eshte i ndryshem prej hardit te serverit, ku ky i fundit eshte makina fizike qe perdoret dhe lidhet ne rrjet; i cili eshte i ndryshem edhe prej sistemit operative ku ky i fundit behet run ne makinen fizike te serverit; porse ofron nje nderfaqe midis tij dhe aplikacioneve specifike.

Edhe pse kemi perkufzime te ndryshme per te treja keto komponente , ne punen e perditshme ato do te punojne se bashku shume ngushte, prandaj zgjedhja juaj per serverin e databazes do te ndikohet prej OS se serverit dhe hardit te zgjedhur.

Kemi thn q funksioni baz i DBMS sht t suportoj zhvillimin dhe ekzekutimin e aplikacioneve t bazs s t dhnave. Por nga nj kndvshtrim m i lart, nj sistem i till mund t shihet me nj struktur t thjesht q prbhet nga dy pjes: serveri (q shpesh njihet si back end) dhe nj bashksi klientsh (t quajtur front ends). Shpjegim:

1. Serveri sht vet DBMS me gjith funksionet e tij, q kemi prmendur. Pra server sht nj emr tjetr pr DBMS. Klientt jan aplikacionet q ekzekutohen mbi DBMS. Kto aplikacione mund t jen t gatshme ose t shkruara nga prdoruesi.2. Klienti dergon nje kerkese SQL ne formen e nje mesazhi tek serveri i databazes; rezultati i cdo komande SQL do te kthehet mbrapsht nepermjet rrjetit. Kodi i aplikacionit gjendet tek makina e klientit keshtu qe ose duhet te shkruhet kod per tu perdorur prej klientit ose blihen third-party tool te gatshme.

Meq i gjith sistemi mund t ndahet qartazi n dy pjes, serveri dhe klienti, ekziston mundsia e prpunimit t shprndar. Prpunim i shprndar do t thot q makina t ndryshme mund t lidhen n ndonj form rrjeti n mnyr q t dhnat t mund t shprndahen n to.

Shembulli m i qart i prpunimit t shprndar sht Interneti, ku prpunimi i t dhnave mund t bhet n makina t ndryshme t rrjetit. Mund t prdoret dhe termi prpunim paralel.

Mund t kemi nivele t ndryshme si: DBMS si back end dhe aplikacionet si front end. Kto dy njsi mund t qndrojn n nj makin t vetme por pr avantazhe t qarta, prdoren n makina t ndryshme. Kjo ilustrohet n figurn e mposhtme:

Aplikacionet e shkruara nga prdoruesi jan programe t shkruara n C#, . NET etj., ose n ndonj nngjuh. Aplikacionet e gatshme (q shpesh quhen tools)jan programe q shrbejn pr t krijuar programe t tjera.

Ndarja n makina t ndryshme sht n prputhje dhe me mnyrn si punojn sot kompani t ndryshme. Pr shembull, nj bank prpunon t dhnat n kompjutera t ndryshm. Edhe prdoruesit e ksaj banke mund t aksesojn t dhnat nga kompjuter t ndryshm. Makinat klient mund t ken ruajtur t dhnat e tyre dhe serveri aplikacionet e veta. N prgjithsi, cdo makin do t veproj si server pr disa prdorues dhe si klient pr disa t tjer. Me fjal t tjera, cdo makin do t suportoj nj sistem baze t dhnash.

Gjithashtu nj klient i vetm mund t doj t aksesoj servera t ndryshm. Kjo vecori sht mjaft e plqyeshme, pasi edhe kompanit e ndryshme operojn n mnyr t till q t dhnat e tyre nuk jan ruajtur n nj makin t vetme por jan t shprndara n disa t tilla. Edhe aplikacionet kan nevoj q t aksesojn t dhnat nga m shum se nj makin. Ky akses mund t ofrohet n dy mnyra t ndryshme:

Klienti mund t aksesoj disa servera, por vetm nj gjat nj kohe t caktuar (d.m.th. cdo krkes mund ti drgohet nj serveri t vetm). N nj sistem t till nuk sht e mundur q brenda nj krkese t kombinohen t dhna nga m shum servera. Pr m tepr prdoruesi duhet t dij se cila makin mban cilat t dhna. Klienti mund t aksesoj t dhnat n servera t ndryshm dhe njkohsisht (pra, nj krkes e vetme mund t kombinoj t dhna nga servera t ndryshm). N kt rast serverat e shohin veten si t ishin nj server i vetm dhe prdoruesi nuk ka nevoj t dij se ku ndodhen t dhnat npr servera.

Rasti i dyt prbn vrtet sistemin e shprndar t bazs s t dhnave. Baza e t dhnave e shprndar bn q nj aplikacion i vetm t jet n gjendje t operoj n mnyr transparente mbi t dhnat e shprndara n baza t dhnash t ndryshme, t menaxhuara nga DBMS t ndryshme, q ekzekutohen n makina t ndryshme, q suportohen nga sisteme shfrytzimi t ndryshm dhe q jan t lidhur n rrjete t ndryshme komunikimi. Me transparente kuptojm q aplikacioni operon sikur t dhnat t ishin t gjitha t menaxhuara nga nj DBMS i vetm q ekzekutohet n nj makin t vetme.

c. Transaction Servers

Klienti mund te therrasi remote procedure ose sherbime qe ndodhen tek serveri me nje databaze SQL duke perdorur transaction server.

Shkembimet ne rrjet konsistojne ne nje kerkese/pergjigje te vetme. Statement i SQL ose perfundon me sukses ose deshton.

Keto statement SQL te grupuara se bashku quhen transaksione.

Me nje transaction server krijohet aplikacioni klient/server duke shkruar kod si per komponentin klient ashtu dhe per komponentin server.

Komponenti klient zakonisht konsiston ne nje GUI (Graphical User Interface).

Komponenti i serverit konsiston ne transaksionin SQL kundrejt databazes

Keto aplikacioni jane quajtur OLTP (Online Transaction Processing).

OLTP eshte aplikacion mission-critical qe do te thote qe koha e pergjigjes duhet te jete me pak sesa (1-3 sec).

Aplikacionet OLTP kerkojne gjithashtu dhe nje kontroll te rrepte sigurie dhe integriteti te databazes.

TP Monitor (Transactional Processing Monitor) ofron menaxhim te transaksioneve; dmth sigurohet qe ose te gjitha veprimet brenda nje tranzaksioni te perfundojne me sukses ose kur edhe vetem nje veprim te deshtoje ath i gjithe tranzaksioni duhet te deshtoje dhe te kthehen mbrapsht ( roll back) edhe veprimet qe perfunduan me sukses brenda tranzaksionit.

Nje aplikacion mund te behet run ne disa makina njekohesisht dhe kjo behet per te shperndare ngarkesen e punes ne disa makina; ndryshe njihet si load balancing pra balancim ngarkese ne disa makina ne te njetin cluster. TP monitor eshte ai qe vendos ose rrugezon kerkesen e klientit drejt makines qe ka ngarkesen me te vogel te punes.

2.2 Arkitektura klient/server

2.2.1 Rreth Fat Servers dhe rreth Fat Clients

Dime se modeli klient/server dallohet per ofrimin e sherbimeve qe ofron si dhe funksionaliteteve qe jane te ndare midis klientit dhe serverit. Dallohen dy tipe e meposhtme:

1. Modeli Fat Server

2. Modeli Fat Client

1.Modeli Fat Server

Vendos me shume sherbime ne server

Zakonisht perdoret per aplikacione qe jane mission-critical

Aplikimi eshte me i thjeshte per tu menaxhuar duke qene se pjesa me e madhe e punes kryhet ne server.

Serverat Transaction perdorin cilesine e enkapsulimit per te eksportuar procedurat/metodat, te cilat veprojne mbi te dhena ne vend qe te meren vete te dhenat.

Klienti ndervepron me te tille servera duke perdorur therritjen remote te procedurave.

Shembuj te tille jane Groupware, Transaction Servers, and Web Servers.

2. Modeli Fat Client Vendos me shume funksione ne anen e klientit.

Jane format me tradicionale te sistemeve klient/server

Shembujt me te mire jane modelet e file server dhe databaze server ku klienti eshte ai qe di me mire sesi jane te organizuara te dhenat ( te ruajtura ne server)

Ne ambjentet real/aktual te punes eshte e mundur qe si fat server edhe fat client mund te bashkeekzistojne ne te njejten aplikacion.

2.2.2 ArkitekturaGurute e arkitektures klient/server nuk pelqejne te perdorin terminologjine fat server apo fat client, por ti referohen atyre me termat arkitektura klient/server 2-tier, 3-tier and N-tier. Kjo do te varet prej menyres se si jane ndare funksionalitetet. Tek keto te fundit do te bejne pjese: nderfaqja e perdoruesit, llogjika e bisnesit, te dhenat e bera share.

2.2.2.1 Arkitektura 2 shtresore Client/Server

Ne arkitekturen 2-tier nderfaqja e perdoruesit eshte e vendosur ne ambjentin e desktopit te klientit dhe sherbimet menaxheriale te databazave ndodhen ne server i cili eshte nje makine shume e fuqishme qe u sherben disa klienteve. Menaxhimi i procesimit ndahet midis nderfaqes se perdoruesit dhe sistemit menaxherial te DB. Ky i fundit ofron stored procedura apo trigera.

Kjo lloj arkitekture eshte nje zgjedhje e mire per rastin e punes ne nje grup i cili nuk ka me shume sesa 100 persona te lidhura ne LAN ne te njejten kohe. Por nqs kalohet ky numer limit ath performanca do te ulet. Nje tjeter pike e dobet e arkitektures 2 shtresore eshte fleksibiliteti i dobet i kalimit te funksionaliteteve nga nje server ne tjetrin pa rigjeneruar ne menyre manuale kodin e procedurave.

Ky eshte lloji i arkitektures me te perdorshme edhe ne ditet e sotme; lidhur me arkitekturen klient/server. I gjithe aplikacioni dekompozohet ne dy bashkesi sherbimesh. Klienti kombinon sherbimet e UI (user interface) dhe te bisnesit ndersa shtresa e dyte ofron sherbimet e te dhenave.

2.2.2.2 Arkitekura 3 shtresore klient/serverE dekompozon aplikacionin ne 3 bashkesi sherbimesh: UI, bisnesi dhe te dhenat.Llogjika e bisnesit zhvendoset ne serverin e aplikacionit. Te dhenat qe duhen bere share zhvendosen ne serverin e databases.

Arkitektura 3 shtresore lindi si pasoje e pikave te dobeta te arkitektures 2-tier. Ketu eshte shtuar nje shtrese middleware (www.middleware.org) e vendosur midis ambjentit te punes se klientit dhe sistemit menaxherial te databazave.

Ne cilat raste duhet perdorur arkitektura 3 shtresore klient/server?

Duke folur ne menyre te pergjithshme themi se arkitektura 2-tier eshte me e lehte per tu zhvilluar sesa ajo 3-tier; megjithate kur aplikacioni behet shume kompleks ath kompleksiteti i arkitektures 2-tier rritet ne menyre eksponenciale.

Nqs aplikacioni juaj ploteson nje nga pikat me poshte ath eshte mire qe te zgjidhni arkitekturen 3-tier.

1. Shume sherbime ose klasa ( rreth 50)

2. Aplikacioni eshte shkruar ne gjuhe te ndryshme programimi ose i krijuar prej disa organizatave.

3. Jetegjatesia e aplikacionit eshte me e madhe sesa 3 vjet.

4. Nqs kryhen me shume sesa 50,000 transaksione ne dite ose nqs ka me shume sesa 300 perdorues qe aksesojne te njejten databaze.

5. Nqs ka 2 ose me shume burime te dhenash si psh dy DBMS ose nje DBMS dhe nje file system.

3.1 Evolucioni i modelit te databases

Modelet e ndryshem te databases qe jane paraardhes te modelit relacionare kane pas qene zgjidhje te pjeshme te problemeve te pafund sesi duhet te ruhen te dhenat dhe sesi te perpunohen ne menyre sa me eficente. Modeli relacionare eshte momentalisht modeli me I mire lidhur me ruajtjen dhe aksesimin me te mire dhe te shpejte te te dhenave.

Evoluimi I modeleve te databazave ka ndodhur kur eshte kerkuar te kapercehen problemet qe ka pasur modeli paraardhes. Modeli i pare ka qene file system te njohur ndryshe si flat file. File system eshte OS. Cdo kush mund ti kontrolloj filet ne file system te sistemit operative me ane te komandes dir ne Dos, me nje kerkim te thjeshte ne Windows Explorer. Problem qendron sepse perdorimi i file system nuk ofron asnje strukture database.

Figura 3.1 tregon evoluimin e modeleve te databases qe nga vitet 1940 edhe ketej. Megjithese paksa te vjeteruar modelet hierarkike dhe rrjet jane perseri ne perdorim.

Figura 3.1 evoluimi iteknikave te modeleve te dataazes

3.1.a Modeli Hierarkik i Databazes

Modeli hierarkik i databases eshte nje strukture peme e invertuar; dmth se rrenja qendron siper dhe gjethet jane niveli me i ulet. Tabelat sipas ketij modeli do te kene lidhje prinderore me nje tabele tjeter dmth se krijohen relatat femije-prind. Cdo tabele femije ka nje tabele prind te vetem dhe cdo tabele prind mund te kete ne menyre te njekohshme disa tabela femije. Tabelat femije jane krejtesisht te varuru prej tabelave prind ne kuptimin qe cdo tabele femije mund te ekzistoj vetem nqs ekziston tabela prind i tij. Nga kjo rrjedh se cdo hyrje ne tabelen femije ekziston nqs ekziston si hyrje ne tabelen prind tabela prind e tij. Nga gjithe sa u tha arrihet ne perfundimin se modeli hierarkik i databazes suporton lidhjen nje-me-shume.

Figura 3.1.a eshte nje shembull i nje modeli hierarkik te databases. Cdo pune eshte pjese e nje projekti, i cili eshte ne varesine e nje menaxheri, qe eshte pjese e nje divizioni, qe eshte pjese e nje kompanie. Keshtu per shembull, ekziston nje relate nje-me-shume midis departamenteve sepse ka shume departamente ne cdo kompani. Disavantazhi i modelit hierarkik eshte se aksesi i cdo te dhene duhet te filloj qe prej rrenjes, qe ne rastin e figures tone eshte Company. Nuk mund te kerkohet per nje punonjes nqs nuk dihet se ne cilen kompani, department punon ai dhe cilin manaxher ka; vetem pasi kemi keto te dhena ath mund te arrijme tek punonjesi.

Figura 3.1.a modeli hierarkik i databazes3.1.b Modeli Rrjet i DatabazesModeli rrjet i databazave, mer si riferement modelin hierarkik i databazave. Modeli rrjet lejon qe tabelat femije te mund te kene me shume sesa nje tabele prind; duke krijuar ne kete menyre nje strukture peme te ngjashme me nje rrjet. Shume tabela prind per nje tabele femije bejne te mundur qe te krijohen relata shume-me-shume. Ne shembullin qe paraqitet ne figuren 3.1.b eshte vendosur lidhja shume-me-shume midis punonjesve dhe puneve. Me fjale te tjera nje punonjesi mund ti caktohen disa punera dhe nje pune mund ti caktohet disa punonjesve njekohesisht. Dmth se shume punonjes mund te kene shume pune dhe shume pune mund te kene shume punonjes.

Figura 3.1.b tregon sesi menaxheret mund te jene pjese edhe e kompanive edhe e departamenteve. Me fjale te tjera, modeli rrjet mer ne konsiderate qe jo vetem cdo department i kompanise ka nje menaxher porse cdo kompani ka nje menaxher te pergjithshem ( ne jeten e perditshme CEO). Figura me poshte tregon edhe disa tabela te reja. Njera eshte tabela qe tregon per tipin e punonjesit i cili mund te percaktohet si i punesuar part-time apo full-time. Me e rendesishme eshte tabela e cila percakton se cila pune duhet ti percaktohet kujt punonjesi. Krijimi i tabeles Assigment

Figura 3.1.b modeli rrjet i databases

3.1.c Modeli Relacionar i DatabazesModeli relacionar i databases permireson modelin hierarkik, porse nuk shkeputet plotesisht prej hierarkise se te dhenave ashtu sic mund te dalohet edhe prej figures 3.1.c, cdo tabele mund te selektohet ne menyre te menjehershme, pa qene e nevojshme selektimin e meparshem te objektit prind. Kyci qendron ne ceshtjen se per cfare duhet te shikoni-psh nqs deshironi te gjeni adresen e njerit punonjes duhet te dini se per cilin punonjes po kerkoni adresen ose rruga me e gjate eshte te gjeni adresat e secilit punonjes derisa te arrini tek adresa qe po kerkoni.

Nje perparesi tjeter e databazave relacionare eshte se cdo tabele mund te krijoj lidhje me tabela te tjera pa qene e rendesishme pozicioni hierarkik i tabelave. Natyrisht qe duhet te vendoset nje lidhje midis tabelave porse nje tabele mund e krijoje disa lidhje jo vetem me tabelat femije porse edhe me ato prind.

Figura 3.1.c tregon nje shembull te thjeshte nje database relacionare e cila bazohet ne skenarin e figures 3.1.b ; tabelat qe tregohen jane ajo e projekteve dhe ajo e punerave. Fusha Project_ID ne tabelen Project percakton ne menyre unike secilin projekt te ruajtur ne tabelen e projekteve. Relata midis projektve dhe punerave eshte nje lidhje nje-me-shume duke shfrytezuar fushen Project_ID. Nga figura 3.1.c vihet re se qe te treja hyrjet ne tabelen e punerave jane pjese te projektit te shitjeve te programeve.

Figura 3.1.c : modeli relacionar i databases

Figura 3.1.c modeli elacionar i databases- pamja e te dhenave

3.1.d Modeli Objekt i DatabazesNje model objekt database ofron nje pamje tre dimensionale te te dhenave ku cdo objekt ne kete lloj database arrihet te kapet ne menyre te menjehershme. Nqs ne rastin e databases relacionare ofrohen modele dy dimensional te te dhenave te cilat do sherbjne shume mire ne rastet kur kerkohen nje grup me te dhena, ndersa modeli objekt sherben shume mire ne rastet kur kerkohet nje objekt i vetem dhe jo nje grup objektesh.

Modeli i databazes me objekte na ndihmon te kalojme veshtiresi te tilla si nevoja per tipet e fushave te rekordeve dhe tabelat me lidhje shume-me-shume ne raste e databazave relacionare. Figura 3.1.d tregon modelin me objekte te modelit relacionar te figures 3.1.c .

Figura 3.1.d : modeli objekt i databases

Avantazhi i ketij lloj modeli database qendron ne faktin se sado kompleks dhe i madh te jete aplikacioni, secili element do te ndahet ne objektet baze perberes se tij dhe keta objeket mund te aksesohen ne menyre te drejperdrejte; pra duke njohur pjeset e vogla perberese mund te ndertohet figura e madhe dhe komplekse e gjithe skanearit me te cilin keni te beni.

3.1.e Modeli Objekt-Orientuar

DBMS-te objekt orientuar shtojne funksionalitete te databases gjuhes programuese.keto lloj DBMS perfshijne dhe zgjerojne akoma me shume semantiken e C# aqo Java; gjuhe keto objekt orientuese per te ofruar aftesi me te zhvilluara drejt programmimit ne database.

Nje database qe menaxhohet nga nje sistem menazhues i databazave te objekt orientuara njihet si ODBMS; object DBMS. Databazat e objekteve jane shume afer gjuheve objekt programuese dhe lejojne te dhenat e objektit te ruhen pa qene e nevojshme per te konvertim si ne rastin e databazave relacionare. Eleminohet nje pjese e mire kodi dhe objektet ruhen shume me shpejt.

Disa sisteme informacioni mund te kene strukture te dhenash mjaft komplekse dhe nuk eshte e lehte qe te modelohen sipas modeleve tradicional te te dhenave. Nje databaze objekt mund te perdoret ne rastet kur nje strukture hierarkike, rrjet dhe relacionale eshte e papershtatshme ose restrictive. Databazat me objekte mund te zgjidhin shume mire relaten shume-me-shume.USHTRIME

1.Shpjegoni termat e meposhtme:

a) Server

b) Fat client

c) Arkitekture klient/server

d) Tranzaksion

e) Fat server

f) Middleware

g) Klient

h) GUI2.Nertoni nje skeme te thjeshtezuar lidhur me Database Serverat. Shpjegoni shkurtimisht me fjalet tuaja llogjiken e funksionimit te tyre. Cfare kerkesash dergohen nga ana klient dhe cfare pergjigjeje do te ktheje ana server?

3.Ndertoni nje skeme te thjeshtezuar mbi arkitekturen 2-shtresore klient/server. Fol mbi organizimin e anes klient dhe te anes server ne kete lloj arkitekture. Si jane ndare GUI, BL dhe DBMS ne kete lloj arkitekture? Cilat jane disa avantazhe apo disavantazhe lidhur me arkitekturen 3-shtresore klient/server?

4.Ndertoni nje skeme te thjeshtezuar lidhur me File Serverat. Shpjegoni shkurtimisht me fjalet tuaja llogjiken e funksionimit te tyre. Si komunikojne klienti dhe serveri ne kete lloj serveri? Per cfare jane te perdorshem keta lloj serverash?

5.Ndertoni nje skeme te thjeshtezuar mbi arkitekturen 3-shtresore klient/server. Fol mbi organizimin e seciles shtrese perberese ne kete lloj arkitekture. Si jane ndare GUI, BL dhe DBMS ne kete lloj arkitekture? Cilat jane disa avantazhe apo disavantazhe lidhur me arkitekturen 2-shtresore klient/server?

Qarko pergjigjen e sakte:

1. Per arkitekuren klient/server eshte e vertete :

a) Fsheh vendndodhjen e serverit

b) Rritet lehtesia e mirembajtjes se te dhenave

c) Ulet siguria lidhur me te dhenatd) Behet me i lehte pershkallezimi vertikal e) Vetem a)

f) Vetem a) dhe b)

g) Vetem c

h) Tre pika nga te melarmet

Pergjigja. H)

2. Ne avantazhet e arkitektures klient/server hyn edhe :a) Shperndarje te dhenash

b) Ndarje te funksioneve

c) Rritje e integritetit

d) Vetem a)

e) Vetem a) dhe b)

f) Vetem a) dhe b) dhe c)

Pergjigje. F)

3. Ne lidhje me fat client nuk eshte e vertete:

a) Perdoret ne file dhe database servera

b) Vendos me pak sherbime ne anen server

c) Perdoren therritjet RPC

d) Vetem a)

e) Vetem c)

f) Vetem a dhe b)

Pergjigja. E)

4.Arkitekura klient/server :

a) Ofron nje ndarje te paster te funksioneve

b) Perdor protokolle asimetrike

c) Ofron enkapsulim te sherbimeve

d) Behet me i veshtire pershkallezimi horizontal

e) Vetem a)

f) Vetem a) dhe b)

g) Vetem c)

h) Tre pika nga te melartmet

Pergjigja. H)5. Ne disavantazhet e arkitektures klient/server hyn edhe :g) Perdorim kredencialesh per aksesim burimesh serveri

h) Ndarje te funksioneve

i) Rendimi i trafikut ne rrjet

j) Vetem a)

k) Vetem c)

l) Vetem a) dhe b)

m) Vetem a) dhe b) dhe c)

Pergjigja. E)6. Ne lidhje me fat server eshte e vertete:

g) Perdoret ne file dhe transactional servera

h) Vendos me pak sherbime ne anen server

i) Perdoren therritjet RPC

j) Vetem a)

k) Vetem c)

l) Vetem a dhe b)

Pergjigja. E)

7. Per serverat tranzaksional eshte e vertete se:

a) Ana klient konsiston vetem ne nje GUI

b) Ana server konsiston ne BL dhe RDBMS

c) Transaksioni SQL ka nje pergjigje te vetme pavaresisht nga numri i instruksioneve perberes.

d) Vetem nje nga pikat e para

e) Vetem dy nga pikat e para

f) vetem tre nga pikat e para

Pergjigja. F)

GUI and Application DBMS, Legacy and other resource

Managers

RPC,

MOM, HTTP

Tier 1

Tier 2

Dbms, Legacy and other resource managers

Tier 3

SQL data access