Mis on ER modelleerimine? Õppige näitega
⚡ Nutikas kokkuvõte
Entiteetide seoste modelleerimine on graafiline lähenemisviis andmebaasi kujundamisele, mis esitab reaalse maailma objekte üksustena, kirjeldab neid atribuutidega ja jäädvustab, kuidas need seoste kaudu ühenduvad, luues enne tabelite loomist selge plaani.
Mis on ER modelleerimine?
Olemisuhete mudel (ER Modeling) on graafiline lähenemine andmebaasi kujundamisele. See on kõrgetasemeline andmemudel, mis määratleb andmeelemendid ja nende seosed konkreetse tarkvarasüsteemi jaoks. Reaalmaailma objektide kujutamiseks kasutatakse ER-mudelit.
Entiteet on reaalses maailmas olev asi või objekt, mis on eristatav ümbritsevast keskkonnast. Näiteks on iga organisatsiooni töötaja eraldi üksus. Järgnevalt on toodud mõned entiteetide peamised omadused.
- Olemil on atribuutide kogum.
- Olemi omadustel võivad olla väärtused.
Vaatleme uuesti oma esimest näidet. Organisatsiooni töötaja on üksus. Kui „Peter” on programmeerija (töötaja) ettevõttes Microsoft, tal võivad olla atribuudid (omadused) nagu nimi, vanus, kaal, pikkus jne. On ilmne, et need omavad tema jaoks olulisi väärtusi.
Igal atribuudil võivad olla väärtused. Enamasti on ühel atribuudil üks väärtus. Kuid atribuutidel võib olla ka mitu väärtust. Näiteks Peteri vanusel on üks väärtus. Kuid tema atribuudil „telefoninumbrid” võib olla mitu väärtust.
Entiteetidel võivad olla omavahel seosed. Vaatleme lihtsamat näidet. Oletame, et iga Microsoft Programmeerijale antakse arvuti. On selge, et ka Peetri arvuti on üksus. Peeter kasutab seda arvutit ja Peeter kasutab sama arvutit. Teisisõnu, Peetri ja tema arvuti vahel on vastastikune seos.
Entiteetide seoste modelleerimisel modelleerime üksusi, nende atribuute ja üksustevahelisi seoseid.
Miks kasutada ER-mudelit?
Nüüd võite mõelda, miks kasutada ER-i modelleerimist, kui me seda lihtsalt saame luua andmebaas ja kõik selle objektid ilma ER-modelleerimiseta? Üks väljakutsetest, millega andmebaasi kujundamisel kokku puututakse, on asjaolu, et disainerid, arendajad ja lõppkasutajad kipuvad nägema andmeid ja nende kasutamist erinevalt. Kui seda olukorda ei kontrollita, võime lõpuks luua andmebaasisüsteemi, mis ei vasta kasutajate nõuetele.
Kõigile sidusrühmadele (nii tehnilistele kui ka mittetehnilistele kasutajatele) arusaadavad suhtlusvahendid on kasutajate nõuetele vastavate andmebaasisüsteemide loomisel kriitilise tähtsusega. ER-mudelid on selliste vahendite näited.
ER-diagrammid suurendavad ka kasutajate tootlikkust, kuna neid saab hõlpsasti relatsioonitabeliteks teisendada.
Enhanced Entity Relationship (EER) mudel
Täiustatud üksustevaheliste suhete mudel (EER) on kõrgetasemeline andmemudel, mis pakub laiendusi algsele üksustevaheliste suhete mudelile (ER). EER-mudelid toetavad detailsemat disaini. EER-modelleerimine tekkis lahendusena väga keerukate andmebaaside modelleerimiseks.
EER kasutab UML-i tähistust. UML on lühend sõnadest Ühtne modelleerimiskeel; see on üldotstarbeline modelleerimiskeel, mida kasutatakse objektorienteeritud süsteemide kujundamisel. Olemid on kujutatud klassidiagrammidena. Suhteid kujutatakse üksuste vaheliste ühendustena. Allpool näidatud diagramm illustreerib ER-diagrammi, kasutades UML tähistus.
Juhtumiuuring: ER-diagramm videoteegile „MyFlix”
Töötame nüüd MyFlix Video Library andmebaasisüsteemiga, et paremini mõista ER-diagrammide kontseptsiooni. Kasutame seda andmebaasi kõigis selle õpetuse praktilistes töödes.
MyFlix on äriüksus, mis rendib oma liikmetele filme. MyFlix on salvestanud oma kirjed käsitsi. Juhtkond soovib nüüd kolida a DB-süsteemid.
Vaatame selle andmebaasi EER-diagrammi väljatöötamise samme:
- Tuvastage olemid ja määrake nende vahel eksisteerivad seosed.
- Igal üksusel, atribuudil ja seosel peaksid olema sobivad nimed, millest saavad hõlpsasti aru ka mitte-tehnilised inimesed.
- Suhted ei tohiks olla üksteisega otseselt seotud. Suhted peaksid ühendama üksusi.
- Igal antud olemi atribuudil peaks olema kordumatu nimi.
Üksused „MyFlix” teegis
Üksused, mis kuuluvad meie hulka ER diagramm See on:
- Liikmed – see üksus hoiab liikmete kohta käivat teavet.
- Filmid – see üksus sisaldab teavet filmide kohta.
- Kategooriad – see üksus sisaldab teavet, mis paigutab filmid erinevatesse kategooriatesse, näiteks „Draama”, „Märuli” ja „Eepiline” jne.
- Filmilaenutus – see üksus hoiab teavet liikmetele laenutatud filmide kohta.
- Maksed – see üksus hoiab teavet liikmete tehtud maksete kohta.
Üksustevaheliste suhete määratlemine
Liikmed ja filmid
Järgnev kehtib kahe üksuse vahelise interaktsiooni kohta.
- Liige saab teatud perioodi jooksul laenutada rohkem kui ühe filmi.
- Kindla perioodi jooksul saab filmi laenutada rohkem kui üks liige.
Ülaltoodud stsenaariumist näeme, et seose olemus on palju-mitmele. Relatsioonandmebaasid ei toeta palju-mitmele seoseid. Peame sisse viima ühendusüksuse. See on roll, mida täidab MovieRentals üksus. Sellel on üks-mitmele seos tabeliga Members ja teine üks-mitmele seos tabeliga Movies.
Filmid ja kategooriad
Järgnev kehtib filmide ja kategooriate kohta.
- Film saab kuuluda ainult ühte kategooriasse, aga kategoorias võib olla mitu filmi.
Sellest võime järeldada, et kategooriate ja filmide tabelite vahelise seose olemus on üks-mitmele.
Liikmed ja makseüksused
Järgnev kehtib liikmete ja maksete kohta.
- Liikmel võib olla ainult üks konto, kuid ta saab teha mitu makset.
Sellest võime järeldada, et liikmete ja makseüksuste vahelise suhte olemus on üks-mitmele.
Loo EER-mudel, kasutades MySQL Workbench
In MySQL Workbench, klõpsake nuppu „+”.
Double ER-diagrammide tööruumi avamiseks klõpsake nuppu Lisa diagramm.
Ilmub järgmine aken.
Vaatame kahte objekti, millega töötame.
- Tabeli objekt
võimaldab meil luua üksusi ja määratleda konkreetse üksusega seotud atribuudid.
- Koha suhe
Nupp võimaldab meil määratleda üksuste vahelisi seoseid.
Liikmete üksusel on järgmised atribuudid.
- Liikmenumber
- Täisnimed
- SUGU
- Sünnikuupäev
- Füüsiline aadress
- postiaadress
Loome nüüd liikmete tabeli.
1. Lohistage tabeli objekt tööriistade paneelilt.
2. Lohistage see tööruumi. Ilmub üksus nimega tabel 1.
3. Double klõpsake sellel. Ilmub allpool näidatud omaduste aken.
Järgmine,
- Muutke tabel 1 nimeks Liikmed.
- Muutke vaikimisi idtable1 väärtuseks membership_number.
- Järgmise välja lisamiseks klõpsake järgmisel real.
- Tehke sama kõigi liikmete üksuses tuvastatud atribuutide puhul.
Teie atribuutide aken peaks nüüd välja nägema selline.
Korrake ülaltoodud samme kõigi tuvastatud üksuste puhul.
Teie diagrammi tööruum peaks nüüd välja nägema nagu allpool näidatud.
Loome seose liikmete ja filmide laenutuse vahel
- Valige koha seos olemasolevate veergude tööriista abil.
- Klõpsake liikmete tabelis liikmenumbril.
- Klõpsake tabelis MovieRentals valikul reference_number.
Korrake ülaltoodud samme teiste seoste puhul. Teie ER-diagramm peaks nüüd välja nägema selline –










