Bazat e të dhënave 1

122  Download (0)

Full text

(1)

Bazat e të dhënave 1. Skedarët sistemor dhe bazat e të dhënave

• Skedarët sistemor • Bazat e të dhënave • Modelet 2. Modeli relacional 3.Modeli E – R. 4. Normalizimi 5. SQL

6. Disajnimi i përparuar dhe implementimi 7.

8. Distribuimi Klient Serverët

(2)

Leksioni 1

Të marësh vendime të saktë kërkohet informacion i mirë, që merret nga fluksi i fakteve që njihen si të dhëna.

Bazat e të dhënave e kanë origjinën në sistemet e skedarëve, të cilat aktualisht janë komplet jasht mode, megjithatë t’i kuptosh ata është e rëndësishme, sepse karakteristikat bazë të sistemeve të skedarëve janë burimi i disa kufizimeve serioze të administrimit të të dhënave. Nga ana tjetër duke kuptuar sistemet e skedarëve, ju jeni më të prirur për ta kuptuar përse dhe si vetitë specifike të bazave të të dhënave janë mjaft të dobishme dhe do t’i shfrytëzoni këto veti në mënyrë të përshtatëshme.

Për të kuptuar arsyen e konceptimit të bazave të të dhënave duhet vënë në dukje diferencat ndërmjet informacioneve dhe të dhënave.

Të dhënat janë flukse faktesh. Supozojmë se kompania KOMROB (KOMpania ROBotike) kur dy devizione dhe secili prej tyre ka gjeneruar 1.380.456 dhe 1.453.507 dergësa respektivisht nga tremujori i parë 1999 deri në tremujorin e parë 2003. Kompania përmban 2.834.363 dergësa dhe po kaq fatura shpenzimi. Është e kuptueshme se për të nxjerrë konkluzione të ndryshme në rang devizionesh dhe për çdo tremujor kërkohet një punë mjaft sistematike në trajtimin e të dhënave. Koha jonë quhet “mosha e infirmacionit”. Ky term nënkupton prodhimin e një informacioni të mirë, relevant dhe në kohën e duhur. Le të përmbledhim disa elemente bazë:

 Të dhënat formojnë blloqet e ndërtimit të informacionit.  Informacioni prodhohet nga përpunimi i të dhënave.

 Informacioni përdoret për të zbuluar kuptimin e të dhënave.

 Informacioni i mirë, relevent dhe në kohë është çelësi i marrjes së vendimeve të mira.

 Marrja e vendimeve të mirë është çelësi për të organizuar mjedisin global. Baza e të dhënave është bashkësia e strukturuar e të dhënave e regjistruar në su

informatikës për të kënaqur në mënyrë të njëkohëshme shumë përdorues në mënyrë selektive dhe në kohë të ndarë.

Duke ia referuar praktikës vemë në dukje konceptet që lidhen me bazar e të dhënave.

Administrimi i të dhënave (Data Management) është disiplina që merret me gjenerimin, ruajtjen dhe marrjen e të dhënave.

Administrimi i të dhënave kërkon përdorimin e databazës të kompjuterit. Databaza përbëhet nga:

• Të dhënat e përdoruesit fundor, që jane fakte me interes për të.

• Metadata ose të dhëna mbi të dhënat, nëpërmjet të cilave të dhënet janë integruar.

Metadata prodhojnë përshkrimin e karakteristikave të të dhënave dhe bashkësinë që ekzistojnë ndërmjet tyre.

(3)

Në këtë kuptim databaza i ngjan përmbajtejes së një kabineti elektronik të organizuar mjaft mirë, në të cilin një program mjaft i fuqishëm i njohur si sistemi i administrimit të të dhënave (DBMS) krijon administrimin e përmbajtejs së kabinetit.DBMS është një koleksion programesh që administron strukturën e të dhënave dhe kontrollon aksesin në të dhënat e ruajtura. DBMS janë mjaft të rëndësishëm në shoqërinë tonë të informacionit. Në këtë kuptim vemë në dukje:

• DBMS ndihmon në menaxhimin e të dhënave në mënyrë mjaft efektive, në raport me periudhën kur kjo mënyrë nuk ekzistonte.

• DBMS përmban gjuhën e pyetjeve (query language) që bënë të mundur të marrësh përgjigje për pyetje të ndryshme.

• DBMS bëni të mundur krijimin e mjedisit në të cilin përdoruesit fundor kanë akses dhe administrim gjithnjë e më të mirë.

• Kjo sjellë një pamje të integruar të veprimeve të organizmit.

• DBMS redukton paqëndrueshmërinë e të dhënave.

Në menyrë skematike lidhja e përdoruesit fundor me databasin jepet më poshtë. Aplikimi (info) Struktura e Db

Përdoruesi Të dhënat fundor

Të dhënat e Të dhënat përdoruesit fundor Aplikimi (Info)

Aplikimet e përdoruesve mund të shkruhen në gjuhë programimi p.sh. COBOL ose në programet e përdorshëm në DBMS (DML).

• Përse është i rëndësishëm desinjimi i një Db.

Desinimi i një databaze është një punë vendimtare gjatë ndërtimit të Db, prandaj edhe i kushtohet një rëndësi e veçantë në zhvillimin e kushtit.

Një bazë të dhënash e dezinjuar mirë sjell pakësimin e llafollogjisë. Llafollogjia arrihet kur të njëjtat të dhëna ruhen në dy vende, dhe sjell gabime me trajtimin e të dhënave. DBMS Metadata Klientët Produktet Shërbimet

(4)

Përafrimi tradicional i bazave të të dhënave:

Megjithëse sistemi i skedarëve është mjaft i vjetruar në ditët tona, ka një seri arsyesh për t’i studjuar ata:

• Sistemi i skedarëve na jep prespektivë historike mbi mënyrën se si janë trajtuar të dhënat.

• Filozofi George Santagana ka theksuar “ata që nuk kujtojnë të shkuarën janë të dënuar ta përsërisin atë”.

• Një kuptim i karakteristikave të thjeshta të sistemit të skedarëve bën që kompleksiteti i konceptimit të bazave të të dhënave të kuptohet lehtë.

• N.q.s. kërkoni të konvertoni një sistem skedarësh të vjetruar në sistemin e bazave të të dhënave, jokonvente mbi sistemin e skedarëve janë të dobishme.

Në të shkuarën manaxherët e organizmave të vogla ishin të afta të ruanin të dhëna duke përdorur sistemin manual të skedarëve. Ky sistem skedarësh përbëhej nga koleksion dosjesh të cilat identifikoheshin saktë dhe ruheshin me radhë në kabinetin përkatës.

Një dosje në klinikën e mjekut përmban të dhënat e pacientit, duke patur një dosje për çdo klient. Në mënyrë të ngjashme manaxheri i personelit mund të organizojë të dhënat të dhënat e personelit me kategori të punëve që kryhen (hierarhike, teknike, pages etj.). Në dosjet klinike mbahen punonjësit detyrat e të cilëve janë teknike.

Gjatë periudhës kur të dhënat janë të pakta sistemi manual e kryen funksionin e tij. Megjithate me rritjen e organizmit dhe me rritjen e kompleksitetit të raportimeve, ruajta e të dhënave me sistemin manual bëhet gjithnjë e më i vështirë.

Kalimi nga sistemi manual i skedarëve në sistemin kompjuterik të skedarëve nga pikpamja teknike është kompleks. Si rrjedhim ç’faqet një tip i ri profesioni i njohur si specialist i përpunimit të të dhënave (Data ProcessingSpecialist =DP specialist). Specialisti i DP krijon strukturën e nevojshme të skedarëve, shpesh shkruan programe që administrojnë të dhënat dhe prodhojnë raportet përkatëse.

Fillimisht skedarët e kompjuterëve me sistemin e skedarëve ishin të ngjashëm me skedarët manual.

Le të marrim një shembull të skedarit të të dhënave të klientëve në një kompani të vogël sigurimesh siç tregohet në figurën në vazhdim.

(5)

Alban Mali 55 4 273394 36123 Arjan Tirana 52 2 321456 T1 $100 Besnik Skembi 52 2 456920 25246 Elton Durësi 56 3 412123 T1 $250 Agron Deti 55 4 719412 36123 Arjan Tirana 65 7 721892 T2 $150 Skender Kodra 56 7 920032 36123 Arjan Tirana 52 2 622321 S1 $300 Vera Fusha 89 5 420012 36155 Elton Durësi 52 3 451154 T1 $100 Petrit Degoi 52 2 125983 25246 Xhim Kovça 55 4 721182 T2 $850 Luan Curi 65 4 654322 37118 Arjan Tirana 65 5 921128 S1 $120 Alma Ferra 89 5 652421 37119 Xhim Kovça 66 3 425126 S1 $250 Genti Ullari 78 6 189124 25432 Elton Durësi 55 4 645133 T2 $100 Monda Dardha 67 7 254125 37118 Xhim Kovça 52 3 654331 S2 $100

Legjenda:

K_EMËR : Emri i klientit A_EMËR : Emri i Agjentit

K_PHONE : Numri i telefonit A_PHONE: Numri i telefonit të agjentit

të klientit TP : Tipi i sigurimit K_ADRESE: Adresa e klientit AMT : Mandati i sigurimit

K_ZIP : Kodi ZIP i klientit REN : Data e renovimit të sigurimit

Skedari i treguar më sipër përmban 10 rekorde. Çdo rekord është i përbërë nga 9 fusha. Regjistrimet janë ruajtur në skedarin me emrin KLIENT.

Duke përdorur skedarin KLIENT specialist i DP shkroi programet që prodhojnë raporte të dobishme për departamentin e shitjes (sales).

• Përmbledhjet mujore që tregojnë tipet dhe mandatet e sigurimit të realizuara nga çdo agjent (analizohet produktiviteti i çdo agjenti).

• Pagesat mujore për të përcaktuar cilët klient duhen kontaktuar për rinovimin e sigurimit.

• Raporti i cili përcakton raportet e typeve të sigurimeve për çdo agjent. Me kalimin e kohës shkruhen programe shtesë për të krijuar raporte të reja.

Në vazhdim Departamenti i shitjes krijon skedarin SHITJE, i cili mban veprimet ditore të Departamentit.

Për të raportet mbi pagesën e personelit, specialisti i DP kërkon krijimin e skedarit AGJENT. Duke u rritur numri i skedarëve krijohet një sistem i vogël skedarësh që tregohen në figurën e më poshtë.

(6)

Sistem Skedarësh i thjeshtë Administrimi i sistemit të skedarëve

Çdo problem i zgjidhur në sistemin e skedarëve të të dhënave kërkon programim në brezin e tretë të gjuhëve të programimit (therd-generation language – 3GL). 3GL kërkojnë nga programisti të specifikojë se çfarë duhet bërë dhe si duhet bërë.

Shembuj të 3GL janë COBOL, BASIC, FORTRAN etj.

Në këtë model për çdo skedar krijon Programet e administrimit të skedarit. Në këtë sistem elementet e sigurisë siç janë mbrojtja me fjalë kalimi, ruajtja nga vëzhgimet e skedarëv ose të sistemit të skedarëve janë të vështirë për t’u programuar. Programet e administrimit të skedarëve Raportet Skedari KLIENT Skedari SHITJE Programet e administrimit të skedarëve Raportet Programet e administrimit të skedarëve Raportet Skedari Agjent

(7)

Disavantazhet e sistemit të përpunimit të skedarëve 1. Teprimet e pa kontrolluara

Së pari: hapsira e kujtesës shpenzohet shpejt Së dyti: të njëjtat të dhëna regjistrohen disa herë Së treti: paqëndrueshmëria (njëri ekorigjon tjetri jo)

2. Mungesa e elasticitetit

Nuk i përgjigjet kërkesave komplekse menjëherë.

3. Standardizimi i dobët

Sinonima: dy emra të ndryshme për të njejtën gjë.

Homonimia : kur një emër përdoret për dy gjëra të ndryshme.

4. Produktiviteti i ulët i programimit

Duhet konceptuar çdo skedar dhe regjistrimi i përdorur nga një aplikim i ri.

5. Kostoja e lartë e mirëmbajtjes:

Aplikimet e ndryshme kanë programe individuale. Kështu që mirëmbajtja nxjeri problemet e standardizimit.

(8)

Funksioni i DBMS

DBMS kryen funksione mjaft të rëndësishme që garantojnë integritetin dhe qëndrushmërinë e të dhënave në Databazë. Shumica e këtyre funksioneve janë transparente për përdoruesin fundor dhe mund të arrihen nëpërmjet DBMS.

Këtë përfshinë funksionet e mëposhtme:

1. Administrimi i fjalorit të të dhënave(Data Dictionary Management)

DBMS kërkon përcaktimin e elementeve të të dhënave dhe relacionet (metedata) që ruhen në fjalorin e të dhënave. Të gjithë programet që hapen të dhëna në D.base punojnë nëpërmjet DBMS. DBMS përdor fjalorin e të dhënave për të gjetur komponentët e kërkuar të të dhënave si nga struktura dhe nga të dhënat.

Vëmë në dukje se çdo ndryshim që bëhet në strukturën e të dhënave automatikisht duhet paraqitur në fjalorin e të dhënave, duke na çliruar nga modifikimi i gjitha programeve që kanë cilësi në bazën e të dhënave.

2. Administrimi i ruajtjes së të dhënave (Data storage management). DBMS Krijon struktura komplekse që kërkohen poër ruajtjen e të dhënave, që na çliron ne nga puna e vështirë e përcaktimit dhe programimit të karakteristikave fizike të të dhënave. DBMS modern administron kujtesë jo vetëm për të dhënat, por edhe për format e ikonave që shërbejn për regjistrimin e të dhënave, përcaktimin e raporteve, rregullat e vlefshmërisë etj.

3. Transormimi dhe prezentimi i të dhënave: (Data transformation and presentation)

DBMS i transformon të dhënat e regjistruara në përputhje mestrukturën e të dhënave që është kërkuar. DBMS na çliron nga puna për të bërë diferencën ndërmjet formatit logjik të të dhënave dhe formatit fizik të tyre.

Paqëndrueshmëria e të dhënave.

Kur të njejtat të dhëna janë ruajtur në vende të ndryshme, paqëndrueshmëria e të dhënave është e paaritshme. P.sh. disa skedarë përmbajnë të dhënat e klientit. Supozojmë se do të ndryshojnë adresën e një klienti. Që skedarët të jenë të qëndrueshëm duhet të bëhet njëherësh (dhe në mënyrë korekte) në çdo skedar janë kontrolluar nga përdorues të ndryshëm është e mundshme që ndonjë skedar të paraqesë adresën e vjetër ndërsa të tjerët kanë adresën e re.

(9)

Paqëndrueshmëria e të dhënave është burimi më i madh i gabimeve në aplikimet e kompjuterizuara

Mungesa e elasticitetit: Sistemi i përpunimit të skedarëve bashkon disa lehtësira të prodhimit. Ky sistem prodhon shumë dokumente dhe raporte të punës së përditshme. Por sistemi nuk mund t’i përgjigjet në mënyrë të menjëhershme kërkesës për një “produkt” të konceptuar rishtaz. Kjo krijon shpesh probleme tek përdoruesit, të cilët nuk kuptojnë përse sistemi nuk plotëson kërkesën e tyre.

Kufizuashmëria e Ndarjes së të dhënave: Me përafrimin tradicional, çdo aplikim ka skedarët e tij privat dhe është një shansë i vogël për përdoruesit për të ndarë të dhënat jashtë aplikimeve të tyre. Pasoja e parë e ndarjes së kufizuar është se të njejtat të dhëna të futen disa herë me qëllim që të bëhen modifikimet e skedarëve.

Pasoja e dytë është në zhvillimin e aplikimeve të reja, konceptuesi e ka të vështirë të përdorë skedarët ekzistues.

Standardizimi i dobët: çdo organizëm kërkon procedura dhe metoda standarde që të operojë në mënyrë efektive. Në sistemet e informacionit standardet arrihen nëpërmjet emrit të të dhënave, formateve dhe kufizimeve të hapjes. Standardet është vështirë të arrihen në sistemin tradicional të përpunimit të të dhënave, kryesisht se përgjegjësia e konceptimit të sistemit është decentralizuar. Dy tipe paqëndrueshmërie mund të rezultojnë nga standardizimi i dobët.

Rezultatet Sinonim kur dy emra të ndryshëm janë përdorur për të njejtën rubrikë të dhënash p.sh. numri i studentit dhe numri i meshkujve.

Homonimi është një emër i vetëm që është përdorur për dy rubrika të ndryshme. Produktiviteti i ulët i programuesit : Në sistemin tradicional të përpunimit të skedarëve programuesi duhet të konceptoj çdo regjistrim dhe skedar të përdorur nga një aplikim i ri dhe pastaj kodin e përcaktimit të të dhënave në program. Programuesi duhet veç të tjerash të seleksionij metodën e haëjes së skedarit që do të përdoret dhe pastaj të shkruajë shprehjet e lexim/shkrimit në një program procedural. Kjo ngarkesë në konceptimin e skedarëve dhe regjistrimeve, përshkrimi i të dhënave dhe shkrimi procedurave të lexim/shkrimit është përsëritur për çdo aplikim dhe përbën një pjesë të madhe të zhvillimit të sistemit.

Kostoja e lartë e mirëmbajtjes: Në sistemin e përpunimit të skedarëve, përshkrimi i skedarëve, regjistrimeve dhe rubrikave të të dhënave janë të ndërthurura me programet individuale të aplikimit. Megjithatë ndryshimi në skedarët e të dhënave (p.sh. ndryshimi i emrit të të dhënës, formati ose metodës të hapjes) kërkon që programi ose programet të modifikohen.

(10)

kështu më të ulët koston e ndërhyrjes së njeriut në aplikimet. Zgjidhja më e mirë është për të ndërtuar standarde në përpunimin e të dhënave duke krijuar filozofonë dhe mjedisin automatik në të cilin këto disavantazhe mund të kontrollohen ose të eliminohen që në fillim. Kjo është ideja e përafrimit me baza të dhënash.

Përafrimi me baza të dhënash

Përafrimi ma baza të dhënash përfaqëson një koncept të ndryshëm me qeverisjen e burimeve të informacionit. Të dhënat shihen si një burim i rëndësishëm, i ndashëm që mund të administrohet si çdo bashkësi tjetër, si njerëzit, materialet, paisjet dhe lekët.

Në përputhje me Weverest (1976) koncepti i bazave të të dhënave është përqëndruar në ndarjen e përbashkët të burimeve të të dhënave, kontrolli i plotë i burimeve të të dhënave nga një përgjegjës i përbashkët dhe kooperimi në përmbajtjen e këtyre burimeve të të dhënave të ndarë.

Baza e të dhënave është një bashkim i ndarë i të dhënave bashkëvepruese, të konceptuara për të plotësuar nevojat me informacion të përdoruesve të shumëfishtë. Sejcili përdorues mund të kryejë një pamje unike të bazës së të dhënave në përuthje me nevojet e tij për informacion. Të dhënat janë ruajtur kështuqë ato janë të pavarura nga programet që ata përdorin. Përafrimi i përbashkët dhe i kontrolluar përdoret në kapjen dhe mbrojtjen e të dhënave, në shtimin, modifikimin dhe heqjen e të dhënave.

Baza e të dhënave është ilustruar në fig. 1-5. Baza e të dhënave përbëhet prej 10 skedarësh, vijat që lidhin skedarët paraqesin bashkëveprim ndërmjet tyre. Ndryshe nga fig. 1-2 dhe fig. 1-3 skedarët në fig. 1-5 nuk janë të lidhur direkt me aplikimin.

Në filim në B.D.ishin aplikimet e administrimit. Sot B.D. janë kudo. Ka një treg të madh të programeve dhe informacioneve.

Historiku:

1960: skedarët COBOL (gjuha COBOL u përdor si gjuhë e SEBD) 1920: B.D. hierarhike dhe rrjetore.

1980: B.D. relacionale 1990: B.D. objekt

(11)

Përafrimi me B.D.

• I kanë si dënim të dhënat të pavarura nga trajtimi.

• Përshkruan informacionet në kuadrin e një aplikimi konkret: - B.D. të shërbimit spitalor: të sëmurët, shërbimet etj.

- B.D. universitare: studentët, pedagogët, kurset, diplomat etj. - B.D. të filmave : titujt, vitet e prodhimit, aktorët, buxheti etj. Interesohuni për të dhëna me vakum të madh.

(12)

Përfitimi nga përafrimi me Baza të Dhënash

Përafrimi me baza të dhënash ofron një numër potencial avantazhesh. Ky përfitim përfshin teprime minimale tek të dhënat, qëndrueshmërinë e tyre, integrimin, ndarjen, forcimin e standardit, lehtësi në zhvillimin e aplikimeve, siguri uniforme, intimitetin (privacy), kontrollin e integruar, aksesin në të dhënat dhe përgjigjen pavarësinë e të dhënave dhe mirëmbajtjen e reduktuar të programeve.

Teprimet minimale të të dhënave: Në përafrimin me baza të dhënash skedarët e të dhënave janë integruar në një strukturë të vetme logjike. Në vazhdim çdo ndodhje e një njësie të dhënash është kontrolluar në mënyrë ideale vetëm në një vend të bazës së të dhënave. P.sh. fakti SHIT NË ADRESËN për një klient specifik, mund të jetë e regjistruar në dy skedarë të ndarë në sistemin e përpunimit të skedarëve. Në sistemin e bazave të të dhënave, ky fakt do të regjistrohet vetëm një herë.

Me këtë nuk duhet thënë se të gjitha teprimet do të zhduken. Shpesh herë ka arsye të qëndrueshme për të ruajtur kopje të shumëfishta të së njëjtës të dhënë (P.sh. të dhënat e efektivitetit të kopjes, të dhënat e kontrollit të vlefshmërisë). Megjithatë në sistemin e bazave të të dhënave, teprimet janë të kontrolluara.

Qëndrueshmëria e të dhënave duke eliminuar (ose kontrolluar) teprimet në të dhënat ne reduktjmë shum shanse për paqëndrueshmëri p.sh. çdo SHIT NE ADRESEN është ruajtur vetëm një herë, pra nuk mund të kemi mospërputhje në vlerat e ruajtura. Kurë në bazë të të dhënave janë lejuar teprimet, sistemi i bazave të të dhënave vetë e forcon qëndrueshmërinë duke modifikuar çdo ndodhje të njësisë së të dhënës. Në qoftë e njësia SHIT NE ADRESEN është ruajtur në dy regjistrime të ndryshme në bazat e të dhënave, atëherë sistemi i bazave të të dhënave do të bëjë korigjimin në të gjithë regjistrimet ku ndodh ndryshimi. Fetkeqësisht, shum sisteme sot nuk veprojnë për qëndrueshmërinë në këtë mënyrë.

Pamja 1 Pamja 2 Pamja 3

Shitja Llogaria Porositë

Tre pamje përdoruesish të ndryshme.

Klientat Klientat

Porositë Porositë Dërgesat

Klientat

Klientat

(13)

Integrimi i të dhënave

Në bazat e të dhënave, të dhënat janë organizuar në një strukturë të vetme llogjike së bashku me relacionet llogjike të përcaktuara ndërmjet njësive të caktuara të të dhënave. Në këtë mënyrë përdoruesi mundet të lidhë lehtësisht një njësi të dhënash me një tjetër. P.sh. po të lidhni një shikim në dhe të merni në konsideratë një Prodhim, kjo njësi është e lidhur me Materialet dhe përdoruesi mund të përcaktojë se çfarë materialesh janë të nevojshme për një prodhim të caktuar.

Ndarja e të dhënave

Baza e të dhënave është krijuar që të ndahet nga të gjitha përdoruesit e autorizuar në organizëm. P.sh. në një kompani të implementosh bazën e të dhënave do të thotë të plotësosh nevojat për informacion të llogarisë, shitjes, prodhimit, dërgimit dhe departamenteve të tjera. Shumica e bazave të të dhënave sot lejojnë përdoruesit e shumëfishtë për të ndarë bazën e të dhënave në mënyrë konkurente, megjithatë disa kufizime janë të nevojshme siç do të shihet në kapitujt e mëposhtëm.

Në sistemin e bazave të të dhënave, çdo departament funksional është paisur me pamjen (ose pamjet) e tij të bazës së të dhënave. P.sh. 1-7 tregon 3 pamje të ndryshme për K.P.D. Pamja e parë është për Departamentin e shitjes dhe tregon relacionet ndërmjet Klientit dhe njësive të Porosive. Pamja e dytë është për departamentin e Llogarisë dhe tregon relacionet ndërmjet Klientit, Porosive dhe njësive të Dërgimit. Pamja e tretë është për Departamentin e Porosive dhe tregon relacionet ndërmjet Produktit, Shitësit dhe Materialeve.

Forcimi i Standardizimit.

Krijimi i funksionit të administrimit të bazave të të dhënave është një pjesë mjaft e rëndësishme e përafrimit me baza të dhënash. Ky funksion organizativ ka autiritetin të përcaktojë dhe të përforcojë standardin e të dhënave. Nëqoftëse në K.P.D. përcaktohet funksioni i administrimit të bazave të të dhënave, kjo zyrë do të përcaktojë të gjitha emrate të dhënave dhe formatin si dhe akordon të drejtat e hyrjes për të gjithë kompaninë. Mbi të gjitha ndryshimet në standardin e të dhënave do të miratohet nga administrimi i bazave të të dhënave.

Lehtësia në zhvillimin e aplikimeve:

Avantazhi kryesor i përafrimit me baza të dhënash është se kostoja e kohës për zhvillimin e aplikimeve të reja është më e ulët. Studimet tregojnë se kur baza e

(14)

të dhënave është konceptuar dhe krijuar, programuesi e përcakton dhe e zhvillon aplikimin e ri 2-4 herë më shpejt se me baza të dhënash konvencionale.

Siguria uniforme, Intimiteti dhe Kontrolli i Integritetit:

Funksioni i administrimit të të dhënave ka juridiksionin e plotë mbi bazën e të dhënave dhe është përgjegjës për ndërtimin e kontrolleve të aksesit, modifikimit dhe mbrojtjes së të dhënave. Procedurat standarde të kontrollit dhe të standardizimit përmirësojnë mbrojtjen e të dhënave në krahasim me ato të sistemit të skedarëve të të dhënave. Megjithatë, nëqoftëse nuk janë aplikuar kontrolle të mirëfillta baza e të dhënave është më e paraqitshme se skedarët konvensional, meqenëse një bashkësi përdoruesish kanë ndarë burimet e përbashkëta.

Hyrja dhe përgjigja e të dhënave:

Sistemi i bazave të të dhënave krijon disa rrugë marrje për çdo njësi të dhënash, duke i dhënë përdoruesit më shumë fleksibilitet në vendosjen dhe marrjen e të dhënave se sa me skedar të dhënash.

Pavarësia e të dhënave

Ndarja e përshkrimit të të dhënave nga programet e aplikimit që përdorin të dhënat është quajtur pavarësi e të dhënave. Si rezultat i pavarësisë së të dhënave organizmi mund të zhvillojë aplikime të reja pa pasur nevojë të ndryshojë aplikimet ekzistuese.

Reduktimi i mirëmbajtjes së programeve:

Të dhënat e ruajtura mund të ndryshohen shpesh për arsye të ndryshme. Shtohen njësi të reja, ndryshohen formatet të dhënash, paisje të reja kujtesë ose metoda të kapjes futen e kështu me rradhë. Në mjedisin e skedarëve të të dhënave këto ndryshime kërkojnë midifikimin e programeve të aplikimit që përdorin të dhënat. Termi i mirëmbajtjes i referohet modifikimi ose rishikimit të programeve të vjetra për t’i bërë ata konform me formatet e reja të të dhënave, metodat e kapjes etj.

Në sistemin e bazave të tëdhënave, të dhënat janë të pavarura nga programet e aplikimit që i përdorin ato me kufizimet e mundshme ose të dhënat ose programet e aplikimit kërkojnë ndryshimin në faktorët e rinj që shtohen.

(15)

Komponentët e mjedisit të bazave të të dhënave

Komponentët kryesorë të mjedisit tipik të bazave të të dhënave janë treguar në fig. 1-8. Duke studjuar këta komponentë dhe lidhjet ndërmjet tyre ju do të keni një kuptim më të mirë të përafrimit me baza të dhënash dha avantazhet që ata kanë. Të gjashtë komponentët e treguar në fig. 1-8 janë përshkruar shkurtimisht në listën që jepet më poshtë.

1. Grupi i përdorësve: Grupi i përdorësve përbëhet nga kërkuesit e të dhënave. Kemi 3 kategori kryesore të kërkesave të përdoruesve: vetëm lexim, shtim/fshirje dhe modifikim. Të gjitha kërkesat për të dhëna janë realizuar nëpërmjet SQBDH. Ky sistem duhet të iterpretojë instruksionet e shprehura në termat e skemës së jashtme për t’i kthyer ato në urdhëra në bazën e të dhënave fizike. Arkitektura e një SQBDH ka realizime të ndryshme sipas natyrës së saj, por kryesorja rrjedh identike dhe lejon të sktësohen në mënyrë të përafërt principet bazë.

Niveli konceptial

Niveli i brendshëm Skema e brendshme

Fig. 1-8 Komponentet e mjedisit të bazave të të dhënave

2. Sistemi i Qeverisjes së Bazave të të Dhënave (SQBDH) është një sistem programesh që merr dhe plotëson të gjitha kërkesat për të dhëna. Normalisht, SQBDH lejon hyrjen e njëhershme të përdoruesve të shumfisht. Funksioni kryesor i këtij sistemi është të organizojë të dhënat në bartësat periferik dhe të vejë në dispozicion procedurat e kërkimit dhe të seleksionimit të këtyre të dhënave. Për të arritur në këto rezultate, përdoruesi përshkruan në termat abstrakte se çfarë dëshiron që ai të bëjë me këto të dhëna, duke i lënë në dorë sistemit të kryejë punën e kërkimit në funksion të paraqitjes dhe organizmit të të dhënave në suportet fizike. Ndërfaqësi Përdoruesi/Sistem SQBDH Udhëzuesi Fjalorit të të dhënave Administrimi Bazave të të Dhënave Baza e të dhënave

(16)

3. Baza e të Dhënave. Baza e të dhënave është depozitimi fizik të të gjithë të dhënave të përdoruesve. Një bazë të dhënash është një bashkësi e strukturuar të dhënash të regjistruara në bartësa të kapshëm nga kompjuteri për të kënaqur njëkohësisht shumë përdoruese në mënyrë selektive dhe në kohë të favorshme. Një bazë të dhënash realizohet për të regjistruar fakte, ngjarje që takohen në jetën e një organizmi dhe për t’i kërkuar ata sipas nevojës ose për të nxjerrë konkluzione duke bashkuar fakte elementare.

(17)

Operacionet e bazave të të dhënave relacionale

Algjebra relacionale përcakton rrugën teorike të manipulimit të përmbajtjeve të tabelave duke përdorur tetë operatorët relacional: SELECT, PROJECT, JOIN, INTERSECT, UNION, DIFFERENCE, PRODUCT dhe DEVIDE.

Ilustrimi i këtyre operatorëve bëhet mjaft lehtë: Union (mbledhja)

Ky operacion vepron mbi dy relacione të së njëjtës skemë. R1 dhe R2. Rezultati jep një relacion R3 që ka për n-është ata që bëjnë pjesë në R1 ose ata që bëjnë pjesë në R2 ose në të dy relacionet.

Për të ilistruar operatorin UNION dhe të tjerët në vazhdim do të përdorimrelacionet:

Furnizuesi

Num_Furnizuesit Emri Qyteti

F1 Arben Durrës F2 Luan Tiranë F3 Besnik Tiranë F4 Dritan Durrës F5 Ermir Elbasan Pjesa Furnizimi Me të dy relacionet.

Shënimet e këtij operatori çfaqen në disa forma:

R3 = R1UR2

R3 = UNION (R1, R2) R3 = APPEND (R1, R2)

Me këtë rast përbërësit e R1 dhe R2 janë identike dhe rezultati R3 ka po ata Num_Pjesë Emri Pjesës

P5 Vide P1 Dado P18 Bulon Num_Furnizuesi t Num_Pjesës F1 P1 F2 P18 F3 P5 F4 P18 F5 P18

(18)

P.sh.: R1 R2 Furnizimi Furnizimi 2 R3 = Furnizues1 U Furnizues 2 Furnizimi Num_Furnizuesit Num_Pjesës F1 P1 F2 P18 F8 P18 F3 P5 F2 P18 Diferenca:

Operacioni i diferencës vepron mbi dy relacione të së njëjtës skemë R1 dhe R2 që jep një relacion të tretë R3 që ka për n-është ata që janë me R1 dhe nuk janë në R2.

P.sh.:

Furnizues Seleksioni (Furnizues, Num_pjesës=P5) Num_Furnizuesit Num_Pjesës F1 P1 F2 P18 F5 P18 Num_Furnizuesit Num_Pjesës F3 P5 F1 P1 F2 P18

Num_F Emri Num_Pjese

F1 Arben P5

F2 Luan P5

F3 Besnik P5

Num_F Emri Num_Pjese

F1 Arben P5 F2 Luan P5 F3 Besnik P5 F1 Arben P1 F2 Luan P1 F3 Besnik P1

(19)

Bashkimi (Jointure) ose 0-Produkte

Operacioni që duke u nisur nga dy relacionet R1 dhe R2 formon një relacion të tretë R3 që përmban bashkësinë e të gjith n-ëshave që merren duke bashkuar n-ësha nga R1 dhe n-ësha nga R2 që verifikojnë kandidatin. Shënime: R3 = JOIN (R1, R2 kandita).

p.sh.:

F1 F2

JOIN (F1, F2, F1. NUM-F =. NUM –F) Num-F Emri Num-Pjese

F1 Erban P1

F1 Arben P18

F2 Luan P5

Bashkimi pa kondit korespondon me prodhimin kortezian

Prerja

Operacioni që vepron mbi dy relacione të së njëjtës skemë (kanë të njëjtat atribute) dhe që formon një relacion R3 që ka si n-ëshe ata që janë së në R1 ashtu dhe në R2. Paraqitja: R3 = R1 R2 R3 = AND (R2, R2) R3 = INTERSECT (R1, R2) Num_ F Emer F1 Arben F2 Luan F3 Besnik Num_F Num_Pjese F1 P1 F1 P18 F2 P5

(20)

Furni. 1

Furni.2

Antiprojeksioni: Jep ata n-ëshe që kanë vlera në të gjitha fushën e përcaktimit të atributëve që nuk marrin pjesë në anti projeksion.

Paraqitja:

R1 = R ]s[ s- atributi i antiprojeksionit R1 = Antiprojeksion (R, s).

p.sh.

FURNIZIM

Num_Furnizuesi Num_ Pjese

F1 P1 F2 P18 F1 P5 F3 P5 F1 P18 F5 P18 R1 = FURNIZIM ] NUM_FURNIZUESI[

Fusha e përcaktimit NUM_PJES = (P1, P5, P18) R1

NUM_FURNIZUESI F1.

Num_F Emri Qyteti

F1 Arben Durrës

F3 Besnik Tiranë

F4 Fatmir Durrës Num_F Emri Qyteti

F1 Arben Durrës

F3 Besnik Tiranë Num_F Emri Qyteti

F1 Arben Durrës

F2 Luan Tiranë

(21)

Pjestimi – jep njëshet që realizojnë rezultatet në vlerat e dhëna për n-ëshet e zgjedhura. P araqitja: R1 = R

÷

S R1 = DIVIDE (R, S) p.sh. FURNIZIM S Num_Furnizuesi Num_Pjese F1 P1 F2 P18 F1 P18 F5 P5 R1 = FURNIZIM

÷

S Funksionet e llogaritjes

Mundësia e përdorimit të lloharitjeve është futur duke përgjithësuar projeksionin, seleksionin dhe bashkimin duka përdorur funksione. Në këtë mënyrë atributi që gjendet me argumentin e një operacioni është zëvendësuar nga një shprehje e atributit.

Kjo lejon t’i përgjigjeni pyetjeve të reja:

p.sh.: Supozojmë se relacioni PJESE ( Num_pjese, Em_ Pjesë, Çmimi_Pa_TVSH), që precizon cili është çmimi pa TVSH i një pjesë.

Për t’ju përgjigjur pyetjes “jepni listën e emrave të pjesëve për të cilat çmimi me TVSH është <1000” jepet me

R1 = seleksion (PJESË, Emri_pa_TVSH 1.17<1000); jep n-ëshat Rezultati = Projeksion (R1, Em_Pjese). Jep listën e emrave

Agregatet Num_Pjese P1 P18 Num_Furnizuesi F1

(22)

Funsionet e llogaritjes lejojnë të bëhen llogaritje në rreshte, por shpesh lind nevoja e llogaritjeve në kolonë.

p.sh. mund të llogaritet shuma e shpenzimeve. Kjo realozohet nëpërmjet konceptit të agrgatit .

Një agregat është ndarja horizontale e një relacioni në funksion të vlerave të një grupi atributësh, e ndjekur nga një rigrupim nëpërmjet përdorimit të një funksioni të llogaritjes.

Funksionet më të përdorshëm mbi funksionet janë: - Shuma: shuma e elementeve të një bashkësie - Mesatarja

- Minimumi - Maksimumi - Numërimi (count) Forma:

R = AGREGAT(Relacion, atribut1, Funksion, Atribut2) Ku:

- Atribut1: paraqet një ose disa atribute të përdorurpër ndarje.

- Funksion: është funksioni i llogaritjes mbi bashkësi i përdorur mbi Atribut2.

p.sh. : Duke u nisur nga relacioni

FURNIZIM (Em_Furnizuesi; Num_P; Sasia)

Mund të llogarisëm sasinë që siguron çdo furnizues si më poshtë:

Rezultat = AGREGAT(FURNIZIM; Em_Furnizuesi, Sum (Sasia)) ose sasinë mesatare të lëvrimit

Përcakton kufirin

Rezultat = AGREGAT (FURNIZIM; ;AVERAGE (sasia)); Mesatarja totale

(23)

3. Jepen relacionet FLUTURIMET

Numri. Flut. Origjina Destinacioni

BA533 Napoli Lohndë GK

BA528 Londër A Pisa

KG2544 Verona Londër GK

KG2540 Venecia/MP Londër GK

KG946 Venecia/MP Mançester

BR382 Londër/GK Kai – Tak

BA019 Londër/HW Kai – Tak

AEROPORTET NDALIMET

Përgjigjuni pyetjeve në SQL: 1. Cilat aeroporte janë në Angli?

2. Cilat aeroporte mund të kapen nga Pisa? 3. Cilat udhëtime kanë më shum se 2 ndalime?

4. Në cilat vende ndalon BA 768?

5. Cilat fluturime fillojnë nga një aeroport Anglez?

6. Cilat fluturime fillojnë nga një aeroport Anglez dhe mbarojnë në një Italian?

4. Të jepet shija e verërave të gradës mbi 13 ose të prodhuara në vitin 1997. SELECT SHIJA FROM VERË WHERE GRADA >13 UNION SELECT SHIJA FROM VERË WHERE VITI_PRODH = 1997.

5. Të llogaritet grada mesatare e “Chablis”. SELECT AVG (GRADA)

Emër_Aeroporti Emër vendi

Napoli Itali Londër/ GK Angli Londër/ GK Angli Pisa Itali Verona Itali Venecia/ MP Itali Mançester Angli

Kai - Tak Hong - Kong

Numri_

fluturimeve Emër_Aeroporti Numri Ndalimit

BR 382 Dubai 1

BA 019 Dubai 1

(24)

WHERE SHIJA = “CHABLIS”

6. Të gjenden të gjitha kodet e verërave që janë pirë nga më shum se 100 vetë. SELECT NV

FROM ABUZIV

GROUP BY NV HAVINE COUNT (*)>100.

VERE (NV, Shija, Viti_Prodh, GRADA). PIJETAR (NP, EMRI ADRESA, SASIA).

1. Jepni listën e verërave që janë prodhuar më 1997 me Gradë më të madhe se 13.

2. Të jepet kodi i verës dhe shija për verërat e prodhuar më 1997 me shkallë mbi 13 në rendin alfabetik rritës të emrave të shijeve dhe zbritës të kodit.

SELECT SHITE, NV FROM VERË

WHERE VITI_PRODH: 1997 AND GRADA > 13

OP.DERED BY SHIJA, ASC, NV DESC.

3. Emrat e pijetarëve që kanë pirë Chablos. (3 mënyrë) I. SELECT UNIQUE EMRI

FROM PIJETAR, VERË, ABUZIV WHERE PIJETAR, NP = ABUZIV, NP AND ABUZIV, NV = VERË, NV. AND VERE, SHIJA. = “ Chablis”

II. SELECT UNIQUE EMRI FROM PIJETAR

WHERE NP IN

(25)

FROM ABUZIV. NV = VERË. NV AND VERË. SHIJE = “CHABLIS”).

III. SELECT UNIQUE EMRI FROM PIJETAR WHERE. NP. IN (SELECT NP FROM ABUZIV WHERE NV. IN (SELECT NV FROM VERË

WHERE SHIJA = “Chablis”).

4. Të jepet shija e verërave të gradës mbi 13 ose të prodhuara në vitin 1997. SELECT SHIJA FROM VERË WHERE GRADA > 13 UNION SELECT SHIJA FROM VERË WHERE VITI_PRODH = 1997.

5. Të llogaritetgrada mesatare e “Chablis”. SELECT AVG (GRADA). FROM VERË

WHERE SHIJA = “Chablis”.

6. Të gjenden të gjithë kodet e verërave që janë pirë nga më shumë se 100 vetë.

SELECT NV FROM ABUZIV

(26)

Modeli Relacional i Bazave të të Dhënave Njësitë dhe atributet:

Konceptimi relacional fillon duke përcaktuar njësitë e kërkuara.

Një njësi është një person, vend ose send rreth të cilit nemendojmë të grumbullojmë të dhëna. P.sh. në mjedisin universitar njësitë me interes mund të jenë stdentët, kurset, fakultetet etj. N.q.s. ju punoni në një shoqëri ajrore njësitë mund të jenë pilotët, avionët, linjat etj.

Njësitë grupohen në përputhje me karakteristikat e përbashkëta. P.sh. Studentët janë vendosur së bashku për të formuar bashkësi njësish. Çdo bashkësi njësish ka një emër. Zakonisht emri reflekton përmbajtjen e saj. P.sh. studentët e U.T. mund të ruhen në bashkësinë e njësive me emrin STUDENT. Në shoqërinë ajrore mund të përdoret emri i bashkësisë së njësisë AVION.

Çdo njësi ka disa karakteristika të njohura si atribute. P.sh. njësia STUDENT mund të përmbajë: kodin e studentit, emrin, notën mesatare, datën e regjistrimit, datën e lindjes, adresën e shtëpisë, numrin e telefonit. Në mënyrë të ngjashme shoqëria ajrore mund të përcaktojë atributet për njësinë AVION: kodi avionit, data e kontrollt të fundit, orët e fluturimit, orët e fluturimit nga mirëmbajtja e fundit.

Çdo atribut emërtohet për të treguar përdorimin përmbajtjes së tij. P.sh. në njësinë STUDENT, datëlindja mund të shënohet STU_DL, ose numri i telefonit të shtëpisë STU_SHPI_PHONE.

Tabelat dhe karakteristikat e tyre

Pamja logjike e bazave të të dhënave relacionale është lehtësuar nëpërmjet krijimit të lidhjes së të dhënave bazuar me strukturën e njohur si tabelë. Tabela është strukturë dy dimensionale e kompozuar nga rreshta dhe shtylla. Ndryshe kjo tabelë quhet relacion, emër i vendosur nga E.F.Codd.

Një relacion është paraqitur nga një tabelë duke pasur:

• Në emër të vetëm që identifikon atë

• Një numrë fiks kolonash,

(27)

p.sh. relacionet Furnizues, Pjesë, Furnizim. Atributet Furnizuesi n-ëshet Pjesa Furnizimi

Kolonat janë quajtur atribute. Çdo atribut:

- Është përcaktuar nga një emrë. Ky emër duhet të jetë i vetëm brenda një relacioni, për të evituar konfuzionin, dy atributet të relacioneve të ndryshme mund të kenë të njejtin emër.

- Rreshtat janë quajtur n-ëshe dhe janë të ndryshme në modelet relacionale. Radha e vendosjes së tyre nuk ka rëndësi. Sasia e n-ëshave në një relacion quhet kordinalitet.

- Çdo prerje rresht/kolonë përmban një vlerë të vetme. Të dhënat mund të klasifikohen në përputhje me formatin dhe funksionin e tyre.

a. Numerike: Numerike janë të dhënat mbi të cilat ju kryeni veprime arithmetike. P.sh. sasia është dhënë numerike.

b. Character: Të dhënat karakter të njohur ndryshe si string mund të përmbajnë karaktere ose simbole që nuk pranojnë veprime arithmetike. P.sh. Emri, Qyteti.

c. Date: atributet do të përmbajnë datat kalendarike. d. Logjike: mund të marrin vetëm vlerat true ose false.

- Çdo tabelë duhet të ketë një çelës primar. Në përgjithësi çelësi primar është një atribut (ose kombinim atributesh), që përcakton në mënyrë të vetme një njësi të dhënë (rresht). Në rastin e tabëlës Furnizuesi Kod_Furnizuesi është çelës primar i saj. Atributi Emri nuk është çelës primar sepse përcakton disa njësi.

Kod_furnizuesi Emri Qyteti

F1 Arben Durrës F2 Luan Tiranë F3 Besnik Tiranë F4 Dritan Durrës F5 Ermir Elbasan Kod_Furnizuesi Kod_Pjesë F1 P1 F2 P18 F3 P5 F4 P18 F5 P18

Kodi_Pjesës Emri_Pjesës Sasia

P5 Vidë 100

P1 Dado 50

(28)

Çelësi përbëhet nga një ose disa atribute që përcaktojnë atributet e tjera. P.sh. Kodi i një fature përcakton të gjitha atributet e tjera.

Kemi folur për çelësin primar në paragrafin e mëposhtëm. Për të vazhduar më tej konceptet do të marrim në konsideratë tabelën STUDENT të përcaktuar më poshtë:

Student

Stud_Kod Stud_Emër Stud_Mbiemër Stud_Dl DEPT_Kod Stud_Phone Prof_LOG

Roli i çelësit bazohet në konceptim e përcaktimit. Në konceptin e Bazave të të dhënave shprehja “A përcakton B” tregon se duke njohur vlerën e atributit B. Në tabelën STUDENT duke njohur Kod_Stud ju mund ta gjeni Emrin e studentit etj. Shprehja e dhënë më lart “A përcakton B” mund të përkthehet AB.

N.q.s. A përcakton B, C dhe D, ju do të shkruani A B, C, D. Duke u nisur nga tabela STUDENT ne mund të shkruajmë:

STUD_KODSTUD_EMËR

Në fakt STU_KOD i përcakton të gjitha përbërësit e tjerë STUD_KODSTUD_EMËR, STUD_MBIEMËR, STUD_DL, DEPT_KOD, STUD_PHONE, PRFO_LOG.

Në të kundërtën STUD_KOD nuk përcaktohet nga STUD_EMËR.

Principi i përcaktimit është shumë i rëndësishëm, sepse ai është përdorur në përcaktimin e konceptit kryesor të Databazës, që është ai i varësive funksionale. Termi varësi funksionale mund të përcaktohet mjaft thjeshtë në këtë mënyrë:

Në tabelën Student mund të themi se STUD_PHONE varet funksionalisht nga STUD_KOD. P.sh. studenti me kod 321452 përcakton STUD_PHONE 2134. Nga ana tjetër STUD_PHONE, sepse numri i telefonit 2267 i përket dy studentëve 324274 dhe 324291. Nga ana tjetër STUD_KOD me vlerën 324247 jepe numri e SMITH.

Në rastin kur varësia nuk përcaktohet një me një, atëherë zgjerohet koncepti i çelsit duke arritur në çelsin e kompozuar.

Një atribut që është pjesë e çelësit njihet si atribut i çelësit. Në relacionin STUDENT mund të shohim varësinë

STUD_EMËR, STUD_MBIEMËR  STUD_PHONE, STUD_DL (duke supozuar identike EMËR, MBIEMËR).

Duke marë në konsideratë çelësin e kompozuar ne mund të flasim për varësi funksionale të plotë (varësi elementare).

(29)

Përkufizimi: N.q.s. atributi B është funksionalisht i varrur nga çelësi i kompozuar A, por jo nga një nënbashkësi A’

A, atëherë themi se atributi B ka varësi të plotë funksionale nga A.

Me zgjerimin e klasifikimit të çelësave mund të përcaktohen disa tipe çelësash. P. sh. Çelësi primar është ai që identifikon çdo njësi.

Në relacionin student çelësi primar është STUD_KOD.

Çelësi kandidat është çelësi primar pa llotollogji. P.sh. STUD_KOD, është vet çelës kandidat.

Çelësi primar pasqyron atë që quhet integritet i njësisë. Për të mbajtur integritetin e njësisë vëmë në dukje se vlera “asgjë “ (që do të thotë nuk lejohen të mos regjistrohen vlera). Nuk është e lejuar në çelësin primar.

Shënim: “Asgjë” nuk do të thotë zero ose space. “Asgjë” do të thotë të bësh Enter pa shtypur ndonjë tast paraprakisht “Asgjë” N.q.s. përdoret jo saktësisht mund të kryojë probleme meqenëse mund të kenë kuptime të ndryshme. P.sh. “Asgjë” mund të paraqesë:

• Një vlerë të panjohur,

• Vlerë që njihet, pa e humbur,

• Kanditë të “pa aplikueshme”.

Në varësi të sofistikimit të zhvillimit të aplikimit “asgjë” mund të kryojë problem kur përdorim funksione si COUNT, AVERAGE dhe SUM. Në përdorimin e kanditave “asgjë” mund të kryojë probleme logjike kur tabelat relacionale janë të lidhura.

Tabelat në vazhdim PRODUKT dhe SHITËS ndajnë bashkë atributin KOD_SHITËS.

PRODUKT

KOD_PROD PËRSHK_PROD ÇMIM_PROD COD_SHITËSI

001278-AB SHEQER 65 232

12321UUV VERË 250 235

QER.34256 VAJ VEJETALL 170 231

SRE. 657UG TAPETË 6500 232

ZZX. 324Q 800 235

SHITËS

KOD_SHITËSI EMËR SHITËSI KODI_ZONËS_SHITËSIT PHON_SHITËS

230 Arben Mali 608 555_234 231 Vera Shkëmbi 615 123_536 232 Gent Deti 608 224_194 233 Arjan Kodra 904 342_656 234 Mira Pasha 615 123_324 235 Gëzim Pylli 615 899_425

(30)

Çelësi primar në tabelën PRODUKT është KOD_PROD, ndërsa në tabelën SHITËSështë KOD_SHITËSI. Lidhja ndërmjet dy tabelave bphet me KOD_SHITËSI.

Theksojmë se lidhja bëhet kur tabelat ndajnë një atribut. Më specifikisht çelësi primar i një relacioni paraqet ni çelës i jashtëm në relacionin tjetër. Çelësi i jashtëm është atribut, i cili bashkëshoqëron vlerat e çelësit primar në tabelën .

Në shembullin që kemi marrë në konsideratë KOD_SHITËSI është çelësi i jashtëm në tabelën PRODUKT dhe çelësi primar në tabelën SHITËS.

Së fundi është koncepti i çelësit sekondar, i cili është përcaktuar si element mjaft i rëndësishëm në marrjen e reultateve të pyetjeve. Çelësi sekondar përdoret për ndërtimin e Querive.

Sistemet e bazave të të dhënave

Problemet që çfaqen në sistemet e skedarëve i bëjnë bazat e të dhënave shumë tërheqëse. Ndryshe nga sistemet e skedarëve, databaza konsiston në të dhënat e lidhura logjikisht të ruajtura në të njëjtën hapsirë. Databaza paraqet ndryshim dhe nga fakti se si të dhënat janë ruajtur, hapur dhe administruar.

Nga pikpamja skematike është e qartë diferenca ndërmjet sistemit të skedarëve dhe data_bazës.

Sistemi i bazave të të dhënave Dept.Personelit Dept. Shitjes Dept. i financave DBMS Database Punënjësit Klientët Shitjet Inventari Llogaria Sistemi i skedarëve

Dept. Personelit Dept. Shitjes Dept. Financës

(31)

Komplementet e mjedisit të bazave të të dhënave

Dezinjimi dhe modelimi i bazës së të dhënave

Dezinjimi i bazës së të dhënave përbën problemin bazë për të aritur fuqinë e dëshiruar në përdorimin e saj. Dezinjimi është më i thjeshtë kur përdorim modelet. Modelet janë abstraksion i ngjrjeve dhe kandidatave të botës reale. Ky abstraksion na jep mundësinë të zbulojmë karakteristikat e njësive dhe lidhjeve midis tyre. N.q.s. modeli nuk është i ndërtuar mirë logjikisht atëherë databaza e derivuar prej tyre nuk do të sjellë efektivitetin e premtuar. Si përfundim mund të themi se modeli i mirë sjell dezinjim të mirë, që janë bazat për një aplikim të mirë.

Modelet e bazave të të dhënave mund të grupihen në dy kategori: modeli konceptual dhe modeli i implementimit.

• Modeli konceprual fokusohet në natyrën logjike të paraqitjes së të dhënave. Modeli konceptual lidh me faktin se çfarë do të paraqesin në databazë. Modelet konceptuale përfshijnë modelin njësi shoqërinë (E-R) dhe modelin objekt oriental.

• Modeli i implementimit merret me faktin se si janë paraqitur të dhënat në databazë ose se si është paraqitur struktura e të dhënave. Modeli i implementimit përfshin modelin hierarhik, modelin rrjetor, modelin relacional dhe modelin object-oriented.

Ndërfaqësi përdorues (sistem) Fjalori i të dhënave Administrimi i BDh SQBh BDh

(32)

Tipet e sistemeve të administrimit të të dhënave

DBMS në të cilën është bazuar sistemi i bazave të të dhënave mund të klasifikohet në përputhje me numrin e përdoruesve, me vendin (vendet) e vendosjes dhe zgjerueshmëria e përdorimit + tipi i përdorimit.

• Numri i përdoruesëve përcakton me se DBMS është klasifikuar. Single – user multi – user. DBMS single – oser sporton vetëm një përdorues në një çast të dhënë,

• Në përputhje me site e vendosjes DBMS klasifikohen:

- DBMS e çentralizuar - kur të dhënat vendosen në një site të vetëm. - DBMS e shpërndarë – kur të dhënat vendosen në disa site.

• Lidhur me tipin e përdorimit dhe zgjerueshmërinë jepen klasifikimet si më poshtë.

- Dbase transaksionale, kur merren informacione të .

- Dbase: decision support database, që lidhen me prodhimin e informacioneve që përdoren për të marrë vendime taktike dhe strategjike. Në këtë rast përdoren të dhënat . Termi data warehous (negacione të dhënash) përdoret për të dhënat që përdoren në këtë stil pune.

Aplication Model.

Një Model Aplikacioni përbëhet nga shërbimet e mëposhtme:

• Shërbimet e përdoruesit (User Services). Këto përbëjnë ndërfaqen e sistemit si p.sh. një GUI, një ndërfaqesh menush, apo një ndërfaqe command-line.

• Shërbimet e biznesit (Bussines Services). Këto përbpjnë logjikën e aplikacionit ose siç thuhet ndryshe business rules që lidh shërbimet e përdoruesit me shërbimet e të dhënave.

• Shërbimet e të dhënave (Data Service). Këto shërbime që zakonisht kryhen nga DBMS manipulojnë të dhënat dhe sigurojnë integritetin e tyre. Lejojnë përdoruesit të bëjnë insert, update, delete dhe të kërkojnë të dhëna pa u merakosur se ku ndodhen këto të dhëna, se si janë implementuar ato dhe se si aksesohen ato.

Po ku është e mira e ndarjes së një aplikacioni sipas këtij modeli? Më poshtë po listoj një serë arsyesh:

(33)

• Paralelizëm në ndërtimin software duke lejuar që antarët e grupit të ndërtimit të punojnë sëbashku në secilin nga grupet e shërbimeve. Kjo gjithashtu lejon antarët e grupit që të ndajnë punën në pjesë më të vogla dhe më të menexhueshme që bën rë mundur minimizimin e riskut.

• Ripërdorim i softwer-it, pasi shërbimet e biznesit mund tp implementohen si komponente p.sh. COM dhe mund të përdoren përsëri në software të ndryshëm. Fleksibilitet të lartë në mbështetjen e shumë shërbimeve të përdoruesve siç janë aplikacionet tradicionale dhe aplikacionet e reja web based.

• Qenja konsistent në grupe ndërtimi softwaresh pasi të gjithë grupet përdorin të njëjtin model zhvillimi aplikacioni.

• Mundësi për tu përshtatur me teknologji të reja pasi të tre grupet e shërbimeve izolojnë njëra tjetrën e nga efektet e ndryshmimit të teknologjisë për një grup shërbimiapo një tjetër.

Por cilat janë tipet e aplikacioneve që mbështesin këtë model? Single – tier, tow – tier, three – tier dhe n – tier janë tipet e aplikacioneve që mbështesin këtë model dhe paraqitin menyra për të implementuar fizikisht të tre grupet e shërbimeve. Single – tier.

Aplikacionet Single – tier janë aplikacionet që përcaktojnë shërbimet e përdoruesit, biznesit dhe të të dhënave në një makinë të vetme. Shembuj aplikacionesh single – tier janë MS Word, Ms Excel, më poshtë është dhënë një paraqitje grafike e këtij tipi aplikacionesh.

(34)

Vihet re dhe që atje kemi vendosur disa terma të rinj si Presentation Logic, Business Logic, Data Access Logic të cilat përbëjnë thelbin e grupeve të shërbimit.

Pra në këto tipe aplikacionesh kemi një centralizim të gjithë shërbimeve por le të kalojmë drejt decentralizimit.

Client/Server, tow–tiers, three–tiers dhe n–tiers.

Klient/Server është një nga teknikat dominante në ndërtimin e software-ve në IT dhe është zhvilluar ndërsa industria e kompjuterave kaloi nga sistemet më logjike të centralizuara drejt njëri rrjeti workstations dhe servers. Klient/Server konsitston në dhënjen e një arkitekture aplikacioni që bën të mundur që një proces i kompjuterizuar të ndahet në nënprocese më pak komplekse dhe një mekanizëm komunikimi për këto nënprocesse në mënyrë që ata të bashkëpunojnë me njëri-tjetrin. Qëllimi i ndarjes është që të arihet në një formë nivelesh e cila pastaj është më e lehtë për tu implementuar në disa makina në mënyra optimale. Këto nivele janë ashtu si e kam paraqitur dhe në figurën e mësipërme:

• Presentation Logic (Logjika e prezantimit) që hynë në user services.

• Business Logic (Logjika e biznesit) që hyn në Bussiness servicess.

• Data access Logic (Logjika e aksesimit të të dhënave) që hyn në data Services.

Ndërtimi i këtyre niveleve kërkon një modelim të kujdesshëm dhe përcaktim të saktë të kufijve midis tyre në mënyrë që të sigurohet që logjika e niveleve mos ndërfutet në njëra tjetra. Organizmi i logjikës në një mënyrë të tillë siguron që ndryshimet e mëvonshme në një nivel të kenë sa më pak ndikim në nivelet e tjera.

Single Tier

Use srvice

Client,

Peer Business Services

ose server

Data services GUI

Presentation Logic Busines Logic Data Acces Logic

(35)

Pra mund të themi: Klient/Server është një teknologji që implementon një sistem në një organizatë në një mënyrë modulare dhe fleksibil, duke lejuar shpërndarjen e aplikimit ndërmjet shumë makinave që ndodhen në një enterprise. Ka disa arkitektura Klient/Server të cilat implementohen sot le të shohim me rradhë ato:

Two – Tier klient/server

N.q.s. në single tier ne kishim një aplikim të vetëm këtu kemin darjen e tij në komponentet që marrin emrin klient dhe server. Gjeneracioni i parë i Klient/Server është evulimi i një sistemi file-sharing i cili u zëvendësua nga një Relational Database Management System (RDBMS). Sisteme të tilla ofrojnë përqindje të larta transaksionesh dhe kur klienti kërkon të veprojë mbi këto të dhëna ai dërgon një kërkesë përmes një rrjeti në DBMS e cila më pas i kthen një përgjigje duke i ofruar të dhënat që kërkoi.

Po ti krahasosh file sharing dhe klient/server, këto të fundit zvogëlojnë shum trafikun në rrjetpasi tashmë kthen vetëm të dhënat që do dhe jo gjithë skedari si në rastin file-sharing, gjithashtu DBMS të ofron mundësinë për krijimin e aplikimeve me shumë përdorues duke lejuar që të aksesohen dhe të ndryshohen të dhënat në mënyrë të sigurtë.

Këtu aplikacioni ndahet në dy nivele që përfaqësohen nga workstation dhe server për këtë arsye këto lloj aplikacionesh quhen dhe two-tier klient/server. Two-tier klient/server ndahen në dy tipe.

• Fat client/thin server

• Thin client/fat server

Fat client/thin server.

Ky është tipi më i zakonshëm i implementimi të sistemeve tow-tier ku logjika e prezantimit dhe e biznesit vendosen np klient duke e bërë atë marë emrin fat client, ndërse data accee logic vendoset në server që merr emrin thin server. Kërkesat për të dhëna implementohen nga klienti nëpërmjet gjuhës SQL dhe kalojnë në DBMS nëpërmjet një protokolli transporti të dhënash ose duke përdorur mekanizmin e ODBC.

(36)

Sisteme të tilla mund të implementohen lehtë duke përdorur RAD (rapi application development) tools siç janë MS Visual Studio, Sybase Power Builder dhe Borland Delphi. Këto sisteme janë të përshtatshme për mjedise workgroup. Por këto lloj sistemesh kanë disa probleme:

• Vetë arkitektura imponon që klientët duhet të jenë makina shumë të mira për të përballuar ngarkesën që do të thotë që të kesh workstations me fuqi procesim të lartë, sasi të madhe memorje dhe hapësirë në disk.

• Kërkesat në database mund të gjenerojnë rezultate të mëdha të cilat per tu transportuar më klient mund të shkaktojnë një trafik të tillë që të

degradojnë rrjetit.

• Çdo workstation që komunikon me server-in kërkon një lidhje të veçant që kërkon burimet e mëdha. P.sh. MS SQL Server kërkon 37K memorje për çdo përdorues që lidhet me të.

• Ndodhja e logjikës së biznesit në klient çon në një kosto të lartë të

shpërndarjes dhe mirëmbajtjes pasi për çdo ndryshim që mund të bëhet në logjikën e biznesit duhet që të merret dhe të çohet në çdo klient ndryshimi dhe kjo rrit koston.

• Gjithashtu nga praktika dihet se performanca e sistemeve të tilla bihe në mënyrë eksponenciale kur rrjeti degradon pasi është arritur një numër përdoruesish që punojnë në të.

Si përfundim mund të themi që kjo arkitekturë nuk na jep fleksibilitetin dhe performancë që nevojitet në një sistem të madh në enterprise ose Internet sic është Mercury.

Tow-tier fat client/thin Server

User Services Client

Business Services

Server Data Services

GUI

Presentation Logic Business Logic

Data Access Logic DBMS

(37)

Thin client/fat server.

Kjo është një alternativë e arkitekturës së më sipërme në të cilën logjika e biznesit është zhvendosur në anën e server-it pra në database duke përdorur teknikat e DBMS si stored procedure, triggers dhe constraints. Më poshtë po jap paraqitjen grafike të kësaj arkitekture.

Por dhe kjo arkitekturë nuk është adekuate për sisteme të mëdha pasi gjuha që përdoret për ndërtimin e stord procedure dhe triggers është shumë private p.sh. gjuha që përdoret MS SQL Server për implementimin e tyre T-SQL që ka

ndryshime nga PL/SQL e ORACLE.

Kështu që kemi më pak fleksibilitet dhe më pak mundësi për kalim nga një RDBMS në tjetrin.

Gjithashtu si dhe në rastin e parë mundësi për të mbajtur një lidhje database-i për çdo workstation ka ndikim në server dhe e bën jo të pëlqyeshme këtë arkitekturë për implementime në enterprise apo Internet.

Multi-tier klient/server

Duke patur parasysh të metat e mësipërme në mund të risim performancën e aplikimit dhe të zvogëlojnë trafikun në rrjet duke kaluar në një arkitekturë me tre tier ose siç quhet three-tier client/server.

Three-tier

Kjo arkitekturë konsiston në shtimin e një shtrese midis një thin klient dhe një thin serveri duke krijuar një arkitekturë me tre shtresa pra three tier. Më poshtë po jap grafikisht formën e një arkitekture të tillë.

Two-tier thin client/fat Server

User Services Client Busines Services Server Data Services GUI Presentation Logic Busines Logic DBMS Data Access Logic

Threetier Client/Server

User Services Client

Aplication Business Services

(38)

Klienti komunikon me shtresën e mesit ose siç quhet middle tier duke përdorur protokollohet standardi si TCP/IP, NetBEUIetj, më pas kljo shtresë e mesit komunikon me shtresën e tretë pra RDBMS duke përdorur protokolle komunikimi me database ose mekanizmin e ODBC.

Shtresa e mesit është përgjegjës për:

•Implementimin e logjikës së biznesit dhe formimin e kërkesave ndaj database-it.

•Përpunimin e përgjigjeve që vijnë nga database duke aplikuar përsëri logjike biznesi dhe gjenerimin e përgjigjeve ndaj klientit.

Në këtë rast nuk kërkohet një lidhje e veçant për çdo përdorues pasi shum sesione përdoruesish mund të ndajnë një lidhje të caktuar duke bërë të mundur ruajtje të burimeve të server-it.

Nëpërmjet kësaj arkitekture ne mund të implementojmë fizikisht të tre shtresat presentation logic, business logic dhe data access logic dhe që ka të miren që ne mund të ndryshojmë secilën nga tre shtrsat pa ndikuar shumë në shtresën tjetër.

Shpesh është e mundur që bussiness logic dhe data access logic të

qëndrojnë në të njëjtën makinë dhe kjo është një zgjidhje optimale. Në këtë rast kemi një shtresëzim logjik.

(39)

Kjo lloj arkitekture sot konsiderohet si e përshtatshme për aplikacionet në enterprise dhe Internet pasi janë më të menazhueshme, mund të mirëmbahen më lehtë dhe janë fleksibil duke ju përshtatur ndryshimeve të kërkesave të biznesit.

Multi-tier

Në këtë arkitekturë logjika e biznesit ndahet dhe shpërndahet në disa makina duke shfrytëzuar kështu procesimin e shpërndarë në paralel. Aplikacionet më të përshtatshme për këtë lloj arkitekture janë aplikacionet që shfrytëzojnë Internetin.

Lidhjet në

Lidhjet janë klasifikuar si “një-një” (1:1), “një-shumë” dhe “shumë-shumë” (M:N).

Tregon simboli 1:1 në këtë lidhje një njësi është e lidhur me një tjetër dhe anasjelltas. P.sh. një drejtor administron vetëm një shkallë dhe vetëm një shkallë është administruar vetëm nga një drejtor, që sjell lidhjen 1:1 ndërmjet tyre.

Ekzistenca e lidhjes 1:1 shpesh nënkupton që komponentët nuk janë përcaktuar si duhet. Megjithatë ka raste kur 1:1 janë përcaktuar në mënyrë të përshtatshme. P.sh. supozojmë ju administroni bazën e të dhënave të një kompanie punëson pilot, llogaritare, mekanike personel shërbimi etj. Pilotët kanë disa atribute, që nuk i kanë punonjësit tjerë siç janë liçensa, raporti mjekësor, eksponenca e fluturimit, kontrollet periodike mjekësore. N.q.s. ju i vendosni të gjitha vetitë specifike të pilotit në tabelën PUNONJËS, ju do të keni shumë “asgjë”, për punonjësit që nuk janë pilotë.

Për të eliminuar përdorimin e “asgjë” është mirë të ndahen atributet e pilotit në tabelën PILOT që është lidhur me PUNONJËS me lidhjen 1:1. (Sepse pilotët kanë disa atribute që janë njëlloj me punonjësit e tjerë siç janë emri, datëlindja, data e fillimit të punës etj.)

Lidhja 1:m është ideale në sistemin relacional dhe përbën blloqet kryesore në sistemin relacional. Më poshtë do të tregojmë se si konvertohen lidhjet M:N në 1:M.

(40)

lidhjeve ndërmjet njësive që do të përdorni diagrame entyti relation ship ose ERD ndërtuar modelin ERD. Për të ilustruar ERD

Të dy modelet përdorin karakteristikat për të paraqitur emrat e njësive janë me forma të mëdha: PUNONJËS, DEPA, dhe përdoren me numër njëjës.,

• Lidhjet janë folje aktive ose pasive dhe shkruhen me të vogla. P.sh. pikturon, punon për, prodhon

(41)

Duke u nisur nga shpnimet e mësipërme PIKTOR dhe PIKTURË do të paraqitet në modelin E_R më poshtë

Modeli Crow’s Foot. Modeli Chen

Pikturon

Fig. Lidhjet ndërmjet PIKTOR dhe PIKTURA.

Orientimi i ERD nuk është material. Lidhjet e mësipërme mund të paraqiten

pikturon

1 M

Fig. Paraqitja alternativë e modeleve.

Një paraqitje konkrete e lidhjeve të mësipërme. PIKTORI PIKTURA PIKTORI pikturon PIKTURA PIKTORI PIKTURA PIKTURA PIKTORI pikturon

(42)

PIKTORI

Në mënyrë të ngjashme me një universitet R.S. mund të ketë disa seksione, për çdo seksion i duhe një kursi. P.sh. kursi i Finance II mund të ketë seksione njeri të Hënë, Mërkurë, Premte (hmp) nga ora deri 11:00 dhe një tjetër Martë, Ejte, Shtunë (MES) nga ora 18:00 deri ora 19:00. Meqenëse çdo seksion është si KLASË, atëherë kemi lidhjen 1:M ndërmjet KURS dhe KLASË .

Paraqitja e saj është:

Modeli Crow’s Foot ka

Modeli Chen

1 M

Fig. Relacioni 1:M ndërmjet KURS dhe KLASE. Ky model mund të ilustrohet me tabela në formë të :

Ermi i databazës: KURS_BOLEGJ Emri i tabelës: KURS.

Çelësi primar: KURS_KOD Çelësi i jashtëm: s’ka

KURS_KOD DEPT_KOD KURS_PERSHK KURS_KREDIT

KODI_PIKTORI EMËR_PIKTORI

123 Luan

126 Besnik Kodi_Pikturës Titulli_Pikturës Kodi_Piktorit

1338 123 1339 123 1340 126 1341 123 1342 123 KURS KLASË KLASË KURS ka

(43)

ACCT_211 ACCT Accounting I 3

ACCT_212 ACCT Accounting II 3

CIS_220 CIS Hyrje në informatikë 3

CIS_420 CIS Database Design 4

QM_261 CIS Hyrje në Statistikë 3

QM_362 CIS Aplikime të Statistikës 4

Emri i tabelës: KURS. Çelësi primar: KURS_KOD Çelësi i jashtëm: KURS_KOD.

Klase_Kod Kurs_Kod Klase_Seksion Klase_orë Klase_Sallë Prof_Num

18012 ACCT_211 1 HMP 8-8:50am A-311 105 10013 ACCT_211 2 HMP 9-9:45AM A-200 105 10014 ACCT_211 3 ME 2:30-2:45pm A-252 342 10015 ACCT_212 1 HMP 10-10:50am A-311 301 10016 ACCT_212 2 E 6-8:40pm A-252 301 10017 CIS_220 1 HMP 9-9:50am B-209 228 10018 CIS_220 2 HMP 10-10:50am B-211 114 10019 CIS_220 3 M 6-8:40 pm B-209 228 10020 CIS_420 1 HMP 8-8:50am B-209 162 10021 QM_261 1 ME 1-2:50pm B-200 114 10022 QM_261 2 HMP 11-12:50pm B-200 114 10023 QM_362 1 ME 2:30-3:45pm B-200 162 10024 QM_362 2 HMP 10-10:50 am B-200 162

Fig. Baza e të dhënave KURS_KOLEGY

Në tabelën KLASE përbërësi KLASE_KOD përcakton në mënyrë të vetme çdo rresht, duke qenë çelës primar. Megjithatë kombinimi KURS_KOD dhe KLASE_SEKSION përcaktojnë në mënyrë të vetme çdo rresht të tabelës dhe formojnë çelës kandidat.

Lidhja 1:M implementohet lehtë në modelin relacional.

Duhet të jemi të sigurtë që çelësi primar i një tabele është çelës i jashtëm në tabelën me shumë.

(44)

Në lidhjen M:N lindin probleme në modelin relacional, por problemi zgjidhet duke dekompozuar atë në disa relacione 1:M.

Për të trajtuar problemin e shtruar le të ekzamonijmë mjedisin e kolegjit në të cilin çdo student mund të ndjekë disa KLASA dhe çdo klasë ka disa studentë.

Figura në vazhdim tregon modelin ERD për këtë problem. Modeli Crow’s Foot

ndjek

Modeli Chen

M N

Figura: Modeli M:N për lidhjen ndërmjet STUDENT dhe KLASË Vetitë e modelit ER sapotreguara janë:

• Çdo KLASÇ ka shum STUDENT-ë dhe çdo student ndjek shum KLASA.

• Ndryshe mund të themi se ka shum rreshta në tabelën KLASA për një rresht në tabelën STUDENT dhe ka shumë rreshta në tabelën STUDENT për një rresht në tabelën KLASA.

Le të paraqesim shembullin e një kolegji me dy studentë:

MBIEMRI KLASAT E ZGJEDHURA

SHKËMBI

Accounting 1, ACCT-211, CODE 10018, Hyrje në Informatikë, CIS-220, CODE 10018, Hyrje në Statistikë, QM-261, CODE 1002.

MALI

Accounting 1, ACCT-211, CODE 10018, Hyrje në Informatikë, CIS-220, CODE 10018, Hyrje në Statistikë, QM-261, CODE 1002.

Ky relacion mund të paraqitet në formë tabelare si në figurën në vazhdim. Emri i Databazës CH2-TEXT

KLASË

KLASË

STUDENT ndjek

(45)

Emri i tabelës STUDENT

STUD_KOD MBIEMRI KLASE_KOD

321452 SHKËMBI 10014 321452 SHKËMBI 10018 321452 SHKËMBI 10021 324257 MALI 10014 324257 MALI 10018 324257 MALI 10021

Emri i tabelës KLASË

Klasë_kod Stud_kod Kurs_kod Klase_seksion Klasë_orë Kasë_sallë Prof_kod 10014 321452 ACCT-211 3 HM 2:30-3:45pm B 201 342 10014 324257 ACCT-211 3 HM 2:30-3:45pm B 201 342 10018 321452 CIS-220 2 HEP 9-9:50am A 112 114 10018 324257 CIS-220 2 HEP 9-9:50am A 112 114 10021 321452 QM-261 1 HEP 3-9:50am C 305 114 10021 324257 QM-261 1 HEP 3-9:50am C 305 114 Fatmirësisht

Ne mund të shmangim problemet që lindin nga lidhja M:N duke krijuar njësi të kompozuara ose një urë.

Meqenëse tabela e këtillë është përdorur për të lidhur tabelat që më parë përfaqësonin lidhjen M:N. Njësia e kompozuar përfshin si çelës të jashtëm të paktën çelës primar të tabelave që do të lidhen.

Konceptuesi i Bazës së të dhënave ka dy opsione kryesore për të pëpërcaktuar çelësin primar të tabelës së kompozuar:

- Bëjhmë kombinimin e dy çelësave të jashtëm, - Krijojnë një çelës të ri primar.

Tabela REGJISTRIM lidh dy tabelat dhe quhet tabelë lidhëse.

Kanë në dukje se tabelat STUDENT dhe KLASË kanë nga një rresht për njësi. Tabela REGJISTRIM ka shumëzimin të tyre. Në tabelën e lidhjes mund të vendson të dhëna sipas rastit për efekte raportimesh. Për të përcaktuar gradën e studentit në një lënd duhen dhe KLASE_KOD dhe STUDENT_KOD.

(46)

Lidhja e tabelave të mësipërme paraqitet në modelin e të dhënave në vazhdim.

Modeli Crow’s Foot

kryen

Diagrama E-R e rreshtuar :2 relacionale 1:M

Gjendet në bën pjesë në

Modeli Chen

1 M N 1

në shembullin e mësipërm kemi ilustruar lidhjen ndërmjet STUDENT dhe KLSË. Figura mun të zgjerohet duke shtuar relacionin 1:M ndërmjet KURS dhe KLASË, dhe marrin figurën në vazhdim:

KLASË STUDENT

STUDENT REGJISTRIM KLASË

KLASË

KLASË STUDENT Regjistrmi

Figure

Updating...

References

Updating...

Related subjects :