E-R mudel

Entity-Relatioship Model

Esimene mudel, mida l hemalt vaatama hakkame. Ei ole loodud arvutil baseeruva andmebaasi loomiseks, vaid reaalse maailma infomudeli kirjapanemiseks, et siis sellest mudelist minna edasi nende mudelite kasutamisele, mille baasil konkreetsed andmebaasid luuakse.

Nagu tleb juba mudeli nimi, on tal kaks p hilist termint: ENTITY, eesti k. olem, (objekt) - reaalselt eksisteeriv ja identifitseeritav asi v i n htus; Relationship - seos mitme olemi vahel. Enne kui asume nende m istete abil andmemudelit looma, teeme endale selgeks m ned terminid.

Entity

ENTITY, eesti k. olem, (objekt) - reaalselt eksisteeriv ja identifitseeritav asi v i n htus.

N ited: raamat, inimene, eksam, tellimus. Tundub sna lihtne m iste, aga ega ei ole k ll. Vt. ‘raamat’ - mis on tegelikult olem, kas see ks konkreetne f siline raamat? Kuidas eristan teisest koopiast? Kas see ks v ljaanne - kui aga v ljaandeid on palju, isegi samade kirjastuste omi? Mis nendest on tegelikult konkreetse lesande olemiks, s ltub lesandest. lesande huvidega on m ratud selle lesande jaoks m istlike olemite klassid.

Olemite klass. Kuna andmebaasid tegelevad lesannetega, kus palju sarnaste olemite kogumeid, siis oluliseks m isteks on olemite klass - entity set. Olemite klass on samat biliste olemite hulk. N iteks raamatute hulk laenutuste lesandes, li pilaste hulk teaduskonna eksamite-arvestuste lesandes. Igal konkreetsel hetkel v ib antud olemite klassis olla mistahes arv olemi eksemplare. Eksemplaride arv ajas v ib olla muutuv. Siit klassi eksemplaride d naamika. Eksemplaride lisamine-eemaldamine-parandamine - selleks peavad olema vahendid.

he lesande olemite hulgad ei pea olema mittel ikuvad. Panga t tajate hulk ja panga klientide hulk v ib sisaldada samu inimesi. Magistrant v ib anda arvestusi.

Olem on esitatud tema tunnuste (atribuutide) kaudu. N ited tunnustest: li pilase nimi, matriklinumber, pikkus, juuste v rv, jne. Kas tudengi ema neiup lve nimi on tudengi tunnus v i tema ema tunnus? Ka selle m ravad konkreetse lesande (mille jaoks andmebaas luuakse) huvid.

Kaks abstraktsioonitaset: olemi klass, kui objekt, olemi eksemplar kui objekt. V rdle konkreetse muutuja v rtus ja selle muutuja kirjeldus programmeerimises.

lesandes palju erinevaid olemite klasse. N iteks klassid raamatulaenutuse lesandest: raamat, lugeja, laenutus. Esimesed kaks - reaalsed f silised asjad, kolmas - tegevusakt, n htus.

Relationship

Eesti keeles seos. Seos hendab mitut olemit. N ited: li pilane ja tema soritatud eksamid; lugeja ja tema laenutused; ksikisik ja tema abikaasa; t taja ja tema lapsed; auto ja selle autoga tehtud avariid. Seosel v ivad olla oma tunnused: abikaasade seosel - abielutunnistuse number, lugeja raamatulaenamisel - viimase laenutuse kuup ev, jne. Kas ja missugused tunnused on vajalikud, tuleb otsustada lesande huvidest l htuvalt.

Seost saab iseloomustada kvalitatiivsete tunnustega: mitu olemit hest t bist saab olla antud seoses. Nii klassifitseeritakse seosed 1 1; 1 n ja n m seosteks.

Seose kvalitatiivseid karakteristikuid saab kasutata mudeli seisundi igsuse kontrolliks (kui tekkib teine abikaasa, on andmetega midagi valesti). Seose kvalitattivne tunnus on loomulikult modelleerimise k simus - ta peegeldab reaalse maailma objektide vaheliste seoste omadusi.

Olemikogumitel saavad seostes olla erinevad rollid. N iteks on v imalik, et osa olemeid saab eksisteerida ainult siis, kui vastav temaga seotud olem on olemas. Na”iteks he tudengi eksami andemetel on m te ainult siis, kui vastava tudengi enda andmed on ka olemas. Kui tudeng eemaldatakse olemist, siis koos temaga peaks eemaldama ka tema eksamid. Selliseid seoseid, kus he olemit bi kirjete olemasolu s ltub vastava kirje olemaolust seotud olemit bist, nimetatakse eksistentsiseoseteks. ldiselt: kui olem x eksemplaride olemasolu s ltub olemi y eksemplaride olemasolust, siis x on seotud y-ga eksistentsiseosega. S.t. kui y eksemplar kustutatkse, siis kustatakse ka temaga seotud x eksemplarid. Siin y on domineeriv olem ja x alluv olem.

V tmed

Olem andmebaasis esindab f sliselt identifitseeritavat objekti v i n htust. Kui teda esindavadb andmebaasis parajasti tema atribuudid, siis kuidas tagatakse kahe erineva olemi eristamine? N ited: kaks tudengit, m lemad Jaan Kask nimeks, kaks ppej udu, m lemal Rein J rgenson nimeks.

V ti(key) on atribuut (v i attribuutide kogum), mille v rtused heselt m ravad olemi eksemplari. On t iesti selge, et kui atribuutide kogum K on v ti, siis on seda ka mistahes K lemhulk (saadakse K-le atribuutide lisamisega). Meid huvitab tihti minimaalne selline atribuutide hulk, mis on v ti, s.t. selline atribuutide hulk, mille mistahes p risalamhulk enam ei oleks v ti. Seep rast nimetatakse neid t iendatud hulki superv tmeks (superkey). hel olemil v ib olla palju v tmeid. N iteks tudengi isikukood, passi number, matriklinumber, lugejapileti number, ja enamusel juhtudel ka tema ees- ja perekonnanimi koos s nnikuup evaga - need k ik on v tmed. (NB! Kas k ikides lesannetes?) Et lihtsustada s steemi t d m ratakse nende v imalike v tmete seast ks olemi primaarseks v tmeks. Teisi nimetatakse v tmekandidaatideks (candidate key). On v imalik moodustada olemite kogumeid, millel puudub primaarne v ti, millel ldse puudub v ti. Kui isikuandmetes puuduvad passiandmed, siis nimed ja s nnikuup ev ei pruugi olla piisavad iga isiku heseks identifitseerimiseks. Raamatukogudes on tihti sama kohaviidaga mitu antud raamatu eksemplari ja hte konkreetset f silist raamatut ei saagi identifitseerida. Kui raha lekannet antud arvele iseloomustab ainult lekande number (mis on k ll unikaalne antud arvelt tehtud lekannete hulgas, aga mitte kogu panga k igi lekannete hulgas), siis lekanne ei ole heselt identifitseeritav. Selliseid olemite kogumeid, millel ei ole v tit, nimetatakse n rkadeks olemikogumiteks (weak entity sets). Vastav primaarse v tmega olemit nimetatakse siis tugevaks olemiks.

N rgale olemile saame t piliselt moodustada v tme temaga eksistentsiaalselt seotud tugeva olemi v tme lisamise teel tema mingile tunnusele. N iteks arveldusarve numberi lisamisel lekande numbrile, saame lekande identifitseerida. Sama lugu ion tudengi eksamitega: kui eksami olemis on kirjas ainult kuup ev, aine ja hinne, siis koos temaga seotud tugeva olemi ‘tudeng’ v tmega, moodustab paar ‘aine, matriklinumber’ t piliselt v tme.

Ka seosed omavad v tmeid. Kui seose m lemas otsas on tugevad olemid, tuleb v tta vastavate olemite primaarsed v tmed ja nad moodustavad seose heseks identifitseerimiseks vajaliku v tme. Mida teha, kui seose ks osaline on n rk olem?

E-R mudelid

Nendest olemas ainult graafiline kuju. Kasutatakse mudeli esimese l hendi esitamiseks, et p rast teisendada O-O, relatsiooniliseks vm. kujuks.

e-rmudel1.gif (3412 bytes)