Što je ER modeliranje? Učite s primjerom

⚡ Pametni sažetak

Modeliranje entiteta i odnosa je grafički pristup dizajnu baza podataka koji predstavlja objekte iz stvarnog svijeta kao entitete, opisuje ih atributima i bilježi kako se povezuju putem odnosa, stvarajući jasan nacrt prije nego što se izgrade bilo kakve tablice.

  • 🧩 Što je to: ER modeliranje je grafički model podataka visoke razine koji definira elemente podataka i njihove odnose.
  • 🗂️ Građevni blokovi: Entiteti predstavljaju stvari iz stvarnog svijeta, atributi opisuju njihova svojstva, a odnosi obuhvaćaju kako entiteti međusobno djeluju.
  • 🔗 Kardinalnost: Odnosi su jedan-na-jedan, jedan-na-mnogo ili više-na-mnogo, razrješeni spojnim entitetom.
  • 🚀 EER model: Poboljšani ER model koristi UML notaciju i dodatne konstrukte za vrlo složene baze podataka.
  • 🎬 Studija slučaja MyFlix: Primjer videoteke prikazuje članove, filmove, kategorije, najamnine i plaćanja u ER dijagramu.
  • 🤖 AI pomoć: Alati umjetne inteligencije i GitHub Copilot pretvaraju opise na prirodnom jeziku u ER dijagrame i SQL sheme.

ER Modeliranje

Što je ER modeliranje?

Model odnosa entiteta (ER Modeling) je grafički pristup dizajnu baze podataka. To je model podataka visoke razine koji definira elemente podataka i njihov odnos za određeni softverski sustav. ER model se koristi za predstavljanje objekata iz stvarnog svijeta.

Entitet je stvar ili objekt u stvarnom svijetu koji se razlikuje od svoje okolne okoline. Na primjer, svaki zaposlenik organizacije je zaseban entitet. U nastavku su navedene neke od glavnih karakteristika entiteta.

  • Entitet ima skup svojstava.
  • Svojstva entiteta mogu imati vrijednosti.

Razmotrimo ponovno naš prvi primjer. Zaposlenik organizacije je entitet. Ako je „Petar“ programer (zaposlenik) u Microsoft, on može imati atribute (svojstva) poput imena, dobi, težine, visine itd. Očito je da oni sadrže vrijednosti koje su mu relevantne.

Svaki atribut može imati vrijednosti. U većini slučajeva jedan atribut ima jednu vrijednost. Ali moguće je da atributi imaju i više vrijednosti. Na primjer, Petrova dob ima jednu vrijednost. Ali njegovo svojstvo "brojevi telefona" može imati više vrijednosti.

Entiteti mogu imati međusobne odnose. Razmotrimo najjednostavniji primjer. Pretpostavimo da svaki Microsoft Programeru se daje računalo. Jasno je da je Petrovo računalo također entitet. Petar koristi to računalo, a isto računalo koristi i Petar. Drugim riječima, postoji međusobni odnos između Petra i njegovog računala.

U modeliranju entiteta i odnosa modeliramo entitete, njihove atribute i odnose među entitetima.

Zašto koristiti ER model?

Sada možete pomisliti zašto koristiti ER modeliranje kada možemo jednostavno stvoriti bazu podataka i sve njegove objekte bez ER modeliranja? Jedan od izazova s ​​kojima se susreću prilikom dizajniranja baze podataka je činjenica da dizajneri, programeri i krajnji korisnici imaju tendenciju drugačije gledati na podatke i njihovu upotrebu. Ako se ova situacija ne kontrolira, možemo proizvesti sustav baze podataka koji ne zadovoljava zahtjeve korisnika.

Komunikacijski alati koje razumiju svi dionici (tehnički i netehnički korisnici) ključni su za izradu sustava baza podataka koji zadovoljavaju zahtjeve korisnika. ER modeli su primjeri takvih alata.

