Mi az ER modellezés? Tanuljon példával

⚡ Okos összefoglaló

Az entitáskapcsolat-modellezés egy grafikus megközelítés az adatbázis-tervezéshez, amely a valós objektumokat entitásokként ábrázolja, attribútumokkal írja le őket, és rögzíti, hogyan kapcsolódnak egymáshoz kapcsolatokon keresztül, így egy világos tervet készítve, mielőtt bármilyen táblát felépítenének.

  • 🧩 Ami: Az ER modellezés egy magas szintű, grafikus adatmodell, amely definiálja az adatelemeket és azok kapcsolatait.
  • 🗂️ Építőkockák: Az entitások a valós dolgokat képviselik, az attribútumok a tulajdonságaikat írják le, a kapcsolatok pedig azt ragadják meg, hogyan hatnak egymásra az entitások.
  • 🔗 Kardinalitás: A kapcsolatok lehetnek egy-az-egyhez, egy-a-sokhoz vagy sok-a-sokhoz típusúak, és egy junction entitás segítségével oldhatók fel.
  • 🚀 EER modell: A továbbfejlesztett ER modell UML jelöléseket és extra konstrukciókat használ a rendkívül összetett adatbázisokhoz.
  • 🎬 MyFlix esettanulmány: Egy videótár-példa tagokat, filmeket, kategóriákat, kölcsönzéseket és fizetéseket képez le egy ER-diagramban.
  • 🤖 AI segítség: A mesterséges intelligencia eszközei és a GitHub Copilot természetes nyelvű leírásokat alakítanak ER-diagramokká és SQL-sémákká.

ER modellezés

Mi az ER modellezés?

Entitáskapcsolati modell (ER Modeling) az adatbázis-tervezés grafikus megközelítése. Ez egy magas szintű adatmodell, amely egy adott szoftverrendszer adatelemeit és azok kapcsolatát határozza meg. Egy ER modellt használnak a valós objektumok ábrázolására.

Az Entitás egy dolog vagy tárgy a valós világban, amely megkülönböztethető a környező környezetétől. Például egy szervezet minden alkalmazottja különálló entitás. Az alábbiakban az entitások néhány főbb jellemzőjét ismertetjük.

  • Egy entitásnak van egy tulajdonságkészlete.
  • Az entitás tulajdonságainak lehetnek értékei.

Vegyük figyelembe újra az első példánkat. Egy szervezet alkalmazottja egy entitás. Ha „Péter” egy programozó (egy alkalmazott) a következő helyen: Microsoft, rendelkezhet olyan attribútumokkal (tulajdonságokkal), mint a név, életkor, súly, magasság stb. Nyilvánvaló, hogy ezek releváns értékeket hordoznak számára.

Minden attribútumnak lehetnek értékei. A legtöbb esetben egyetlen attribútumnak egy értéke van. De az is lehetséges, hogy az attribútumok több értéket is felvesznek. Például Péter életkora egyetlen értékkel rendelkezik. De a „telefonszámok” tulajdonsága több értéket is felvehet.

Az entitások kapcsolatban állhatnak egymással. Tekintsük a legegyszerűbb példát. Tegyük fel, hogy mindegyik Microsoft Egy programozó kap egy számítógépet. Nyilvánvaló, hogy Péter számítógépe is egy entitás. Péter ezt a számítógépet használja, és Péter is ugyanazt a számítógépet használja. Más szóval, kölcsönös kapcsolat van Péter és a számítógépe között.

Az entitáskapcsolat-modellezés során az entitásokat, azok attribútumait és az entitások közötti kapcsolatokat modellezzük.

Miért érdemes ER modellt használni?

Most azt gondolhatja, hogy miért használjunk ER-modellezést, ha egyszerűen megtehetjük létrehozni az adatbázist és minden objektuma ER modellezés nélkül? Az adatbázisok tervezése során felmerülő egyik kihívás az, hogy a tervezők, a fejlesztők és a végfelhasználók hajlamosak másként tekinteni az adatokra és azok felhasználására. Ha ezt a helyzetet figyelmen kívül hagyjuk, akkor olyan adatbázisrendszert állíthatunk elő, amely nem felel meg a felhasználók igényeinek.

Az összes érdekelt fél (mind a műszaki, mind a nem műszaki felhasználók) által érthető kommunikációs eszközök kritikus fontosságúak a felhasználók igényeit kielégítő adatbázis-rendszerek létrehozásában. Az ER-modellek ilyen eszközökre példák.

