Presentation is loading. Please wait.

Presentation is loading. Please wait.

LEKSION 4 Diagrama E-R. Karakteristika te modelit të zgjeruar E-R.

Similar presentations


Presentation on theme: "LEKSION 4 Diagrama E-R. Karakteristika te modelit të zgjeruar E-R."— Presentation transcript:

1 LEKSION 4 Diagrama E-R. Karakteristika te modelit të zgjeruar E-R.
Skema e një Baze të Dhënash si diagramë E-R. Kthimi i një modeli E-R në Tabela.

2 Specializimi Eshtë një proces i dizenjimit top-down (nga lart-poshtë); dallohen nëngrupe brenda një blloku entitetesh të cilët kanë elementë që i dallojnë nga entitetet e tjerë të bllokut. Këto nëngrupe kthehen në blloqe entitetesh të një niveli më të ulët të cilët kanë atribute apo marrin pjesë në relacione që nuk i ka blloku i entiteteve i nivelit më të lartë. Shënohet në diagramë nga një trekëndësh me etiketë ISA (d.m.th. customer “is a” person, pra customer “është një” person). Trashëgimi i atributeve – një bllok entitetesh i një niveli më të ulët trashëgon të gjithë atributet dhe pjesëmarrjet në relacione nga blloku i entiteteve të nivelit më të lartë me të cilin është i lidhur.

3 ..Specializimi Le te marrim si shembull bllokun e entitetit person(person), me atributet name(emer),street( adrese ), dhe city(qytet). Nje person mund te klasifikohet me tej si meposhte: Customer (Klient) Employee (Punonjes) Secili prej ketyre dy tipeve te personave pershkruhet si nje bashkesi atributesh qe perfshin gjithe atributet e bllokut te entitetit person plus mundesisht dhe disa atribute shtese.

4 ..Specializimi Psh. Blloku i entiteteve customer mund te pershkruhet me ane te atributeve customer-id dhe credit-rating, ndersa blloku i entiteteve employee mund te pershkruhet me ane te atributeve employee-id dhe salary. Ky proces quhet specializim. Specializimi i person lejon qe te dallohen nese ato jane employee apo customer.

5 ..Specializimi Nese marrim nje shembull tjeter, supozojme nje banke ndan accounts(llogarite) ne dy kategori: Checking account Saving account Saving account ruan nje balance minimale, por banka mund te vendos norma interesi(interest rates ) te ndryshem per klienta te ndryshem, duke ofruar norma me te mira per klienta te favorizuar. Checking account kane nje norme interesi fiks, por ofrojne nje lehtesim ne overdraft; shuma e overdraft-it ne nje llogari ne check duhet te regjistrohet. Banka mund te krijoje dy specializime te account-it, te quajtura savings-account dhe checking-account. Keshtu, blloku i entiteve savings-account do te kete te gjithe atributet e account-it dhe nje atribut shtese interest-rate(norme interesi). Blloku i entiteteve checkingaccount do te kete te gjithe atributet e account dhe nje atribut shtese overdraftamount(shume overdraft-i).

6 Shembull

7 Gjeneralizimi (Përgjithësimi)
është një proces i dizenjimit top-down; kombinohen disa blloqe entitetesh që kanë karakteristika të njëjta në një bllok entitetesh të një niveli më të lartë. Specializimi dhe gjeneralizimi janë procese të anasjelltë të njëri-tjetrit; ato paraqiten njësoj në një diagramë E-R. Edhe termat specializim dhe gjeneralizim përdoren në vend të njëri-tjetrit..

8 Shembull specializimi
Nje bllok entiteti mund te specializohet nga me shume se nje tipar dallues. Ne shembullin tone, tipari dallues mes entiteteve punonjes eshte puna qe punonjesi kryen. Psh, nenpunesit e bankes mund te klasifikohen me tej si meposhte: officer(oficer banke psh kredie) teller(sportelist) secretary (sekretar)

9 Shembull Specializimi

10 …Specializimi dhe Gjeneralizimi
është e mundur që të kemi disa specializime të të njëjtit bllok entitetesh duke u bazuar në karakteristika të ndryshme. P.sh. një tjetër specializim i bllokut të entiteteve employee (punonjës) mund të jetë permanent-employee (definitiv) dhe temporary-employee (provizor). Çdo punonjës mund të jetë Pjestar i njërit nga blloqet permanent-employee ose temporary-employee, Gjithashtu edhe pjestar i njërit nga blloqet officer (zyrtar), secretary (sekretar), ose teller (sportelist) Psh nje punonjes i dhene mund te jete nje temporary employee i cili eshte nje secretary. Një relacion ISA quhet ndryshe edhe relacion superclass - subclass

11 Shembull Specializimi

12 Kufizimet në një Specializim/Gjeneralizim…
Kufizime që përcaktojnë nëse një entitet mund të jetë pjestar i një blloku entitetesh të një niveli më të ulët. Të përcaktuara nga kushtet P.sh. të gjithë klientët mbi 65 vjeç janë pjestarë të bllokut të entiteteve senior-citizen; senior-citizen ISA person. Të përcaktuara nga përdoruesi Kufizime që përcaktojnë nëse një entitet mund të jetë pjestar i disa blloqe entitetesh të nivelit më të ulët në një gjeneralizim. I ndarë (Disjoint) Një entitet mund të bëjë pjesë vetëm në një bllok të nivelit më të ulët Shënohet në diagramën E-R duke shkruar disjoint pranë trekëndëshit ISA I mbivendosur (Overlapping) Një entitet mund të bëjë pjesë në më shumë se një bllok të nivelit më të ulët

13 …Kufizimet në një Specializim/Gjeneralizim
Kufizimi i plotësisë – përcakton nëse në një gjeneralizim një entitet i nivelit të lartë duhet të bëjë pjesë në së paku një bllok entitetesh të nivelit të ulët. (pjesëmarrje) e plotë: një entitet duhet të bëjë pjesë në një bllok të nivelit të ulët e pjesshme: një entitet edhe mund të mos bëjë pjesë në një bllok të nivelit të ulët

14 Diagrama E-R për Bankën

15 Simbolet që përdoren në diagramat E-R

16 Simbolet E-R

17 Mënyra alternative shënimi në E-R

18 Vendimmarrje në ndërtimin e një diagrame E-R
Përdorimi i një atributi apo i një entiteti për të paraqitur një objekt. Si shprehet më mirë një koncept i mjedisit real nga nje bllok entitetesh apo nga një bllok relacionesh. Përdorimi i një relacioni të gradës së tretë apo përdorimi i një çifti relacionesh binare. Përdorimi i një blloku entitetesh të dobët apo të fortë. Përdorimi i specializimit/gjeneralizimit.

19 Entitete apo Atribute Punon_Ne nuk lejon që një nëpunës të punojë në një departament në dy ose më shumë periudha Nëpunës Departament pid emer grade did demer buxhet ngaData neDaten Punon_Ne Kur kërkohet të ruhen disa vlera për çdo lidhje në bllokun e relacioneve, atëherë mund të shtojmë një bllok entitetesh Periudhë. Nëpunës Departament pid emer grade did demer buxhet ngaData neDaten Punon_Ne Periudhë

20 Entitete apo Relacione
Kjo diagramë paraqet rastin kur një drejtori i caktohet një buxhet për çdo departament që drejton. Nëpunës Departament pid emer grade did demer buxhet ngaData dbuxhet Drejton Po në rastin kur një drejtori i caktohet vetëm një buxhet për të gjithë departamentet që drejton? Diagrama më sipër paraqet këto probleme: Përsëritje: dbuxhet ruhet për çdo deparatment që drejtohet nga drejtori. Informacion i gabuar:krijohet idea se dbuxhet është e lidhur me çiftin drejtor-departament. emer demer ngaData pid grade did buxhet Nëpunës Punon_Ne Departament ISA dbuxhet Drejtor

21 Si dallohet i një model i mirë nga një model jo i mirë?
Parime të modelimit Si dallohet i një model i mirë nga një model jo i mirë? Modeli duhet ti qëndrojë besnik realitetit (specifikimeve) Të shmangen përsëritjet Të jetë i thjeshtë Të shmanget krijimi i entiteteve ose relacioneve të panevojshme. Zgjedhje e saktë e tipit të elementeve Në përgjithësi: nqs për një objekt ka më shumë informacion sesa emri i tij atëherë paraqiteni atë si një entitet

22 Përmbledhje për modelimin konceptual
Modelimi konceptual ndjek analizën e kërkesave Përfaqëson një përshkrim të një niveli të lartë të të dhënave që do të ruhen Modeli ER është shumë i përdorshëm për modelimin konceptual Elementet e tij janë shprehës, dhe i afrohen mënyrës së të menduarit të njerëzve. Elementet bazë: entitetet, relacionet, dhe atributet (e entiteteve dhe relacioneve). Elemente të tjerë: entitetet e dobët, specializim/gjeneralizimi. Vërejte: Ka disa variante të modeleve ER.

23 Përmbledhje për modelimin konceptual
Në një model ER mund të shprehen disa tipe kufizimesh mbi të dhënat: kufizimet nga çelësat, kufizimet e pjesëmarrjes, dhe kufizimet e plotësisë për relacionet ISA. Kufizimet janë një element i rëndësishëm në përcaktimin e modelit më të mirë për një mjedis real.

24 Përmbledhje për modelimin konceptual
Modelimi ER është subjektiv. Në përgjithësi ekzistojnë disa mënyra për të modeluar një situatë të caktuar. Krahasimi i alternativave të ndryshme mund të jetë shumë i vështirë sidomos kur flitet për organizata të mëdha (shumë informacione) Për të siguruar një model të mirë për bazën e të dhënave duhet që skema që merret nga modeli ER të analizohet më tej. (varësia funksionale, normalizimi)

25 Kthimi i një modeli E-R në Tabela
Çelësat primarë lejojnë që blloqet e entiteteve dhe të relacioneve të paraqiten në të njëjtën mënyrë: me anë të tabelave të cilat përfaqësojnë edhe përmbajtjen e një baze të dhënash. Një bazë të dhënash që i përshtatet një modeli ER mund të paraqitet nga një bashkësi tabelash. Për çdo bllok entitetesh dhe relacionesh krijohet një tabelë e veçantë që merr emrin e bllokut të entiteteve ose relacioneve. Çdo tabelë ka disa kolona (që përgjithësisht i korrespondojnë atributeve), që kanë emra unikë brenda tabelës. Paraqitja e një diagrame E-R në formë tabelash përbën elementin baze te krijimit të një modeli relacional të bazës së të dhënave nga një diagramë E-R

26 Paraqitja e Blloqeve të entiteteve të fortë si Tabelë
Një bllok entitetesh të fortë kthehet në një tabelë që ka të njëjtat atribute.

27 Atributet e përbërë Atributet e përbërë bashkohen duke krijuar një atribut të veçantë për secilin komponent P.sh. Nqs në bllokun e entiteteve customer atributi name është i përbërë dhe ka komponente first-name dhe last-name, atëherë tabela korresponduese do të ketë dy kolona name.first-name dhe name.last-name first-name last-name customer name street id city first-name last-name customer name street id city

28 Atributet shumëvlerësh
Një atribut shumëvlerësh M i një entiteti E paraqitet nga tabelë e veçantë EM Tabela EM ka kolonat që i korrespondojnë çelësit primar të E dhe një kolonë që i korrespondon atributit shumëvlerësh M P.sh. Atributi shumëvlerësh vares i entitetit nepunes paraqitet nga një tabelë vares-nepunesi(emer, vares) Çdo vlerë e atributit shumëvlerësh lidhet me një rresht të veçantë të tabelës P.sh., një nëpunës me çelës primar John që ka varës Johnson dhe Adams paraqitet në tabelën e krijuar me dy rreshta: (John, Johnson) dhe (John, Adams) nenpunes vares datefillimi emer tel

29 Paraqitja e një blloku të dobët entitetesh
Një bllok i dobët entitetesh kthehet në një tabelë që përmban kolona edhe për atributet e çelësit primar të bllokut të entiteteve identifikues

30 Paraqitja e një blloku relacionesh
Një relacion shumë-me-shumë paraqitet nga një tabelë me kolona për çelësat primar të të dy blloqeve të entiteteve që lidhen si dhe për çdo atribut të bllokut të relacioneve P.sh.: tabela për bllokun e relacioneve borrower

31 Paraqitja e një blloku relacionesh
Relacionet shumë-me-një dhe një-me-shumë kur pjesmarrja e skajit shumë është e plotë mund të paraqiten duke shtuar një atribut që përmban çelësin primar të skajit një në skajin shumë të relacionit P.sh.: Në vend që të krijojmë një tabelë për bllokun e relacioneve account-branch, shtojmë një atribut branch në bllokun e entiteteve account

32 Paraqitja e një blloku relacionesh
Për relacionet një-me-një, secili skaj mund të përdoret sikur të ishte skaj “shumë” D.m.th, në njërën nga tabelat që krijohen për dy entitetet shtohet një kolonë për çelësin primar të tjetrit Nqs në skajin shumë të relacionit kemi një pjesëmarrje të pjesshme, zëvendësimi i tabelës së bllokut të relacioneve me një atribut në tabelën e skajit shumë mund të sjellë nevojën e përdorimit të vlerës null Tabela që i përgjigjet një blloku relacionesh që lidh një bllok entitetesh të dobët me bllokun e entiteteve identifikues është redundante (përsëritet informacioni). P.sh. tabela payment e përmban informacionin që do të përmbante tabela loan-payment nqs se do të krijohej (kjo tabelë përmban kolonat loan-number dhe payment-number).

33 Paraqitja e specializimeve në tabela
Metoda 1: Krijohet një tabelë për bllokun e entiteteve të nivelit të lartë Krijohet një tabelë për çdo bllok entitetesh të nivelit të ulët, e cila përmban çelësin primar të bllokut të entiteteve të nivelit të lartë si dhe atributet lokale: tabela atribute të tabelës person name, street, city customer name, credit-rating employee name, salary Disavantazhi: për të marrë informacion, p.sh, mbi employee duhet që të lexohen dy tabela

34 Paraqitja e specializimeve në tabela
Metoda 2: Krijohet një tabelë për çdo bllok entitetesh e cila përmban atributet lokale si dhe ato të trashëguara: tabela atribute të tabelës person name, street, city customer name, street, city, credit-rating employee name, street, city, salary Nqs specializimi është i plotë, tabela për entitetin e gjeneralizuar (person) nuk ka nevojë të përmbajë asnjë informacion Ajo mund të përcaktohet si një “paraqitje” (“view”) që përmban një bashkim të informacioneve nga tabelat e specializuara Mund të jetë e nevojshme që të krijohet tabela për të përcaktuar një çelës primar unik Disavantazhi: informacioni për street dhe city mund të përsëritet nëse një person është njëkohësisht edhe customer edhe employee

35 Modeli Relacional Modeli Relacional.
Karakteristikat e tabelave relacionale. Integriteti i te dhenave

36 Modeli Relacional Modeli relacional krijon mundësinë e shfrytëzimit të të dhënave pa patur nevojë që të njihet nga përdoruesi se si ruhen fizikisht ato. Përdoruesi e shikon bazën e të dhënave si një koleksion tabelash, të cilat përbëhen nga kolona dhe rreshta.

37 Modeli Relacional bllok entitetesh tabelë relacion atribut kolonë
Modelimi i të dhënave Bazat e të dhënave relacionale Modeli relacional bllok entitetesh  tabelë relacion  atribut  kolonë  entitet rresht  sistem i renditur  Shënim: entitet identifikohen gjatë procesit të modelimit të të dhënave, ndërsa relacionet krijohen si rezultat i procesit të normalizimit.

38 Kërkesat bazë të një modeli relacional
Çdo relacion duhet të ketë një emër unik Çdo atribut i një relacioni duhet të ketë një emër unik  Vlerat në një kolonë duhet të jenë të të njëjtit tip për çdo rresht Çdo rresht duhet të jetë unik Renditja e rreshtave dhe e kolonave nuk është e rëndësishme

39 Shembull i një Relacioni

40 Struktura Bazë Nqs D1, D2, …. Dn janë bashkësi atëherë një relacion r është një nënbashkësi e D1 x D2 x … x Dn Pra një relacion është një bashkësi sistemesh të renditur me n elementë (a1, a2, …, an) ku çdo ai  Di

41 Struktura Bazë Shembull: Nqs
customer-name = {Jones, Smith, Curry, Lindsay} customer-street = {Main, North, Park} customer-city = {Harrison, Rye, Pittsfield} Atëherë r = { (Jones, Main, Harrison), (Smith, North, Rye), (Curry, North, Rye), (Lindsay, Park, Pittsfield)} është një relacion në customer-name x customer-street x customer- city

42 Tipet e atributeve (Domain)
Çdo atribut i një relacioni ka një emër Bashkësia e vlerave të lejueshme të çdo atributi quhet domain (tip) i atributit Vlerat e atributeve (normalisht) kërkohet që të jenë atomike (të thjeshtë), që do të thotë, të pandashme P.sh. Atributet shumëvlerësh nuk janë atomikë P.sh. Atributet e përbërë nuk janë atomikë Vlera e veçantë null është element i çdo domain-i Vlerë që nuk është e barabartë me asnjë vlerë, pra as me veten

43 Skema e Relacionit Nqs A1, A2, …, An janë atribute atëherë
R = (A1, A2, …, An ) quhet skemë relacioni P.sh. Skema-customer = (customer-name, customer-street, customer-city) një relacion sipas skemës së relacionit R shënohet r(R) P.sh. customer (Skema-customer)

44 Relacioni Vlerat faktike të një skeme relacioni (një relacioni) paraqiten në një tabelë Një element t i relacionit r është një sistem i renditur a, që paraqitet nga një rresht i tabelës atributet (ose kolonat) sisteme të renditur (ose rreshta) (tuples) customer-name customer-street customer-city Jones Smith Curry Lindsay Main North Park Harrison Rye Pittsfield customer

45 Relacionet nuk janë të renditur
Renditja e rreshtave dhe e kolonave nuk është e rëndësishme P.sh. relacioni account me rreshta të parenditur

46 Baza e të dhënave Një bazë të dhënash është një bashkësi tabelash
Informacioni rreth një mjedisi të caktuar ndahet në pjesë, duke përdorur nga një relacion për të ruajtur secilën pjesë të informacionit P.sh.: account : ruan informacion mbi llogaritë depositor : ruan informacion për llogaritë që zotërojnë klientët customer : ruan informacion mbi klientët

47 Baza e te dhenave Ruajtja e të gjithë informacionit në një relacion të vetëm si p.sh bank(account-number, balance, customer-name, ..) sjell si rezultat Përsëritjen e informacionit (p.sh. nqs dy klientë zotërojnë një llogari) Nevojën e përdorimit të vlerës null (p.sh. për paraqitjen e një klienti pa llogari) Mënyra e ndërtimit të relacioneve trajtohet nga teoria e normalizimit

48 Relacioni account

49 Relacioni customer

50 Relacioni depositor

51 Diagrama E-R për Bankën

52 Çelësat Le të jetë K  R, ku R është një skemë relacioni.
K quhet superçelës i skemës R nqs vlerat e K janë të mjaftueshme për të identifikuar një element të çdo relacioni të mundshëm r(R), në mënyrë unike. Me “relacion të mundshëm r” kuptohet një relacion r i cili mund të ekzistojë në mjedisin që modelohet.

53 Çelësat K quhet çelës kandidat nqs K është superçelës minimal
P.sh: {customer-name, customer-street} dhe {customer-name} janë superçelësa për Customer, nqs nuk është e mundur që dy klientë të kenë të njëjtin emër (customer-name). K quhet çelës kandidat nqs K është superçelës minimal P.sh.: {customer-name} është çelës kandidat për Customer, pasi është superçelës dhe asnjë nënbashkësi e tij nuk është superçelës.

54 Çelësat Çelës primar quhet njëri nga çelësat kandidatë.
Një relacion duhet të ketë vetëm një çelës primar. Atributet e çelësit primar duhet të plotësojnë kushte të caktuara. Nuk mund të marrin vlerën null, etj.

55 Çelësat Çelës i jashtëm (foreign key) është një atribut (ose bashkësi atributesh) që ndodhet në më shumë se një relacion dhe që është çelës primar në njërin nga këto relacione Krijojnë mundësinë e lidhjes së të dhënave në një tabelë me të dhënat e një tabele tjetër. Atributet e çelësit të jashtëm duhet të plotësojnë kushte të caktuara. Vlerat mund të jenë null ose të tilla që të ndodhen në çelësin primar të cilit i referohen.

56 Integriteti i entiteteve
Integritet=Saktësi+Besueshmëri. Saktësi dhe besueshmëri e të dhënave që mund të ruhen në relacionet e një skeme të bazës së të dhënave. Çdo relacion duhet të ketë një çelës primar

57 Integriteti i entiteteve
Atributet e çelësit primar nuk mund të përmbajnë vlerën NULL Atributet e çelësave kandidatë mund të përmbajnë vlerën NULL

58 Integriteti Referencial
Çdo vlerë që nuk është NULL në një atribut të çelësit të jashtëm duhet të jetë vlerë e atributit të çelësit primar në të cilin bëhet referenca. Ndryshimi ose fshirja e vlerave në tabelën e çelësit primar:

59 Integriteti Referencial
Restrict: nuk lejohet ndryshimi ose fshirja e vlerave të çelësit primar të cilat janë përdorur në çelësa të jashtëm: Duhet të fshihen rreshtat përkatës në tabelat me çelësat e jashtëm Cascade: ndryshimi ose fshirja e rreshtit të çelësit primar i aplikohet të gjithë rreshtave në tabelat që kanë referenca Set to null: lejohet ndryshimi ose fshirja, por vlerat përkatëse të çelësave të jashtëm bëhen NULL

60 Skema relacionale për Bankën
Shigjetat paraqesin “kufizimet e integritetit referencial”. Skaji nga ku niset shigjeta është një “çelës i jashtëm” i cili i referohet çelësit primar të një tabele që ndodhet në skajin tjetër.


Download ppt "LEKSION 4 Diagrama E-R. Karakteristika te modelit të zgjeruar E-R."

Similar presentations


Ads by Google