ER dijagrami također povećavaju produktivnost korisnika jer se mogu lako prevesti u relacijske tablice.

Model poboljšanog odnosa entiteta (EER).

Model poboljšanih entitetskih odnosa (EER) je model podataka visoke razine koji pruža proširenja izvornom modelu entitetskih odnosa (ER). EER modeli podržavaju detaljniji dizajn. EER modeliranje pojavilo se kao rješenje za modeliranje vrlo složenih baza podataka.

EER koristi UML notaciju. UML je akronim za Jedinstveni jezik za modeliranje; to je jezik za modeliranje opće namjene koji se koristi pri projektiranju objektno orijentiranih sustava. Entiteti su predstavljeni kao dijagrami klasa. Odnosi su predstavljeni kao asocijacije između entiteta. Donji dijagram ilustrira ER dijagram koji koristi UML notacija.

Model poboljšanog odnosa entiteta (EER).

Studija slučaja: ER dijagram za videoteku „MyFlix“

Sada ćemo raditi sa sustavom baze podataka MyFlix Video Library kako bismo razumjeli koncept ER dijagrama. Ovu bazu podataka koristit ćemo za sav praktični rad u ovom vodiču.

MyFlix je poslovni subjekt koji svojim članovima iznajmljuje filmove. MyFlix je svoje zapise pohranjivao ručno. Uprava se sada želi preseliti u a DBMS.

Pogledajmo korake za razvoj EER dijagrama za ovu bazu podataka:

  1. Identificirajte entitete i odredite odnose koji među njima postoje.
  2. Svaki entitet, atribut i odnos trebaju imati odgovarajuća imena koja mogu lako razumjeti i osobe koje nisu tehničke prirode.
  3. Odnosi ne bi trebali biti izravno povezani jedni s drugima. Odnosi bi trebali povezivati ​​entitete.
  4. Svaki atribut u određenom entitetu treba imati jedinstveno ime.

Entiteti u biblioteci „MyFlix“

Subjekti koji će biti uključeni u naše ER dijagram je:

  • Članovi – ovaj entitet će sadržavati podatke o članovima.
  • Filmovi – ovaj entitet će sadržavati informacije o filmovima.
  • Kategorije – ovaj entitet sadrži informacije koje filmove svrstavaju u različite kategorije kao što su „Drama“, „Akcija“ i „Epski“ itd.
  • Najam filmova – ovaj entitet će sadržavati informacije o filmovima iznajmljenim članovima.
  • Plaćanja – ovaj entitet će sadržavati informacije o plaćanjima članova.

Definiranje odnosa među entitetima

Članovi i filmovi

Sljedeće vrijedi za interakcije između dva entiteta.

  • Član može unajmiti više od jednog filma u određenom razdoblju.
  • Film može iznajmiti više od jednog člana u određenom razdoblju.

Iz gornjeg scenarija možemo vidjeti da je priroda odnosa više-prema-više. Relacijske baze podataka ne podržavaju odnose više-prema-više. Moramo uvesti entitet spoja. To je uloga koju igra entitet MovieRentals. Ima odnos jedan-prema-više s tablicom Members i još jedan odnos jedan-prema-više s tablicom Movies.

Filmovi i entiteti kategorija

Sljedeće vrijedi za filmove i kategorije.

  • Film može pripadati samo jednoj kategoriji, ali kategorija može imati više od jednog filma.

Iz ovoga možemo zaključiti da je priroda odnosa između kategorija i tablica filmova jedan-prema-više.

Članovi i subjekti platnog prometa

Sljedeće vrijedi za članove i plaćanja.

  • Član može imati samo jedan račun, ali može izvršiti više uplata.

Iz ovoga možemo zaključiti da je priroda odnosa između članova i platnih subjekata jedan-prema-mnogo.

Izradite EER model koristeći MySQL Radna tezga

In MySQL Radna tezga, kliknite gumb „+“.

Izradite EER model koristeći MySQL Radna tezga

Double Kliknite gumb Dodaj dijagram da biste otvorili radni prostor za ER dijagrame.

Dodaj dijagram u MySQL Radna tezga

Pojavljuje se sljedeći prozor.

MySQL Workbench EER okruženje za modeliranje

Pogledajmo dva objekta s kojima ćemo raditi.

  • Objekt tablice alat za stol omogućuje nam stvaranje entiteta i definiranje atributa povezanih s određenim entitetom.
  • Odnos mjesta alat za odnose s mjestima Gumb nam omogućuje definiranje odnosa između entiteta.

Entitet Članovi imat će sljedeće atribute

  • Članski broj
  • Puna imena
  • rod
  • Datum rođenja
  • Fizička adresa
  • poštanska adresa

Sada kreirajmo tablicu Članovi

1. Povucite objekt tablice s ploče alata.

2. Ispustite ga u radni prostor. Pojavit će se entitet pod nazivom tablica 1.

3. Double kliknite na njega. Pojavit će se prozor svojstava prikazan dolje.

Svojstva tablice članova u MySQL Radna tezga

Dalje,

  1. Promijeni tablicu 1 u Članove.
  2. Uredite zadanu vrijednost idtable1 na membership_number.
  3. Kliknite na sljedeći redak da biste dodali sljedeće polje.
  4. Učinite isto za sve atribute identificirane u entitetu Članovi.

Vaš prozor svojstava sada bi trebao izgledati ovako.

Definirani atributi entiteta članova

Ponovite gornje korake za sve identificirane entitete.

Vaš radni prostor dijagrama sada bi trebao izgledati kao onaj prikazan ispod.

MyFlix entiteti u radnom prostoru dijagrama

Stvorimo odnos između članova i iznajmljenih filmova

  1. Odaberite odnos mjesta pomoću alata za postojeće stupce.
  2. Kliknite na broj_članstva u tablici Članovi.
  3. Kliknite na reference_number u tablici MovieRentals.

Stvaranje odnosa između članova i MovieRentalsa

Ponovite gore navedene korake za ostale odnose. Vaš ER dijagram sada bi trebao izgledati ovako –

Završen dijagram MyFlix ER-a

Pitanja i odgovori

ER dijagram koristi tri osnovne komponente: entitete kao pravokutnike, atribute kao ovale i odnose kao rombove. Podcrtani atributi označavaju primarne ključeve.

Uobičajeni tipovi atributa su jednostavni (atomski), složeni (djeljivi), izvedeni (izračunati), viševrijednosni (nekoliko vrijednosti) i ključni atributi koji identificiraju entitet.

Kardinalnost definira koliko se instanci jednog entiteta odnosi na drugi: jedan-na-jedan, jedan-na-mnogo ili više-na-mnogo. Spojni entitet razrješava nepodržane veze više-na-mnogo.

Jaki entitet ima svoj primarni ključ i stoji samostalno. Slabi entitet nema puni ključ i ovisi o entitetu vlasniku.

Notacija "crow's foot" prikazuje kardinalnost sa završecima linija koji nalikuju ptičjoj nozi. Zupci označavaju stranu "mnogo"; stupci i krugovi označavaju jedan i opcionalno.

ER model je vizualni nacrt entiteta i odnosa visoke razine. Relacijski model ga implementira kao tablice, retke, stupce i ključeve unutar DBMS-a.

Alati umjetne inteligencije pretvaraju opise prirodnog jezika u ER dijagrame, predlažu entitete i odnose te generiraju SQL sheme. Dizajneri pregledavaju i ispravljaju izlaz prije implementacije.

Da. GitHub kopilot predlaže entitete, odnose i strukture tablica te generira SQL za njihovu izgradnju. Također može crtati dijagram kao kod, poput Mermaid, koji se renderira u ER dijagram.

Sažmite ovu objavu uz: