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 see on: ER-modelleerimine on kõrgetasemeline graafiline andmemudel, mis määratleb andmeelemendid ja nende seosed.
  • 🗂️ Ehituskivid: Entiteedid esindavad reaalseid asju, atribuudid kirjeldavad nende omadusi ja seosed jäädvustavad, kuidas entiteedid omavahel suhtlevad.
  • 🔗 Kardinaalsus: Seosed on üks-ühele, üks-mitmele või mitu-mitmele ning need lahendatakse ühendusüksuse abil.
  • 🚀 EER-mudel: Täiustatud ER-mudel kasutab UML-i tähistust ja lisakonstruktsioone väga keerukate andmebaaside jaoks.
  • 🎬 MyFlixi juhtumiuuring: Videoteegi näide kaardistab liikmed, filmid, kategooriad, laenutused ja maksed ER-diagrammiks.
  • 🤖 AI abi: Tehisintellekti tööriistad ja GitHub Copilot muudavad loomulikus keeles kirjeldused ER-diagrammideks ja SQL-skeemideks.

ER modelleerimine

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.

Enhanced Entity Relationship (EER) mudel

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:

  1. Tuvastage olemid ja määrake nende vahel eksisteerivad seosed.
  2. Igal üksusel, atribuudil ja seosel peaksid olema sobivad nimed, millest saavad hõlpsasti aru ka mitte-tehnilised inimesed.
  3. Suhted ei tohiks olla üksteisega otseselt seotud. Suhted peaksid ühendama üksusi.
  4. 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 „+”.

Loo EER-mudel, kasutades MySQL Workbench

Double ER-diagrammide tööruumi avamiseks klõpsake nuppu Lisa diagramm.

Lisa diagramm sisse MySQL Workbench

Ilmub järgmine aken.

MySQL Workbench EER modelleerimiskeskkond

Vaatame kahte objekti, millega töötame.

  • Tabeli objekt laua tööriist võimaldab meil luua üksusi ja määratleda konkreetse üksusega seotud atribuudid.
  • Koha suhe koha seoste tööriist 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.

Liikmete tabeli omadused MySQL Workbench

Järgmine,

  1. Muutke tabel 1 nimeks Liikmed.
  2. Muutke vaikimisi idtable1 väärtuseks membership_number.
  3. Järgmise välja lisamiseks klõpsake järgmisel real.
  4. Tehke sama kõigi liikmete üksuses tuvastatud atribuutide puhul.

Teie atribuutide aken peaks nüüd välja nägema selline.

Liikmete üksuste atribuutide määratlus

Korrake ülaltoodud samme kõigi tuvastatud üksuste puhul.

Teie diagrammi tööruum peaks nüüd välja nägema nagu allpool näidatud.

MyFlixi üksused diagrammi tööruumis

Loome seose liikmete ja filmide laenutuse vahel

  1. Valige koha seos olemasolevate veergude tööriista abil.
  2. Klõpsake liikmete tabelis liikmenumbril.
  3. Klõpsake tabelis MovieRentals valikul reference_number.

Liikmete ja MovieRentalsi vahelise suhte loomine

Korrake ülaltoodud samme teiste seoste puhul. Teie ER-diagramm peaks nüüd välja nägema selline –

Valmis MyFlixi ER-diagramm

KKK

ER-diagramm kasutab kolme põhikomponenti: üksusi ristkülikutena, atribuute ovaalidena ja seoseid rombidena. Allajoonitud atribuudid tähistavad primaarvõtmeid.

Levinud atribuuditüübid on liht- (aatomilised), liit- (jagatavad), tuletatud (arvutatud), mitmeväärtuselised (mitu väärtust) ja võtmeatribuudid, mis identifitseerivad üksuse.

Kardinaalsus määrab, mitu ühe üksuse eksemplari on seotud teise üksusega: üks-ühele, üks-mitmele või mitu-mitmele. Ühendusüksus lahendab mittetoetatavad mitu-mitmele lingid.

Tugeval üksusel on oma primaarvõti ja see eksisteerib iseseisvalt. Nõrgal üksusel puudub täielik võti ja see sõltub omaniküksusest.

Varese jala tähistus näitab kardinaalsust, kusjuures joone lõpud meenutavad linnu jalga. Harud tähistavad mitmekülgsust; jooned ja ringid näitavad ühte ja valikulist külge.

ER-mudel on üksuste ja seoste kõrgetasemeline visuaalne plaan. Relatsioonimudel rakendab seda tabelite, ridade, veergude ja võtmetena andmebaasihaldussüsteemis.

Tehisintellekti tööriistad muudavad loomulikus keeles kirjeldused ER-diagrammideks, pakuvad välja entiteete ja seoseid ning genereerivad SQL-skeeme. Disainerid vaatavad väljundi enne rakendamist üle ja parandavad selle.

Jah. GitHubi koopia pakub välja üksusi, seoseid ja tabelistruktuure ning genereerib nende loomiseks SQL-i. Samuti saab see luua diagrammi koodina, näiteks Mermaid, mis renderdatakse ER-diagrammiks.

Võta see postitus kokku järgmiselt: