Ce este ER Modeling? Învață cu Exemplu

⚡ Rezumat inteligent

Modelarea entitate-relație este o abordare grafică a proiectării bazelor de date care reprezintă obiectele din lumea reală ca entități, le descrie cu atribute și surprinde modul în care acestea se conectează prin relații, producând un plan clar înainte de construirea oricăror tabele.

  • 🧩 Ce este: Modelarea ER este un model grafic de date de nivel înalt care definește elementele de date și relațiile dintre acestea.
  • 🗂️ Blocuri de construcție: Entitățile reprezintă lucruri din lumea reală, atributele descriu proprietățile acestora, iar relațiile surprind modul în care entitățile interacționează.
  • 🔗 Cardinalitate: Relațiile sunt unu-la-unu, unu-la-mai-mulți sau mai-mulți-la-mai-mulți, rezolvate cu o entitate joncțiune.
  • 🚀 Modelul EER: Modelul ER îmbunătățit utilizează notația UML și construcții suplimentare pentru baze de date extrem de complexe.
  • 🎬 Studiu de caz MyFlix: Un exemplu de bibliotecă video mapează membrii, filmele, categoriile, închirierile și plățile într-o diagramă ER.
  • 🤖 Asistență AI: Instrumentele de inteligență artificială și GitHub Copilot transformă descrierile în limbaj natural în diagrame ER și scheme SQL.

Modelare ER

Ce este ER Modeling?

Model de relație cu entitate (ER Modeling) este o abordare grafică a proiectării bazelor de date. Este un model de date la nivel înalt care definește elementele de date și relația lor pentru un sistem software specificat. Un model ER este utilizat pentru a reprezenta obiecte din lumea reală.

O entitate este un lucru sau un obiect din lumea reală care se distinge de mediul înconjurător. De exemplu, fiecare angajat al unei organizații este o entitate separată. În continuare sunt prezentate câteva dintre principalele caracteristici ale entităților.

  • O entitate are un set de proprietăți.
  • Proprietățile entității pot avea valori.

Să luăm din nou în considerare primul nostru exemplu. Un angajat al unei organizații este o entitate. Dacă „Peter” este programator (un angajat) la Microsoft, el poate avea atribute (proprietăți) precum numele, vârsta, greutatea, înălțimea etc. Este evident că acestea au valori relevante pentru el.

Fiecare atribut poate avea valori. În majoritatea cazurilor, un singur atribut are o singură valoare. Dar este posibil ca atributele să aibă și mai multe valori. De exemplu, vârsta lui Petru are o singură valoare. Dar proprietatea sa „numere de telefon” poate avea mai multe valori.

Entitățile pot avea relații între ele. Să luăm în considerare cel mai simplu exemplu. Presupunem că fiecare Microsoft Programatorului i se dă un computer. Este clar că și computerul lui Peter este o entitate. Peter folosește acel computer, iar același computer este folosit de Peter. Cu alte cuvinte, există o relație reciprocă între Peter și computerul său.

În modelarea entitate-relații, modelăm entitățile, atributele acestora și relațiile dintre entități.

De ce să folosiți un model ER?

Acum vă puteți gândi de ce să folosiți modelarea ER când putem pur și simplu creați baza de date și toate obiectele sale fără modelare ER? Una dintre provocările cu care se confruntă la proiectarea unei baze de date este faptul că designerii, dezvoltatorii și utilizatorii finali tind să vadă datele și utilizarea lor în mod diferit. Dacă această situație este lăsată neverificată, putem ajunge să producem un sistem de baze de date care nu îndeplinește cerințele utilizatorilor.

Instrumentele de comunicare înțelese de toate părțile interesate (utilizatori tehnici, precum și non-tehnici) sunt esențiale în producerea de sisteme de baze de date care să îndeplinească cerințele utilizatorilor. Modelele ER sunt exemple de astfel de instrumente.

Diagramele ER cresc, de asemenea, productivitatea utilizatorilor, deoarece pot fi ușor traduse în tabele relaționale.

Model îmbunătățit de relație între entități (EER).

Modelul Enhanced Entity Relationship (EER) este un model de date de nivel înalt care oferă extensii modelului original Entity Relationship (ER). Modelele EER acceptă un design mai detaliat. Modelarea EER a apărut ca o soluție pentru modelarea bazelor de date extrem de complexe.

EER folosește notația UML. UML este acronimul pentru Limbajul de modelare unificat; este un limbaj de modelare de uz general utilizat la proiectarea sistemelor orientate pe obiecte. Entitățile sunt reprezentate ca diagrame de clasă. Relațiile sunt reprezentate ca asociații între entități. Diagrama de mai jos ilustrează o diagramă ER folosind Notație UML.

Model îmbunătățit de relație între entități (EER).

Studiu de caz: Diagrama ER pentru biblioteca video „MyFlix”

Să lucrăm acum cu sistemul de baze de date MyFlix Video Library pentru a înțelege conceptul diagramelor ER. Vom folosi această bază de date pentru toate lucrările practice din acest tutorial.

MyFlix este o entitate de afaceri care închiriază filme membrilor săi. MyFlix și-a stocat înregistrările manual. Conducerea acum vrea să treacă la a Baze de date.

Să analizăm pașii pentru dezvoltarea unei diagrame EER pentru această bază de date:

  1. Identificați entitățile și determinați relațiile care există între ele.
  2. Fiecare entitate, atribut și relație ar trebui să aibă nume adecvate, ușor de înțeles și de către persoanele fără cunoștințe tehnice.
  3. Relațiile nu ar trebui să fie conectate direct între ele. Relațiile ar trebui să conecteze entitățile.
  4. Fiecare atribut dintr-o entitate dată ar trebui să aibă un nume unic.

Entități din biblioteca „MyFlix”

Entitățile care urmează să fie incluse în nostru Diagrama ER sunt:

  • Membri – această entitate va deține informații despre membri.
  • Filme – această entitate va conține informații despre filme.
  • Categorii – această entitate va conține informații care plasează filmele în diferite categorii, cum ar fi „Dramă”, „Acțiune” și „Epic” etc.
  • Închirieri de filme – această entitate va deține informații despre filmele închiriate membrilor.
  • Plăți – această entitate va deține informații despre plățile efectuate de membri.

Definirea relațiilor între entități

Membrii și filmele

Următoarele sunt valabile în ceea ce privește interacțiunile dintre cele două entități.

  • Un membru poate închiria mai mult de un film într-o anumită perioadă.
  • Un film poate fi închiriat de mai mult de un membru într-o anumită perioadă.

Din scenariul de mai sus, putem observa că natura relației este de tip „many-to-many”. Bazele de date relaționale nu acceptă relații de tip „many-to-many”. Trebuie să introducem o entitate joncțiune. Acesta este rolul pe care îl joacă entitatea MovieRentals. Are o relație unu-la-many cu tabelul Members și o altă relație unu-la-many cu tabelul Movies.

Filme și categorii de entități

Următoarele sunt valabile despre filme și categorii.

  • Un film poate aparține unei singure categorii, dar o categorie poate avea mai multe filme.

Putem deduce din aceasta că natura relației dintre tabelele de categorii și filme este de tip unu-la-mai-mulți.

Membrii și entitățile de plată

Următoarele sunt valabile pentru membri și plăți.

  • Un membru poate avea un singur cont, dar poate efectua mai multe plăți.

Putem deduce din aceasta că natura relației dintre membri și entitățile de plată este de tip unu-la-mai-mulți.

Creați modelul EER folosind MySQL Banc de lucru

In MySQL Banc de lucru, faceți clic pe butonul „+”.

Creați modelul EER folosind MySQL Banc de lucru

Double Faceți clic pe butonul Adăugare diagramă pentru a deschide spațiul de lucru pentru diagrame ER.

Adăugați diagrama în MySQL Banc de lucru

Apare următoarea fereastră.

MySQL Mediul de modelare EER de tip Workbench

Să ne uităm la cele două obiecte cu care vom lucra.

  • Obiectul tabel instrument de masă ne permite să creăm entități și să definim atributele asociate cu entitatea respectivă.
  • Relația dintre loc instrumentul pentru relații de loc Butonul ne permite să definim relațiile dintre entități.

Entitatea Membri va avea următoarele atribute

  • Numar de membru
  • Nume complete
  • Gen
  • Data nașterii
  • Adresă fizică
  • Adresa postală

Să creăm acum tabelul Membri

1. Trageți obiectul tabel din panoul de instrumente.

2. Plasați-l în zona spațiului de lucru. Apare o entitate numită tabelul 1.

3. Double Faceți clic pe el. Apare fereastra de proprietăți afișată mai jos.

Proprietățile tabelului membrilor din MySQL Banc de lucru

În continuare,

  1. Schimbați tabelul 1 în Membri.
  2. Editați valoarea implicită idtable1 la membership_number.
  3. Faceți clic pe linia următoare pentru a adăuga următorul câmp.
  4. Procedați la fel pentru toate atributele identificate în entitatea Membri.

Fereastra proprietăților dvs. ar trebui să arate acum astfel.

Atributele entității membrilor sunt definite

Repetați pașii de mai sus pentru toate entitățile identificate.

Spațiul de lucru pentru diagramă ar trebui să arate acum ca cel prezentat mai jos.

Entități MyFlix în spațiul de lucru al diagramei

Să creăm o relație între membri și închirieri de filme

  1. Selectați relația de loc utilizând instrumentul coloane existente.
  2. Faceți clic pe membership_number în tabelul Members.
  3. Faceți clic pe numărul_referinței în tabelul Închirieri_filme.

Crearea unei relații între Membri și MovieRentals

Repetați pașii de mai sus pentru alte relații. Diagrama ER ar trebui să arate acum astfel:

Diagrama MyFlix ER finalizată

Întrebări frecvente

O diagramă ER folosește trei componente principale: entități sub formă de dreptunghiuri, atribute sub formă de ovale și relații sub formă de romburi. Atributele subliniate marchează cheile primare.

Tipurile comune de atribute sunt simple (atomice), compozite (divizibile), derivate (calculate), multivoce (mai multe valori) și atribute cheie care identifică o entitate.

Cardinalitatea definește câte instanțe ale unei entități se raportează la alta: unu-la-unu, unu-la-mai-mulți sau mai-mulți-la-mai-mulți. O entitate de joncțiune rezolvă legăturile mai-mulți-la-mai-mulți neacceptate.

O entitate puternică are propria cheie primară și este independentă. O entitate slabă nu are o cheie completă și depinde de o entitate proprietară.

Notația „piciorul ciorii” arată cardinalitatea cu terminații de linie care seamănă cu piciorul unei păsări. Vârfurile marchează latura cu multe numere; barele și cercurile indică una și opționalul.

Un model ER este o reprezentare vizuală la nivel înalt a entităților și relațiilor. Modelul relațional îl implementează sub formă de tabele, rânduri, coloane și chei în cadrul unui SGBD.

Instrumentele de inteligență artificială transformă descrierile în limbaj natural în diagrame ER, sugerează entități și relații și generează scheme SQL. Designerii revizuiesc și corectează rezultatul înainte de a-l implementa.

Da. Copilotul GitHub sugerează entități, relații și structuri de tabele și generează cod SQL pentru a le construi. De asemenea, poate redacta diagrame ca și cod, cum ar fi Mermaid, care se redau într-o diagramă ER.

Rezumați această postare cu: