Download presentation
Presentation is loading. Please wait.
1
Modelimi i marrëdhënieve relacionale (ER)
Leksion 3
2
Objektivat Karakteristikat kryesore të përbërësve të marrëdhënieve entitet Si përcaktohen dhe përmirësohen marrëdhëniet midis entiteteve dhe si përfshihen ato në procesin e projektimit të bazës së të dhënave Si ndikojnë përbërësit e ERD-së projektimin dhe zhvillimin e bazës së të dhënave Projektimi i bazës së të dhënave në botën reale shpesh kërkon harmonizimin e objektivave kontradiktore.
3
Modeli i marrëdhënieve entitet (ERM)
Entitetet Atributet Marrëdhëniet Lidhja dhe kardinaliteti Varësia ekzistencës Forca e marrëdhënies etj…
4
Modeli i marrëdhënieve entitet (ERM)
ERM formon bazat e një ERD-je. ERD përfaqëson databazën konceptuale nga pikëpamja e përdoruesit dhe përshkruan përbërësit kryesorë të databazës: entitetet atributet marrëdhëniet
5
ERM vs ERD
6
Modeli i marrëdhënieve entitet (ERM)
Simbolikat që përdoren për pasqyrimin e ERD-ve: Chen Crow’s Foot UML Dy të parat janë përdorur për të paraqitur disa koncepte bazë të modelimit ER. Disa koncepte mund të shprehen vetëm me simbolikën Chen. Meqë jemi më të interesuar rreth projektimit dhe zhvillimit të databazës, për shembullin final do përdoren simbolikat Crow’s Foot dhe UML. Simbolika Crow’s Foot fokusohet te implementimi, ajo mund të përfaqësojë vetëm atë që mund të implementohet.
7
Modeli i marrëdhënieve entitet (ERM)
Me fjalë të tjera: Simbolika Chen favorizon modelimin konceptual. Simbolika Crow’s Foot favorizon një qasje të orientuar drejt implementimit (zhvillimit). Simbolika UML mund të përdoret si për modelimin konceptual dhe për atë të implementimit.
8
1. Entitetet Një entitet është një objekt interesi për përdoruesin fundor. Në nivelin e modelimit ER një entitet në të vërtetë i referohet një grupi entitetesh dhe jo një rasti të vetëm entitet. Fjala entitet në ERM i referohet një tabele (jo një rreshti) në mjedisin e databazës. ERM i referohet një rreshti të tabelës si një ndodhi entitet. Në të dy simbolikat, Chen dhe Crow’s Foot, një entitet përfaqësohet nga një drejtkëndësh që përmban emrin e entitetit, që zakonisht shkruhet i gjithi me shkronja të mëdha.
9
2. Atributet Atributet janë karakteristikat e entiteteve.
Në simbolikën Chen, një atribut përfaqësohet nga një elips dhe lidhet me drejtkëndëshin e entitetit me një vizë. Çdo elips përmban emrin e atributit që përfaqëson. Në simbolikën Crow’s Foot atributet shkruhen në kutinë e atributeve poshtë drejtkëndëshit të entitetit. Simbolika Chen shpërdoron hapsirat, prandaj simbolika Crow’s Foot është më e përdorur.
10
Atributet
11
Atributet Atributet e kërkuar dhe atributet opsional (Required/Optional) Fushat (Domains) Identifikuesit (çelësat primarë) Identifikuesit e përbërë (Composite identifiers) Atributet e thjeshta dhe të përbëra (Simple/Composite) Atributet me një vlerë të vetme (Single-Valued) Atribute me shumë vlera (Multivalued) Zbatimi i atributeve me shumë vlera Atributet e përftuar
12
Atributet e kërkuar dhe atributet opsional (Required/Optional)
Një atribut i kërkuar është një atribut që duhet të ketë një vlerë; pra nuk mund të lihet bosh. Në simbolikën Crow’s Foot kemi tre atribute të kerkuara. Kjo tregon se do të kërkohet futja e një vlere. Një atribut opsional është një atribut që nuk e ka të detyrueshme që të ketë një vlerë; pra mund të lihet bosh.
13
Atributet
14
Fushat (Domains) Një fushë është bashkësia e vlerave që mund të ketë një atribut i caktuar. Për shembull fusha për atributin e gjinisë përbëhet nga dy mundësi: M ose F. Fusha e atributit të mesatares përbëhet nga [4:10] etj. Atributet mund të ndajnë të njëjën fushë. Për shembull, të pestë atributet e figurës mund të kenë të njëjtën fushë si për studentët dhe për pedagogët. Fjalori i të dhënave mund të lejojë që një atribut i porsa krijuar të trashëgojë karakteristikat e një atributi egzistues nëse përdoret i njëjti emër atributi.
15
Identifikuesit (çelësat primarë)
ERM përdor identifikues, një ose më shumë atribute që identifikojnë në mënyrë unike çdo ngjarje entitet. Në modelin relacional, këta identifikues hartohen si çelësa primar (PK) në tabela. Identifikuesit janë të nënvizuar në ERD. Atributet çelës janë gjithashtu të nënvizuar në një simbolikë të përdorur shpesh për të shprehur strukturën e tabelave: EMËR_TABELE (ATRIBUT_ÇELËS1, ATRIBUT2, ATRIBUT3,...ATRIBUTk) Për shembull, entiteti STUDENT përfaqësohet nga: STUDENT (STU_ID, STU_EM, STU_MB, STU_GJINIA, STU_ , STU_TEL)
16
Identifikuesit e përbërë (Composite identifiers)
Më e mira do ishte që një identifikuesi i entitetit të përbëhej nga një atribut i vetëm, por ekziston mundësia që të përdorim një identifikues të përbërë, një PK të përbërë nga më shumë se një atribut. Nëse KLA_ID do përdorej si PK, entiteti KLASE mund të përfaqësohet si: KLASE(KLA_ID, KURS_ID, KLA_SEK, KLA_ORARI, DHOME_ID, PED_ID) Po të mungonte KLA_ID, PK i përbërë do ishte kombinimi i KURS_ID dhe KLA_SEK, entiteti KLASE do përfaqësohej si: KLASE(KURS_ID, KLA_SEK, KLA_ORARI, DHOME_ID, PED_ID) Në të dy rastet çdo ndodhi entitet identifikohet në mënyrë të vetme. Në rastin tonë KLA_ID është PK dhe kombinimi KURS_ID dhe KLA_SEK është një çelës kandidat. Nëse fshihet atributi KLA_ID nga entiteti KLASE, çelësi kandidat mund të kthehet në një PK të përbërë.
17
Atributet e thjeshta dhe të përbëra (Simple/Composite)
Një atribut i përbërë, nuk duhet të ngatërrohet me një çelës të përbërë, është një atribut që mund të ndahet më tej duke dhënë atribute shtesë. Psh atributi ADRESE mund të ndahet në rrugë, qytet dhe shtet. Një atribut i thjeshtë është një atribut që nuk mund të ndahet. Për shembull, mosha, gjinia dhe statusi civil do të klasifikohen si atribute të thjeshta. Për të lehtësuar përpunimin e informacioneve të detajuara, do ishte më mirë që atributet e përbërë të ktheheshin në një seri atributesh të thjeshtë.
18
Atributet me një vlerë të vetme (Single-Valued)
Një atribut me një vlerë është një atribut që nuk mund të kenë dy vlera të ndryshme për një individ të caktuar. Psh, një person mund të ketë vetëm një numër për Sigurimet Shoqërore, dhe një makinë mund të ketë vetëm një numër serial (shasie). Një atribut me një vlerë të vetme nuk do të thotë domosdoshmërisht që është një atribut i thjeshtë. Për shembull, një numër serial, i tillë si SE , është me një vlerë të vetme, por është një atribut i përbërë, sepse mund të ndahet në rajonin në të cilën pjesa është prodhuar (SE), fabrikën brenda rajonit (08), makinerine brenda fabrikes (02), dhe numrin e pjesës (1895).
19
Atribute me shumë vlera (Multivalued)
Atributet me shumë vlera janë atribute që mund të kenë vlera të shumta. Psh, një nxënës mund të ketë disa nota në një lëndë, një person mund të ketë disa numra telefoni, një flamur mund të përmbajë shumë ngjyra, gjithashtu edhe një makinë. Në ERM-në Chen, atributet me shumë vlera tregohen me një vizë të dyfishtë që e lidh atributin me entitetin. Simbolika Crow’s Foot nuk i identifikon atributet me shumë vlera.
20
ERD në figurën e mëposhtme përmban të gjithë komponentët e prezantuar deri tani. Vini re se MAK_ID është PK, dhe MAK_NGJ është një atribut me shumë vlera i entitetit MAKINE.
21
Zbatimi i atributeve me shumë vlera
Edhe pse modeli konceptual mund të trajtojë marrëdhëniet M:N dhe atributet me shumë vlera, ju nuk duhet ti zbatoni ato në RDBMS. Në tabelën relacionale, çdo ndërthurje kolonë/rresht paraqet një vlerë të vetme të të dhënave. Nëse ekzistojnë atributet me shumë vlera, projektuesi duhet të zgjedhë një nga dy mundësitë e mundshme: Brenda entitetit origjinal, të krijojë disa atribute të reja. Krijo një entitet të ri të përbërë nga komponentët e atributit origjinal me shumë vlera.
22
1. Krijo atribute të reja Psh, atributi MAK_NGJ i entitetit MAKINE mund të ndahet për të krijuar atributet e reja MAK_NGJ1, MAK_NGJ2 dhe MAK_NGJ3, të cilat më vonë i caktohen entitetit MAKINE. Edhe pse kjo zgjidhje duket se funksionon, zbatimi i saj mund të çojë në probleme të mëdha strukturore në tabelë.
23
2. Krijo një entitet të ri Ky entitet i ri i lejon projektuesit të përcaktojë ngjyrën për pjesë të ndryshme të makinës, pastaj MAK_NGJ lidhet me entitetin origjinal MAKINE me një marrëdhënie 1:M.
24
Komponentët e atributit me shumë vlera
Krijo një entitet të ri Duke përdorur metodën e ilustruar në tabelë, ju mund të caktoni sa ngjyra të jetë e nevojshme, pa pasur nevojë për të ndryshuar strukturën e tabelës. ERM pasqyron elementët e renditura në tabelë. Kjo është mënyra më e përshtatshme për të pasqyruar atributet me shumë vlera. Krijimi i një entiteti të ri në një marrëdhënie 1:M me entitetin origjinal jep: fleksibilitet, zgjidhje të zgjeruar dhe është në përputhje me modelin relacional! Komponentët e atributit me shumë vlera Pjesët Ngjyra Lartë Bardhë Trupi Zezë Kofano Kuqe Brenda
25
Atributet e përftuar Një atribut i përftuar është një atribut vlera e të cilit llogaritet prej atributeve të tjera. Atributet e përftuar nuk nevojitet që të ruhen fizikisht brenda bazës së të dhënave; ata mund të përftohen duke përdorur një algoritëm. Psh, mosha e një punëtori mund të gjendet si diferencë midis datës aktuale dhe datëlindjes. Kostoja totale e një produkti mund të përftohet duke shumëzuar sasinë me çmimin për njësi. Shpejtësia mesatare mund të përftohet duke llogaritur raportin midis distancës së përshkruar dhe kohës në të cilën është kryer.
26
Atributet e përftuar Një atribut i përftuar në simbolikën Chen tregohet me viza të ndërprera që lidhin atributin dhe entitetin. Simbolika Crow’s Foot nuk ka një metodë për të dalluar atributet e përftuar nga atributet e tjera.
27
Atributet e përftuar Atributeve të përftuar ndonjëherë i referohemi si atribute të përllogaritura. Llogaritja e një atributi të përftuar mund të jetë e thjeshtë si mbledhja e dy vlerave, ose mund të jetë rezultati i përpunimit të shumë vlerave. Vendimi për të ruajtur atributet e përftuara në tabelat e databazës varet nga kërkesat dhe kufizimet e vendosura për një aplikim të caktuar. Projektuesi duhet të jetë në gjendje që të balancojë projektimin në përputhje me këto kufizime.
28
Avantazhet dhe disavantazhet e ruajtjes së atributeve të përftuara
Atributet e përftuara Të ruajtura Të pa ruajtura Avantazhe Zvogëlon punën e CPU-së Zvogëlon kohën e gjetjes së të dhënave Vlerat e të dhënave janë të gatshme Gjurmon historikun e të dhënave Kursen hapsirën e pajisjeve ruajtëse Llogaritjet ofrojnë gjithmonë vlerën aktuale Disavantazhe Kërkon punë të vazhdueshme për të siguruar aktualitetin e të dhënave Kërkon më tepër hapsirë (tepricë) Shton ciklet e punës së CPU-së Rrit kohën e gjetjes së të dhënave Shton kompleksitetin e kodit për query
29
3. Marrëdhëniet Një marrëdhënie është një lidhje midis entiteteve. Entitetet që marrin pjesë në një marrëdhënie njihen edhe si pjesëmarrës, dhe çdo marrëdhënie identifikohet nga një folje aktive ose pasive. Marrëdhëniet midis entiteteve veprojnë gjithmonë në të dy drejtimet. Për të përcaktuar marrëdhëniet midis entiteteve KLIENT dhe FATURE, ju do specifikonit që: Një KLIENT mund të gjenerojë shumë FATURA. Çdo FATURE gjenerohet nga një KLIENT. Pasi i njohim të dyja drejtimet e marrëdhënies, e kemi të thjeshtë për ta klasifikuar atë. Në shembullin e mësipërm do kishim një marrëdhënie 1:M.
30
Marrëdhëniet Është e vështirë të përcaktojmë llojin e marrëdhënies kur dimë vetëm një drejtim të saj. Psh, nqs kemi se: Një DYQAN menaxhohet nga një PUNETOR. Nuk e dimë nëse marrëdhënia është 1:1 apo 1:M. Duhet të pyesim “A mundet një punëtor të menaxhojë më tepër se një dyqan?” Nëse pyetja është po atëhere marrëdhënia do klasifikohej si 1:M dhe drejtimi i dytë i marrëdhënies do shkruhej: Një PUNETOR mund të menaxhojë shumë DYQANe. Nëse punëtori nuk mund të menaxhojë më shumë se një dyqan atëhere marrëdhënia do klasifikohej si 1:1 dhe drejtimi i dytë i marrëdhënies do shkruhej: Një PUNETOR mund të menaxhojë vetëm një DYQAN.
31
4. Lidhja dhe kardinaliteti
Marrëdhëniet e entiteteve mund të klasifikohet si 1:1, 1:M ose M:N. Termi lidhje përdoret për të përshkruar klasifikimin e marrëdhënies. Kardinaliteti shpreh numrin minimal dhe maksimal të dukurive entitet që lidhen me një dukuri të entitetit të lidhur. Në ERD, kardinaliteti tregohet duke vendosur numrat përkatës pranë entiteteve me formatin (x,y). Vlera e parë përfaqëson numrin minimal të entiteteve të lidhura, ndërsa vlera e dytë numrin maksimal.
32
Lidhja dhe kardinaliteti
Shumë projektues të databazave që përdorin simbolikën Crow’s Foot nuk i përshkruajnë kardinalitetet specifike në diagramin ER sepse këta kufij specifikë nuk mund të zbatohen drejtpërdrejt përmes projektimit të databazës. Disa mjete të krijimit të simbolikave Crow’s Foot për modelimin ER nuk i përfshijnë fushën e kardinalitetit në diagramë, prandaj nëse dëshironi ta shfaqni atë mund ta shtoni si tekst. Kur kardinalitetet specifike nuk përfshihen në diagramën e simbolikës Crow’s Foot, atëhere nënkuptohet nga përdorimi i simboleve që përshkruajnë lidhjen dhe pjesëmarrjet.
33
Lidhja dhe kardinaliteti
Njohja e numrit minimal dhe maksimal të dukurive entitet është shumë e dobishme në nivelin e programeve aplikativë. Psh, universiteti kërkon që të sigurojë që një klasë të mos krijohet nëse nuk ka të paktën 10 studentë të regjistruar. Nëse një klasë mund të mbajë vetëm 30 studentë, programi aplikativ duhet të përdori këtë kardinalitet për të kufizuar regjistrimet. DBMS nuk mund të trajtojë zbatimin e kardinaliteteve në nivelin e tabelave, kjo aftësi ofrohet prej programeve aplikativë ose trigger-ave.
35
Lidhja dhe kardinaliteti
Kardinalitetet tregojnë numrin e shfaqjeve të entitetit të lidhur. Psh, kardinaliteti (1,5) pranë entitetit KLASE tregon se çdo pedagog jep mësim në të paktën një klasë dhe jo më tepër se pesë klasa, do të thotë se një vlerë e PK e tabelës PEDAGOG shfaqet të paktën një herë dhe jo më shumë se pesë herë si FK në tabelën KLASE. Nëse kardinaliteti do tregonte si limit vlerat (1,N) do të thotë se nuk do kishte limit të sipërm për sa i përket numrit të klasave ku një pedagog mund të japë mësim. Kardinaliteti (1,1) pranë entitetit PEDAGOG tregon se në çdo klasë jep mësim një dhe vetëm një pedagog. Pra çdo ndodhi e entitetit KLASE lidhet me një dhe vetëm një ndodhi të entitetit PEDAGOG.
36
Lidhja dhe kardinaliteti
Lidhjet dhe kardinalitetet krijohen bazuar në deklarata shumë koncize (rregullat e biznesit). Këto rregulla, që rrjedhin nga një përshkrim i saktë dhe i hollësishëm të mjedisit të të dhënave të organizatës, përcaktojnë edhe entitetet, atributet, marrëdhëniet dhe kufizimet e ERM-së. Meqë përcaktojnë komponentët e ERM-së, duhet ti kushtohet vëmendja e duhur identifikimit të rregullave të biznesit si një pjesë e rëndësishme e punës së projektuesit të bazës së të dhënave.
37
5. Varësia ekzistencës Një entitet ka varësi-ekzistence nëse mund të ekzistojë në databazë vetëm kur shoqërohet me shfaqjen e një entiteti tjetër. Praktikisht kjo do të thotë se ka një FK të detyrueshëm, vlerat e të cilit nuk mund të jenë boshe. Psh marrëdhënia “KLASE ka PEDAGOG”. Entiteti KLASE ka qartësisht varësi-ekzistence nga entiteti PEDAGOG sepse është e pamundur për një KLASE të ekzistojnë pavarësisht nga pedagogu.
38
Varësia ekzistencës Nëse një entitet mund të ekzistojë pavarësisht nga të gjitha entitetet me të cilat është lidhur (quhet pavarësi- ekzistence), atëherë këtij entiteti i referohemi si një entitet i fortë ose entitet i rregullt. Psh supozoni se një korporatë përdor disa pjesë për të prodhuar produktet e saj, dhe disa prej këtyre pjesëve prodhohen nga vetë kompania kurse pjesët e tjera blihen nga shitësit. Ka shumë mundësi që një PJESE të ekzistojë pavarësisht nga një SHITES sepse të paktën disa nga pjesët nuk furnizohen nga një shitës. PJESEa ka pavarësi-ekzistence nga SHITESi. Simbolika Chen orientohet në modelimin konceptual dhe nuk i dallon marrëdhëniet e forta dhe të dobëta. Simbolika Crow’s Foot e orientuar në projektimin e bazave të të dhënave relacionale i aplikon direkt këto koncepte. (Si?)
39
6. Forca e marrëdhënies Koncepti i forcës së marrëdhënies bazohet në mënyrën se si përcaktohet çelësi primar i një entiteti të lidhur. Për të zbatuar një marrëdhënie, çelësi primar i një entiteti shfaqet si një çelës i huaj në entitetin e lidhur. Ka raste kur çelësi huaj është një komponent i çelësit primar në entitetin përkatës. Marrëdhëniet e dobëta (jo-identifikuese) Marrëdhëniet e forta (identifikuese)
40
Marrëdhëniet e dobëta (jo-identifikuese)
Një marrëdhënie e dobët (jo-identifikuese), ekziston nëse PK i entitetit të lidhur nuk përmban një komponent të çelësit primar të entitetit prind. Marrëdhëniet krijohen duke shfaqur PK të entitetit prind si një FK në entitetin e lidhur. Psh, supozojmë se subjektet KURS dhe KLASE janë përcaktuar si: KURS(KUR_ID, DEP_ID, KUR_PERSH, KUR_KRE) KLASE(KLA_ID, KUR_ID, KLA_SEK, KLA_ORA, DHOME_ID, PED_ID) Në këtë rast, ekziston një marrëdhënie e dobët midis KURS dhe KLASE sepse KLA_ID është PK i entitetit KLASE, ndërsa KUR_ID në entitetin KLASE është vetëm një FK.
41
Figura e mëposhtme tregon se si simbolika Crow’s Foot përshkruan një marrëdhënie të dobët me vendosjen e një vize të ndërprerë për marrëdhënien midis entiteteve.
42
Marrëdhëniet e forta (identifikuese)
Një marrëdhënie e fortë (identifikuese), ekziston kur PK i entitetit të lidhur përmban një komponent të çelësit primar të entitetit prind. Psh, përcaktimet e entiteteve KURS dhe KLASE tregojnë se një marrëdhënie e fortë ekziston midis tyre, sepse PK i përbërë i entitetit KLASE formohet nga KUR_ID + KLA_SEK. (KUR_ID në KLASE është edhe çelës i huaj që lidhet me entitetin KURS.) KURS(KUR_ID, DEP_ID, KUR_PERSH, KUR_KRE) KLASE(KUR_ID, KLA_SEK, KLA_ORA, DHOME_ID, PED_ID)
43
Marrëdhëniet e forta (identifikuese)
Simbolika Crow’s Foot e përshkruan marrëdhënien e fortë me një vizë të fortë ndërmjet entiteteve. Nëse marrëdhënia midis KURSit dhe KLASEs është e fortë apo e dobët varet se si përcaktohet çelësi primar i entitetit KLASE. Radhe e krijimit dhe hedhjes së tabelave në databazë është shumë e rëndësishme. Psh, në marrëdhënien "KURSi gjeneron KLASE”, tabela KURS duhet të krijohet para tabelës KLASE. Nuk do ishte e pranueshme të kishim një çelës të huaj të tabelës KLASE që i referohet një tabele KURS që nuk ekziston. Gjithashtu në një marrëdhënie 1:M ju duhet të hidhni vlerat e krahut “1” në fillimt për të shmangur mundësinë e gabimeve të integritetit referencial, pavarësisht nëse marrëdhëniet janë të dobëta apo të forta.
44
Në figurën e mësipërme dalloni simbolin O pranë entitetit KLASE
Në figurën e mësipërme dalloni simbolin O pranë entitetit KLASE. Kuptimin e këtij kardinaliteti do ta diskutojmë më të plotë kur të flasim për “Pjesëmarrjen në marrëdhënie” Mos harroni se natyra e marrëdhënieve shpesh përcaktohet nga projektuesi i databazës, i cili duhet të përdorë gjykim profesional për të përcaktuar se cili lloj marrëdhënie dhe force i përshtatet më mirë transaksionit, efikasitetit dhe kërkesave informative të databazës
45
Modeli i marrëdhënieve entitet (ERM)
Entitetet Atributet Marrëdhëniet Lidhja dhe kardinaliteti Varësia ekzistencës Forca e marrëdhënies etj…
46
Modeli i marrëdhënieve entitet (ERM)
Entitetet e dobëta Pjesëmarrja në marrëdhënie Shkalla e marrëdhënies Marrëdhëniet rekursive Entitetet e përbëra
47
7. Entitetet e dobëta Në kontrast me entitet e fortë, një entitet i dobët plotëson dy kushte: Entiteti ka varësi-ekzistence; nuk mund të ekzistojë pa entitetin me të cilin ka një lidhje. Entiteti ka një çelës primar që është pjesërisht ose tërësisht i përftuar nga entiteti prind në marrëdhënie.
48
Entitetet e dobëta Rikujtojmë shembullin KLASE-KURS. Entiteti KLASE shfaq varësi-ekzistence nga entiteti KURS. Por që të konsiderohet entitet i dobët duhet të plotësojë edhe kushtin e dytë, pra të krijojë një lidhje të fortë me entitetin nga i cili ka varësi-ekzistence. Simbolika Chen e identifikon entitetin e dobët duke përdorur një drejtkëndësh me kornizë të dyfishtë. Simbolika Crow’s Foot përdor vizën e marrëdhënies dhe kombinimet PK/FK për të treguar nëse entiteti i lidhur është i dobët. Një marrëdhënie e fortë (identifikuese) tregon se entiteti i lidhur është i dobët. Një marrëdhënie e tillë do të thotë se të dy kushtet për përcaktimin e entitetit të dobët janë plotësuar.
49
Entitetet e dobëta Rikujtojmë shembullin KLASE-KURS. Entiteti KLASE shfaq varësi-ekzistence nga entiteti KURS. Por që të konsiderohet entitet i dobët duhet të plotësojë edhe kushtin e dytë, pra të krijojë një lidhje të fortë me entitetin nga i cili ka varësi-ekzistence. Simbolika Chen e identifikon entitetin e dobët duke përdorur një drejtkëndësh me kornizë të dyfishtë. Simbolika Crow’s Foot përdor vizën e marrëdhënies dhe kombinimet PK/FK për të treguar nëse entiteti i lidhur është i dobët
50
Entitetet e dobëta Duke u bazuar në marrëdhënien ndërmjet KURSit dhe KLASEs mund të konkludojmë se KLASE është një entitet i dobët në lidhje me entitetin KURS. Duket qartë se një KLASE nuk mund të ekzistojë pa një KURS, kështu që ka varësi-ekzistence. Kërkesa e dytë nuk plotësohet KLASE(KLA_ID, KUR_ID, KLA_SEK, KLA_ORA, DHOME_ID, PED_ID) Kërkesa e dytë plotësohet KLASE(KUR_ID, KLA_SEK, KLA_ORA, DHOME_ID, PED_ID)
51
8. Pjesëmarrja në marrëdhënie
Pjesëmarrja në një marrëdhënie entiteti është opsionale ose të detyrueshme. Kujtoni që marrëdhëniet janë me dy drejtime. Ju duhet të konsideroni natyrën me dy drejtime të marrëdhënies kur përcaktoni pjesëmarrjen.
52
Pjesëmarrja në marrëdhënie
Pjesëmarrje opsionale do të thotë se një dukuri entitet nuk kërkon një dukuri të entiteteve përkatës në një marrëdhënie të veçantë. Psh, në marrëdhënien KURS-KLASE, të paktën disa kurse nuk gjeneronin një klasë. Prandaj, entiteti KLASE konsiderohet si opsional për entitetin KURS. Në Crow’s Foot, një marrëdhënie opsionale tregohet duke vizatuar një rreth të vogël (O) në anën e entitetit opsional. Ekzistenca e një entiteti opsional tregon se kardinaliteti minimal është 0 për entitetin opsional.
53
Pjesëmarrja në marrëdhënie
Pjesëmarrja e detyrueshme do të thotë se një dukuri entitet kërkon një dukuri të entiteteve përkatëse në një marrëdhënie të veçantë. Nëse asnjë simbol opsionaliteti nuk shënohet pranë entitetit, supozohet se entiteti ekziston në një marrëdhënie të detyrueshme me entitetin përkatës. Kur përshkruhet grafikisht, zakonisht tregohet me një shenjë të ngjashme me simbolin e krahut “1” të lidhjeve në Crow’s Foot. Ekzistenca e një marrëdhënie të detyrueshme tregon se kardinaliteti minimal është të paktën 1 për entitetin e detyrueshëm.
54
Dështimi për të kuptuar dallimin midis pjesëmarrjes së detyrueshme dhe opsionale në marrëdhënie mund të japin projektime, ku rreshta të përkohshme duhet të krijohen për të mundësuar krijimin e entiteteve të kërkuara. Prandaj, është e rëndësishme që të kuptoni qartë konceptet e pjesëmarrjes së detyrueshme dhe opsionale.
55
Pjesëmarrja në marrëdhënie
1. KLASE është opsionale. Është e mundur që departamenti krijon në fillim entitetin KURS dhe pastaj krijon entitetin KLASE pasi kanë përcaktuar edhe pedagogun. Në botën reale, një skenar i tillë është shumë i mundshëm; mund të ketë kurse për të cilët nuk janë përcaktuar akoma seksionet. Disa kurse zhvillohen vetëm një herë në vit dhe nuk gjenerojnë klasa çdo semestër.
56
Pjesëmarrja në marrëdhënie
2. KLASE është e detyrueshme. Ky kusht imponohet nga semantika e deklaratës "Çdo KURS gjeneron një ose më shumë KLASE." Në terma ER, çdo kurs në marrëdhënien "gjeneron" duhet të ketë të paktën një klasë. Prandaj, një KLASE duhet të krijohet kur krijohet një KURS, në mënyrë që të përputhet me semantikën e problemit.
57
9. Shkalla (grada) e marrëdhënies
Shkalla e marrëdhënies tregon numrin e entiteteve apo pjesëmarrësit e lidhur në një marrëdhënie. Një marrëdhënie unare (unary) ekziston kur shoqërimi mbahet brenda një entiteti të vetëm. Një marrëdhënie binare (binary) ekziston kur lidhen dy entitete. Një marrëdhënie treshe (ternary) ekziston kur lidhen tre entitete. Ekzistojnë edhe shkallë më të larta, por janë të rralla dhe nuk kanë një emërtim specifik.
58
Një marrëdhënie e tillë njihet edhe si një marrëdhënie rekursive.
Marrëdhëniet unare Në rastin e marrëdhënieve unare, një punëtor brenda entitetit PUNETOR është menaxher i një ose më shumë punëtorëve brenda atij entiteti. Në këtë rast, ekzistenca e marrëdhënies "menaxhon" do të thotë se PUNETORi kërkon një PUNETOR tjetër që të jetë menaxher - ka një marrëdhënie me veten. Një marrëdhënie e tillë njihet edhe si një marrëdhënie rekursive.
59
Marrëdhëniet binare Një marrëdhënie binare ekziston kur dy entitete janë të lidhura në një marrëdhënie. Marrëdhëniet binare janë më të zakonshmet. Për të lehtësuar projektin konceptual, kur është e mundur, marrëdhëniet e rendit të lartë dekompozohen në marrëdhënie ekuivalene të përshtatshme binare.
60
Marrëdhëniet treshe dhe të shkallëve më të larta
Përdorimi i marrëdhënieve të niveleve më të larta i lejon projektuesit të zgjerojë semantikën e një problemi. Një marrëdhënie treshe nënkupton një lidhje midis tre entiteteve të ndryshëm. Për shembull, shikoni marrëdhëniet që përfaqësohen nga rregullat e mëposhtme të biznesit: Një MJEK shkruan një ose më shumë RECETE. Një PACIENT mund të marrë një ose më shumë RECETE. Një MEDIKAMENT mund të shfaqet në një ose më shumë RECETA. (Për lehtësi, supozojmë që çdo recetë përmban vetëm një medikament.)
62
Tabela RECETE MJE_ID PAC_ID MED_ID REC_PERSH REC_DT 1478 100 ANA
1 në ditë-7 ditë 12-Jan-2013 102 ASP 1 çdo 6 orë-5 ditë 17-Jan-2013 105 1 çdo 2 ditë-30 ditë 20-Jan-2013 1568 104 PAR 1 çdo vakt-5 ditë 15-Jan-2013 1894 101 1 në javë-2 muaj 10-Jan-2013 2035 103 1/2 çdo 12 orë-3 ditë 22-Jan-2013
63
10. Marrëdhëniet rekursive
Një marrëdhënie rekursive është një marrëdhënie që ekziston midis elementëve të të njëjtit entitet (marrëdhënie unare). Psh, do kishim një marrëdhënie 1:M për “një PUNETOR menaxhon shumë PUNETORë dhe çdo PUNETOR menaxhohet nga një PUNETOR”. Për sa kohë poligamia nuk ekziston, do kishim një marrëdhënie 1:1 për “një PUNETOR mund të jetë i martuar me një dhe vetëm një PUNETOR tjetër”. Kemi marrëdhënien M:N për “një KURS mund të jetë i parakërkuar për shumë KURSe dhe çdo KURS mund të ketë shumë KURSe të parakërkuar”.
64
Marrëdhëniet rekursive
65
1:1 PUN_ID PUN_MB PUN_EM PUN_MART 145 Ramas Amy 146 Smith James 149
Marrëdhënia 1:1 mund të krijohet brenda vetë tabelës. Dalloni se Rose Olenko është e martuar me James Smith dhe James Smith është i martuar me Rose Olenko. PUN_ID PUN_MB PUN_EM PUN_MART 145 Ramas Amy 146 Smith James 149 147 Orlando Kathy 148 Brown Alfred Olenko Rose
66
M:N Marrëdhëniet unare M:N janë të zakonshme në industrinë prodhuese.
Megjithatë për lehtësi shpjegimi po rikthehemi te shembulli i kurseve të parakërkuara. Si në rastin e marrëdhënies binare M:N, edhe këtu për të bërë të mundur implementimin do na duhet një entitet “lidhës” që ta shpërbëje marrëdhënien fillestare M:N në dy marrëdhënie 1:M. KUR_ID KUR_PERSH KUR_KRE COSC-250 Strukturë të dhënash 4 COSC-301 Bazat e të dhënave COSC-391 Kërkim njohurish 3 COSC-450 Administrim i bazës së të dhënave KUR_ID PAR_KUR COSC-301 COSC-250 COSC-391 COSC-450
67
Marrëdhënia rekursive 1:M "PUNETORi menaxhon PUNETOR“
PUN_ID PUN_MB PUN_MEN 145 Ramas 147 146 Smith Orlando 148 Brown 149 Olenko
68
Marrëdhëniet rekursive
Një nga gabimet më të zakonshme të punës me marrëdhëniet unare është të ngatërrojmë pjesëmarrjen me integritetin referencial. Në teori, pjesëmarrja dhe integriteti referencial janë koncepte shumë të ndryshme dhe janë lehtësisht të dallueshme në marrëdhëniet binare. Në praktikë, pjesëmarrja dhe integriteti referencial janë shumë të ngjashëm, sepse të dy zbatohen përmes kufizimeve në të njëjtat atribute.
69
Marrëdhëniet rekursive
Pjesëmarrja në këtë rast trajton pyetjet: A duhet që çdo punonjës të ketë një punonjës si bashkëshort? A duhet çdo punonjës të jetë bashkëshort i një punonjësi? Për të dhënat e tabelës, në të dy rastet përgjigja do jetë “Jo”. Ekziston mundësia që punëtori të mos jetë i martuar me një punëtor tjetër.
70
Marrëdhëniet rekursive
Integriteti referencial nuk është me dy drejtime, dhe për këtë arsye ka vetëm një pyetje për tiu përgjigjur: Kur punëtori është i martuar me një punëtor, a duhet që ai të jetë një punëtor i vlefshëm? Për të dhënat e tabelës, përgjigja e saktë është "Po". Mënyra tjetër për të formuar këtë pyetje është që të konsiderojmë nëse çdo vlerë e atributit PUN_MART përputhet me një vlerë të atributit PUN_ID.
71
11. Entitetet e shoqëruara (përbëra)
Nëse kemi marrëdhënie M:N, duhet të krijojmë një urë midis entiteteve që e formojnë këtë marrëdhënie. Entiteti shoqërues përdoret për të zbatuar një marrëdhënie M:N ndërmjet dy ose më shumë entiteteve. Ky entitet shoqerues (e njohur edhe si entitet i përbërë ose lidhës) është i përbërë nga çelësat primar të secilit prej entiteteve që duhen lidhur. Simbolika Crow’s Foot nuk e identifikon entitetin e përbërë, por ai mund të identifikohet nga lidhja e fortë që krijohet midis entiteteve prind dhe entitetit fëmijë (identifikuese).
72
Entitetet e shoqëruara (përbëra)
1. Një klasë mund të ekzistojnë (të paktën në fillim të regjistrimit), edhe pse nuk përmban asnjë student. Prandaj një simbol opsional duhet të shfaqet në anën e STUDENTëve në marrëdhënien M:N midis STUDENT dhe KLASE. Për tu klasifikuar si një STUDENT, një person duhet të jetë i regjistruar të paktën në një KLASE. Prandaj, KLASE është e detyrueshme për STUDENT nga ana konceptuale. Megjithatë, kur një student pranohet në universitet nuk është (ende) i regjistruar në ndonjë klasë. Prandaj, të paktën në fillim, KLASE është opsionale për STUDENTin.
73
Entitetet e shoqëruara (përbëra)
Meqë marrëdhënia M:N mes STUDENT dhe KLASE dekompozohet në dy marrëdhënie 1:M, opsionalitetet duhet të transferohen te REGJISTRIM. Tani bëhet e mundur që një klasë të mos shfaqet në REGJISTRIM nëse nuk ka studentë të regjistruar në të. Meqë shfaqja e një klase nuk është e nevojshme, entiteti REGJISTRIM bëhet opsional për KLASE. Entiteti REGJISTRIM është gjithashtu opsional për STUDENT.
74
Entitetet e shoqëruara (përbëra)
2. Pasi studentët të fillojnë të regjistrohen nëpër klasat përkatëse, ata do të ruhen në entitetin REGJISTRIM. Natyrisht, nëse një student ndjek më shumë se një klasë, do të shfaqet më shumë se një herë në REGJISTRIM. Prandaj marrëdhënia midis STUDENT dhe REGJISTRIM është hartuar si 1:M, ku ana M është te REGJISTRIM. 3. Një klasë mund të shfaqet më shumë se një herë në tabelën REGJISTRIM. Kemi një marrëdhënie 1:M mes KLASE dhe REGJISTRIM. Ana M është vendosur te REGJISTRIM, ndërsa ana 1 është vendosur në anën KLASE.
75
Zhvillimi i një diagrame ER
76
Zhvillimi i një diagrame ER
Procesi i projektimit të bazës së të dhënave është një proces më tepër përsëritës se sa linear apo i vazhdueshëm. Folja përsëritës (iterativ) do të thote "të bëhet prapë ose në mënyrë të përsëritur“. Një proces përsëritës bazohet në përsëritjen e proceseve dhe procedurave.
77
Zhvillimi i një diagrame ER
Ndërtimi i një ERD-je zakonisht përfshin këto aktivitete: Krijimi i një përshkrimi të detajuar të operacioneve të organizatës. Identifikimi i rregullave të biznesit bazuar në përshkrimin e operacioneve. Identifikimi i entiteteve kryesore dhe marrëdhënieve nga rregullat e biznesit. Krijimi i ERD-së fillestare. Identifikimi i atributeve dhe çelësave primar që përshkruajnë në mënyrë të përshtatshme entitetet. Rishikimi dhe rishqyrtimi i ERD-së.
78
Për të ilustruar përdorimin e procesit përsëritës që ofron përfundimisht një ERD funksionale, le të fillojmë me një intervistë fillestare me administratorët e universitetit. Procesi i intervistës jep rregullat e mëposhtme të biznesit:
79
1. Universiteti është i ndarë në disa fakultete: Fakulteti i Biznesit, Fakulteti i Teknologjisë së Informacionit, Fakulteti i Edukimit dhe Fakuleti i Shkencave Politike-Juridike. Çdo fakultet administrohet nga një dekan i cili është një pedagog. Çdo pedagog mund të jetë dekan i vetëm një fakulteti, dhe për një pedagog nuk është e nevojshme të jetë dekan i ndonjë fakulteti. Prandaj, ekziston një marrëdhënie 1:1 midis PEDAGOG dhe FAKULTET. Kardinalitetet mund të shprehen duke shënuar (1,1) pranë entitetit PEDAGOG dhe (0,1) pranë entitetit FAKULTET.
80
2. Çdo fakultet përbëhet nga disa departamente
2. Çdo fakultet përbëhet nga disa departamente. Për shembull, Fakulteti i Teknologjisë së Informacionit ka Departamentin e Shkencave Kompjuterike, Departamentin e Teknologjisë së Informacionit, Departamentin e Sistemeve të Informacionit dhe Departamentin e Matematikës. Kardinalitetet: Numri më i vogël i departamenteve që ka një fakultet është një, dhe numri më i madh është i papërcaktuar (1,N). Nga ana tjetër, çdo departament i përket një dhe vetëm një fakulteti, pra, kardinaliteti shprehet nga (1,1).
82
3. Çdo departament mund të ofrojnë kurse
3. Çdo departament mund të ofrojnë kurse. Për shembull, Departamenti i Shkencave Kompjuterike ofron kurse të tilla si Hyrje në Programim, Strukturë të Dhënash dhe Bazat e të Dhënave. Kjo marrëdhënie bazohet në mënyrën se si vepron universiteti. Nëse universiteti do kishte disa departamente që do shërbenin vetëm për “kërkim shkencor”, këto departamente nuk do ofronin kurse, prandaj entiteti KURS do ishte opsional për entitetin DEPARTAMENT.
83
4. Një departament mund të ofrojnë disa seksione (klasa) për të njëjtin kurs.
Secila prej klasave drejtohet nga një pedagog në një kohë dhe në një vend të caktuar. Ekziston një marrëdhënie 1:M midis KURS dhe KLASE. Megjithatë, për shkak se një kurs mund të ekzistojnë në katalogun e universitetit edhe kur nuk është ofruar si një klasë në një moment të caktuar, KLASE është opsionale për KURS.
84
5. Çdo departament duhet të ketë një ose më shumë pedagogë si pjesë të tij.
Një dhe vetëm një prej tyre është përgjegjës departamenti, dhe nuk është e nevojshme që një pedagog të ketë këtë pozicioni. Prandaj, DEPARTAMENT është opsionale për PEDAGOG në marrëdhënien "drejton“.
85
6. Çdo pedagog mund të japë mësim deri në pesë klasa, ku çdo klasë është një seksion i një kursi.
Gjithashtu një pedagog mund të jetë në një kontratë kërkimi dhe nuk jep mësim në asnjë klasë.
86
7. Një student mund të regjistrohet në disa klasa, por e frekuenton çdo klasë vetëm një herë gjatë çdo periudhe të caktuar regjistrimi. Çdo student mund të regjistrohet deri në gjashtë klasa, dhe çdo klasë mund të ketë deri në 40 studentë, duke krijuar një marrëdhënie M:N mes STUDENT dhe KLASE. Meqë një klasë mund të ekzistojë, edhe pse asnjë student nuk është regjistruar akoma në të, STUDENT është opsionale për KLASE. Ju mund të shtoni kardinalitetet (0,6) dhe (0,40) pranë entitetit REGJISTRIM për të pasqyruar kufizimet e rregullave të biznesit.
87
8. Çdo departament ka shumë studentë të cilëve i ofrohet specializimi nga ky departament.
çdo student ndjek vetëm një specialitet që lidhet me një departament të vetëm. është e mundur - të paktën për një periudhë - për një student të mos deklarojë fushën e studimeve, prandaj DEPARTAMENT është opsionale për STUDENT.
88
9. Çdo student ka një drejtues në departamentin e tij, që nga ana tjetër drejton disa studentë.
Drejtuesi është njëkohësisht edhe një pedagog, por jo të gjithë pedagogët drejtojnë studentë. Prandaj, STUDENT është opsionale për PEDAGOG në marrëdhënien "PEDAGOG drejton STUDENT".
89
10. Meqë një klasë e zhvillon mësimin në një dhomë, është e arsyeshme të supozohet se DHO_ID në entitetin KLASE është një FK për një entitet të quajtur DHOME. Nga ana tjetër, çdo dhomë është e vendosur në një ndërtesë. Një NDERTESE mund të përmbajë shumë DHOMEa, por çdo DHOME gjendet në një NDERTESE të vetme.
90
Duke bërë një përmbledhje të rregullave të mësipërm mund të përcaktojmë këto entitete:
FAKULTET KURS DEPARTAMENT KLASE PEDAGOG STUDENT NDERTESE DHOME REGJISTRIM (entitet lidhës i STUDENT dhe KLASE) Pasi të keni përcaktuar entitetet përkatëse, mund të përcaktoni grupin fillestar të marrëdhënieve mes tyre. Më vonë duhet të përshkruani atributet e entiteteve.
91
Faleminderit!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.