Az ER diagramok a felhasználók termelékenységét is növelik, mivel könnyen lefordíthatók relációs táblázatokká.

Enhanced Entity Relationship (EER) modell

A továbbfejlesztett entitáskapcsolat-modell (EER) egy magas szintű adatmodell, amely kiterjesztéseket biztosít az eredeti entitáskapcsolat-modellhez (ER). Az EER modellek részletesebb tervezést támogatnak. Az EER modellezés megoldásként jelent meg a rendkívül összetett adatbázisok modellezésére.

Az EER UML jelölést használ. Az UML a következő rövidítés rövidítése: Egységes modellezési nyelv; ez egy általános célú modellező nyelv, amelyet objektumorientált rendszerek tervezésekor használnak. Az entitások osztálydiagramokként vannak ábrázolva. A kapcsolatok entitások közötti asszociációként jelennek meg. Az alábbi diagram egy ER diagramot mutat be a UML jelölés.

Enhanced Entity Relationship (EER) modell

Esettanulmány: ER diagram a „MyFlix” videótárhoz

Most a MyFlix Video Library adatbázisrendszerrel dolgozzunk, hogy jobban megértsük az ER diagramok koncepcióját. Ezt az adatbázist fogjuk használni az oktatóanyag összes gyakorlati munkájához.

A MyFlix egy üzleti egység, amely filmeket ad ki tagjainak. A MyFlix manuálisan tárolta rekordjait. A vezetőség most a DBMS.

Nézzük meg az adatbázis EER-diagramjának elkészítésének lépéseit:

  1. Azonosítsa az entitásokat, és határozza meg a köztük fennálló kapcsolatokat.
  2. Minden entitásnak, attribútumnak és kapcsolatnak megfelelő nevekkel kell rendelkeznie, amelyeket a nem műszaki beállítottságú emberek is könnyen megérthetnek.
  3. A kapcsolatok nem kapcsolódhatnak közvetlenül egymáshoz. A kapcsolatoknak entitásokat kell összekapcsolniuk.
  4. Egy adott entitásban minden attribútumnak egyedi névvel kell rendelkeznie.

Entitások a „MyFlix” könyvtárban

A miénkbe bevonandó entitások ER diagram vannak:

  • Tagok – ez a szervezet fogja tárolni a tagok adatait.
  • Filmek – ez az entitás filmekkel kapcsolatos információkat tárol.
  • Kategóriák – ez az entitás olyan információkat tartalmaz, amelyek a filmeket különböző kategóriákba sorolják, például „Dráma”, „Akció” és „Epikus” stb.
  • Filmkölcsönzés – ez a szervezet információkat tárol a tagoknak kölcsönzött filmekről.
  • Fizetések – ez a szervezet információkat tárol a tagok által teljesített befizetésekről.

Az entitások közötti kapcsolatok meghatározása

Tagok és filmek

Az alábbiak igazak a két entitás közötti interakciókra.

  • Egy tag egynél több filmet kölcsönözhet egy adott időszakban.
  • Egy filmet egy adott időszakban több tag is kölcsönözhet.

A fenti forgatókönyvből láthatjuk, hogy a kapcsolat jellege sok-sokba típusú. A relációs adatbázisok nem támogatják a sok-sokba típusú kapcsolatokat. Be kell vezetnünk egy junction entitást. Ezt a szerepet a MovieRentals entitás tölti be. Egy-a-sokba kapcsolatban áll a Members táblával, és egy másik egy-a-sokba kapcsolatban a Movies táblával.

Filmek és kategóriák entitásai

Az alábbiak igazak a filmekre és a kategóriákra.

  • Egy film csak egy kategóriába tartozhat, de egy kategóriába több film is tartozhat.

Ebből arra következtethetünk, hogy a kategóriák és a filmek táblázatai közötti kapcsolat természete egy-a-sokhoz.

Tagok és fizető szervezetek

A következő igaz a tagokra és a befizetésekre.

  • Egy tagnak csak egy számlája lehet, de több befizetést is teljesíthet.

Ebből arra következtethetünk, hogy a tagok és a fizetési entitások közötti kapcsolat jellege egy-a-többhöz.

EER modell létrehozása a következővel: MySQL Workbench

In MySQL Workbench, kattintson a „+” gombra.

EER modell létrehozása a következővel: MySQL Workbench

Double Kattintson a Diagram hozzáadása gombra az ER-diagramok munkaterületének megnyitásához.

Diagram hozzáadása MySQL Workbench

A következő ablak jelenik meg.

MySQL Workbench EER modellező környezet

Nézzük meg azt a két objektumot, amelyekkel dolgozni fogunk.

  • A tábla objektum asztali eszköz lehetővé teszi számunkra, hogy entitásokat hozzunk létre, és meghatározzuk az adott entitáshoz társított attribútumokat.
  • A helyhez való viszony helykapcsolati eszköz A gombbal definiálhatunk kapcsolatokat az entitások között.

A Tagok entitás a következő attribútumokkal fog rendelkezni

  • Tagsági szám
  • Teljes nevek
  • nem
  • Születési idő
  • Valódi cím
  • postázási cím

Most hozzuk létre a Tagok táblát

1. Húzza át a táblázat objektumot az eszközök panelről.

2. Húzd el a munkaterületre. Megjelenik egy 1. tábla nevű entitás.

3. Double kattintson rá. Megjelenik az alább látható tulajdonságok ablak.

Tagok tábla tulajdonságai a MySQL Workbench

Ezután

  1. Módosítsd az 1. táblázatot Tagok névre.
  2. Módosítsa az alapértelmezett idtable1 értéket a tagsági_szám értékre.
  3. Kattintson a következő sorra a következő mező hozzáadásához.
  4. Ugyanezt tegye a Tagok entitásban azonosított összes attribútummal.

A tulajdonságok ablakának most így kell kinéznie.

Tagok entitás attribútumai definiálva

Ismételje meg a fenti lépéseket az összes azonosított entitásnál.

A diagram munkaterületének most az alábbiak szerint kell kinéznie.

MyFlix entitások a diagram munkaterületen

Hozzunk létre kapcsolatot a tagok és a filmkölcsönzők között

  1. Válassza ki a helykapcsolatot a meglévő oszlopok eszközzel.
  2. Kattintson a tagsági_szám elemre a Tagok táblázatban.
  3. Kattintson a referenciaszámra a Filmkölcsönzések táblázatban.

Kapcsolat létrehozása a Tagok és a MovieRentals között

Ismételje meg a fenti lépéseket a többi kapcsolatra is. Az ER diagramnak most így kell kinéznie:

Elkészült MyFlix ER diagram

GYIK

Egy ER diagram három fő komponenst használ: az entitásokat téglalapokként, az attribútumokat oválisként és a kapcsolatokat rombuszokként. Az aláhúzott attribútumok jelölik az elsődleges kulcsokat.

A gyakori attribútumtípusok az egyszerű (atomi), összetett (osztható), származtatott (számított), többértékű (több érték) és a kulcsattribútumok, amelyek egy entitást azonosítanak.

A kardinalitás határozza meg, hogy egy entitás hány példánya kapcsolódik egy másikhoz: egy-egyhez, egy-sokhoz vagy sok-sokhoz. Egy junction entitás feloldja a nem támogatott sok-sokhoz kapcsolatokat.

Egy erős entitásnak saját elsődleges kulcsa van, és önmagában is működik. Egy gyenge entitásnak nincs teljes kulcsa, és egy tulajdonos entitástól függ.

A varjúláb-jelölés a kardinalitást mutatja, a vonalvégek pedig madárlábra hasonlítanak. A tüskék a sok oldalt jelölik; a vonalak és körök az egyet és az opcionálisat.

Az ER modell entitások és kapcsolatok magas szintű, vizuális tervrajza. A relációs modell táblázatokként, sorokként, oszlopokként és kulcsokként valósítja meg ezt egy adatbázis-kezelő rendszeren belül.

A mesterséges intelligencia eszközei természetes nyelvű leírásokat alakítanak ER-diagramokká, entitásokat és kapcsolatokat javasolnak, valamint SQL-sémákat generálnak. A tervezők a megvalósítás előtt felülvizsgálják és kijavítják a kimenetet.

Igen. GitHub másodpilóta Entitásokat, kapcsolatokat és táblaszerkezeteket javasol, és SQL-t generál ezek felépítéséhez. Kódként diagramokat is tud rajzolni, mint például a Mermaid, amelyek ER-diagrammá renderelődnek.

Foglald össze ezt a bejegyzést a következőképpen: