Olemisuhete (ER) diagrammi mudel koos DBMS-i näitega
⚡ Nutikas kokkuvõte
Üksustevaheliste suhete (ER) diagrammimudel koos andmebaasihaldussüsteemi näitega illustreerib struktureeritud meetodit andmete ja nende omavaheliste seoste visuaalseks esitamiseks relatsioonandmebaasides. Peter Cheni pakutud meetod pakub kontseptuaalse modelleerimise aluse üksuste, atribuutide, seoste ja nende olulisuse täpseks määratlemiseks.

Mis on ER-diagramm?
Entiteetide seoste diagramm (ER) on võimas visuaalne tööriist relatsioonandmebaaside struktuuride kujundamiseks. Peter Chen pakkus selle esmakordselt välja 1976. aastal ning see pakub kontseptuaalse modelleerimise aluse, mis määratleb täpselt entiteedid, atribuudid, seosed ja nende kardinaalsused. See õpetus hõlmab kõike alates põhimõistetest kuni edasijõudnute tehnikateni, aidates teil omandada andmebaasi skeemi kujundamise oskused.
ER-diagrammid sisaldavad erinevaid sümboleid, mis kasutavad üksuste tähistamiseks ristkülikuid, atribuutide määratlemiseks ovaale ja seoste kujutamiseks rombikujulisi kujundeid.
Esmapilgul näeb ER-diagramm välja väga sarnane vooskeemiga. ER-diagramm sisaldab aga palju spetsiaalseid sümboleid ja nende tähendused muudavad selle mudeli ainulaadseks. ER-diagrammi eesmärk on kujutada üksuse raamistiku infrastruktuuri.

ER-mudelite ajalugu
Peter Chen pakkus ER-diagrammi välja 1976. aastal oma murrangulises artiklis „Entiteetide-suhete mudel: andmete ühtse vaate poole“. Tema eesmärk oli luua ühtne konventsioon, mida saaks kasutada nii relatsioonandmebaaside kui ka võrkude jaoks. Chen nägi ER-mudelit kontseptuaalse modelleerimisviisina, mis ületaks lõhe reaalsete nõuete ja andmebaasi tehnilise rakendamise vahel.
Sellest ajast alates on ER-mudel arenenud erinevate tähistussüsteemidega, sealhulgas Cheni tähistus (originaal), varese jala tähistus (populaarne tänapäevastes tööriistades) ja UML-põhised lähenemisviisid. Vaatamata neile variatsioonidele jäävad põhikontseptsioonid kõigis rakendustes samaks.
Miks kasutada ER-diagramme?
ER-diagrammid pakuvad andmebaaside kujundamisel ja arendamisel arvukalt eeliseid:
- Visuaalne kommunikatsioon: Need pakuvad selget visuaalset esitust, millest saavad aru nii tehnilised kui ka mittetehnilised sidusrühmad.
- Arengukava: Need näitavad täpselt, kuidas tabelid peaksid ühenduma ja milliseid välju iga tabel sisaldab.
- Tõlge valmis: ER-diagramme saab otse relatsioonitabeliteks teisendada, mis võimaldab andmebaase kiiresti luua.
- Vigade ennetamine: Need aitavad enne rakendamist tuvastada disainivigu ja koondamisi, säästes aega ja ressursse.
- Dokumentatsioon: Need toimivad püsiva dokumentatsioonina, mis aitab uutel meeskonnaliikmetel süsteemi arhitektuuri mõista.
- Süsteemi analüüs: Need aitavad tuvastada kõiki süsteemis eksisteerivaid üksusi ja nendevahelisi seoseid.
ER-diagrammi komponendid
Iga ER-diagramm koosneb kolmest põhikomponendist: üksustest, atribuutidest ja seostest. Iga komponendi ja nende omavahelise suhtluse mõistmine on tõhusate andmebaaside kujundamiseks hädavajalik.
ER diagrammi näited
Näiteks ülikooli andmebaasis võivad meil olla üksused üliõpilaste, kursuste ja õppejõudude jaoks. Üliõpilase üksusel võivad olla atribuudid nagu õpilase number, nimi ja osakonna ID. Neil võivad olla seosed kursuste ja õppejõududega.
Üksused
Entiteet esindab mis tahes reaalse maailma objekti – elavat või eluta –, mida saab selgelt tuvastada ja mille kohta saab andmeid salvestada. See võib olla füüsiline asi, ettevõtte kohta käiv fakt või reaalses maailmas toimuv sündmus. Entiteetide hulka võivad kuuluda inimesed, kohad, objektid, sündmused või kontseptsioonid.
Näited üksustest kategooria järgi:
- Isik: Töötaja, üliõpilane, patsient, klient
- koht: Kauplus, Hoone, Kontor, Ladu
- Objekt: Masin, Toode, Auto, Raamat
- sündmus: Müük, registreerimine, uuendamine, tehing
- Kontseptsioon: Konto, Kursus, Osakond, Projekt
Üksuste komplekt
Üksuste hulk on sarnaste üksuste rühm, millel on ühised atribuudid. Näiteks moodustavad kõik ülikooli tudengid üksuste hulga „Tudeng“. Üksused on ER-diagrammides kujutatud ristkülikute abil, mille sisse on kirjutatud üksuse nimi.
Üksusi esindavad nende omadused, mida nimetatakse ka atribuutideks. Kõigil atribuutidel on oma eraldi väärtused. Näiteks õpilasüksusel võivad atribuutidena olla nimi, vanus ja klass.
Tugevad üksused vs. nõrgad üksused
Üksused liigitatakse tugevateks või nõrkadeks vastavalt nende võimele iseseisvalt eksisteerida. Selle eristuse mõistmine on andmebaasi õige kujundamise seisukohalt ülioluline.
Tugeval üksusel on oma primaarvõti ja see võib eksisteerida iseseisvalt. Näiteks üksust „Student” saab unikaalselt identifitseerida Student_ID abil, sõltumata ühestki teisest üksusest.
Nõrgal üksusel puudub oma primaarvõti ja see sõltub tuvastamiseks tugevast üksusest (nimetatakse omaniküksuseks). Unikaalsuse saavutamiseks kasutab see osalist võtit (diskriminaatorit) koos omaniku primaarvõtmega. Näiteks pangandussüsteemis sõltub „Tehingu” üksus „Konto” üksusest – tehingu number üksi ei ole kogu andmebaasis unikaalne, kuid koos kontonumbriga muutub see ainulaadseks.
| Tugev üksus | Nõrk üksus |
|---|---|
| Omab oma peamist võtit | Puudub primaarvõti; kasutab osalist võtit |
| Esitatakse ühe ristkülikuna | Esitatakse kahekordse ristkülikuna |
| Primaarvõti on alla joonitud pideva joonega | Osaline võti on kriipsjoonega alla joonitud |
| Võib eksisteerida iseseisvalt | Sõltub omaniku olemasolust |
| Ühendatud ühe teemandi suhtega | Ühendatud kahekordse rombiga (suhet tuvastav) |
| Näide: Õpilane, Töötaja, Toode | Näide: Tehing, Sõltuv, Tellimus_Item |
Suhe
Suhe esindab seost kahe või enama üksuse vahel. Suhetega tähistatakse tavaliselt tegusõnu või tegusõnafraase, mis kirjeldavad, kuidas üksused üksteisega suhtlevad. ER-diagrammides on seosed kujutatud rombikujuliste kujundite abil. Näide: Tom töötab keemiaosakonnas.
Üksused osalevad suhetes. Sageli võime tuvastada seoseid tegusõnade või verbifraasidega.
Näited:
- Sa osaled sellel loengul
- Pean loengu
- Üliõpilane käib loengus
- Lektor peab loengut
Näitajad
Atribuut on omadus või tunnus, mis kirjeldab üksust või seost. Atribuudid pakuvad üksikasjalikku teavet, mis muudab iga üksuse eksemplari ainulaadseks ja tähendusrikkaks. ER-diagrammides on atribuudid esitatud ovaalide (ellipsi) abil, mis on joonega ühendatud nende ülemüksusega.
Näiteks võivad õpilase üksusel olla atribuudid nagu õpilase ID, nimi, sünnikuupäev, e-posti aadress ja telefoninumber.
Atribuutide tüübid
| Atribuudi tüüp | Kirjeldus | Näide |
|---|---|---|
| Lihtne (Atomic) | Ei saa jagada edasi väiksemateks osadeks | Telefoninumber, sotsiaalkindlustuse number, e-post |
| Liit- | Võib jagada väiksemateks alam-atribuutideks | Täisnimi (eesnimi, keskmine nimi, perekonnanimi), aadress (tänav, linn, postiindeks) |
| Tuletatud | Väärtus arvutatakse teiste atribuutide põhjal; seda ei salvestata otse | Vanus (tuletatud sünnikuupäevast), koguhind |
| Mitmeväärtuseline | Võib ühe üksuse jaoks sisaldada mitut väärtust | Telefon Numbers, E-posti aadressid, Oskused |
| Võtme atribuut | Identifitseerib iga üksuse eksemplari unikaalselt (primary Key) | Üliõpilase_ID, töötaja_ID, ISBN |
Võtme vihje: ER-diagrammides on võtmeatribuudid näidatud allajoonitud nimedega. Tuletatud atribuudid on näidatud katkendlike ovaalidena ja mitme väärtusega atribuudid topeltovaalidena.
Kardinaalsus (suhete tüübid)
Kardinaalsus määrab seose numbrilised piirangud – täpsemalt, mitu ühe üksuse eksemplari saab seostada teise üksuse eksemplaridega. Kardinaalsuse mõistmine on oluline tõhusate andmebaasistruktuuride kujundamiseks.
1. Üks-ühele (1:1)
Üks hulk A kuuluv üksus saab olla seotud maksimaalselt ühe hulku B kuuluva üksusega ja vastupidi.
Näide: Ühele õpilasele on määratud täpselt üks õpilasnumber ja iga õpilasnumber kuulub täpselt ühele õpilasele.
2. Üks-mitmele (1:N)
Üks hulk A kuuluv üksus saab olla seotud mitme hulga B kuuluva üksusega, kuid iga hulk B kuuluv üksus on seotud ainult ühe hulga A üksusega.
Näide: Üks klass koosneb mitmest õpilasest.
3. Paljud-ühele (N:1)
Mitu üksust komplektist A saab seostada ühe üksusega komplektist B.
Näiteks kuuluvad samasse klassi paljud õpilased.
4. Paljud-mitmele (M:N)
Mitmeid üksusi komplektist A saab seostada mitme üksusega komplektist B ja vastupidi.
Näiteks üliõpilased kui rühm on seotud mitme õppejõuga ja õppejõud võivad olla seotud mitme üliõpilasega.
ER-diagrammi sümbolid ja tähistused
ER-diagrammid kasutavad erinevate komponentide esitamiseks standardiseeritud sümboleid. Kuigi tähistussüsteeme on mitu, on kaks enimkasutatavat Cheni tähistus ja varese jala tähistus.
Cheni tähistus
Peter Cheni poolt 1976. aastal välja töötatud Cheni tähistus kasutab erinevate elementide kujutamiseks geomeetrilisi kujundeid:
| Sümbol | Eesnimi | Esindab |
|---|---|---|
| ristkülik | Entity | Tugev üksus (nt õpilane, toode) |
| Double ristkülik | Nõrk üksus | Teisest sõltuv üksus (nt tehing) |
| Ellips/Ovaal | Atribuut | Üksuse omadus (nt nimi, ID) |
| Double Ellipse | Mitmeväärtuseline atribuut | Mitme väärtusega atribuut (nt Telefon Numbers) |
| Katkendlik ellips | Tuletatud atribuut | Arvutatud väärtus (nt vanus sünnikuupäevast) |
| teemant | Suhe | Üksuste vaheline seos (nt registreerumised) |
| Double teemant | Suhte tuvastamine | Seos nõrga üksusega |
| joon | on siin | Ühendab komponendid omavahel |
| Allajoonitud tekst | Esmane võti | Üksuse unikaalne identifikaator |
Varese jala märge
Varese jala tähistus (tuntud ka kui IE-tähistus) on tänapäevastes andmebaaside kujundamise tööriistades levinum. See kasutab kardinaalsuse esitamiseks erinevaid rea lõppu ja on eriti efektiivne seoste "mitme" poole näitamiseks.
| Sümbol Descriptioon | Tähendus |
|---|---|
| Üks vertikaalne joon (|) | Kohustuslik Üks (täpselt üks) |
| Ringjoon joonega (O|) | Valikuline Üks (null või üks) |
| Varesejalg joonega (>|) | Kohustuslik Palju (üks või mitu) |
| Varesejalg ringiga (>O) | Valikuline Paljud (null või rohkem) |
Cheni tähistus vs. varesejalg: millal kumbagi kasutada
| Aspekt | Cheni tähistus | Varese jala märge |
|---|---|---|
| Parim | Kontseptuaalne modelleerimine, akadeemiline kasutus | Füüsikaline/loogiline modelleerimine, tööstuslik kasutamine |
| Atribuudi kuvamine | Näitab kõiki atribuute visuaalselt | Loetleb atribuudid üksuse kastis |
| Kardinaalsus | Kasutab numbreid (1, N, M) | Kasutab visuaalseid sümboleid |
| Keerukus | Võib muutuda segaseks | Kompaktsem ja puhtam |
| Tööriistade tugi | Piiratud kaasaegsete tööriistade tugi | Laialdaselt toetatud tööriistades |
Kuidas luua olemisuhete diagrammi (ERD)
Selles ER-diagrammi (ERD) õpetuses õpime, kuidas luua ER-diagrammi. ER-diagrammi loomiseks toimige järgmiselt.
Uurime neid olemisuhete diagrammi näitega:
Ülikoolis registreerub tudeng kursustele. Tudeng peab olema määratud vähemalt ühele kursusele. Iga kursust õpetab üks professor. Õppekvaliteedi säilitamiseks võib professor läbi viia ainult ühe kursuse.
1. samm) olemi identifitseerimine
Meil on kolm üksust:
- õpilane
- Kursus
- Õpetaja
2. samm) suhte tuvastamine
Meil on kaks järgmist suhet:
- Õpilane on määratud kursus
- Professor annab kursus
3. samm) kardinaalsuse tuvastamine
Probleemi püstitusest teame, et:
- Võib määrata õpilase mitmekordne kursused
- Professor saab toimetada ainult üks kursus
4. samm) tuvastage atribuudid
Atribuutide tuvastamiseks peate uurima organisatsiooni poolt praegu hallatavaid faile, vorme, aruandeid ja andmeid. Samuti saate üksuste tuvastamiseks läbi viia intervjuusid erinevate sidusrühmadega. Esialgu on oluline tuvastada atribuudid ilma neid konkreetse üksusega kaardistamata.
Kui sul on atribuutide loend olemas, pead need tuvastatud üksustega kaardistama. Veendu, et atribuut on seotud täpselt ühe üksusega. Kui arvad, et atribuut peaks kuuluma mitmesse üksusse, kasuta modifikaatorit, et muuta see unikaalseks.
Kui kaardistamine on tehtud, tuvastage esmased võtmed. Kui unikaalne võti pole hõlpsasti saadaval, looge see.
| Entity | Esmane võti | Atribuut |
|---|---|---|
| õpilane | Õpilase ID | Õpilase Nimi |
| Õpetaja | Töötaja_ID | ProfessorNimi |
| Kursus | Kursuse_ID | Kursuse nimi |
Kursuseüksuse atribuudid võivad olla kestus, ainepunktid, ülesanded jne. Lihtsuse huvides oleme käsitlenud ainult ühte atribuuti.
5. samm) Loo ERD
Üksuse ja seose diagrammi näite moodsam esitus:
Parimad tavad efektiivsete ER-diagrammide jaoks
Selgete, hallatavate ja tõhusate ER-diagrammide loomiseks järgige neid juhiseid:
- Koondamise kõrvaldamine: Eemaldage duplikaatüksused, atribuudid või seosed.
- Kasutage selgeid nimetamiskonventsioone: Kasutage järjepidevaid ja kirjeldavaid nimetusi. Vältige lühendeid.
- Nõuete alusel valideerimine: Veenduge, et diagramm toetaks kõiki andmesalvestusvajadusi.
- Hoidke see lihtsana: Loo mitu diagrammi erinevatel tasemetel, mitte üks segamini diagramm.
- Kasutage värve säästlikult: Kasutage värve järjepidevalt kategooriate esiletõstmiseks.
- Dokumendi eeldused: Lisage märkused, mis selgitavad ärireeglite eeldusi.
- RevSuhtlus sidusrühmadega: Laske ärikasutajatel ja tehnilisel meeskonnal diagramm üle vaadata.
- Versioonihaldus: Säilita versioonid vastavalt disaini arenemisele.
ER-diagrammid vs. UML-klassidiagrammid
Kuigi nii ER-diagramme kui ka UML-klassidiagramme kasutatakse andmete modelleerimiseks, on neil erinevad eesmärgid ja kontekstid. Süsteemi tõhusa disaini jaoks on oluline mõista, millal kumbagi kasutada.
| Aspekt | ER diagramm | UML klassi diagramm |
|---|---|---|
| Esmane eesmärk | Andmebaasi kujundamine | Tarkvara/objektide disain |
| Focus | Andmed ja seosed | Objektid, meetodid ja käitumisviisid |
| Meetodid/Operamine | Ei toetata | Täielikult toetatud |
| Pärisosa | Piiratud (ainult EER-is) | Täielik toetus |
| Tööstuskasutus | Andmebaaside administraatorid, andmeanalüütikud | Tarkvaraarendajad, arhitektid |















