Ce este modelarea ER?
Modelul de relații entitare (ER Modeling) este o abordare grafică a proiectării bazei de date. Este un model de date la nivel înalt care definește elementele de date și relația acestora pentru un sistem software specificat. Un model ER este folosit pentru a reprezenta obiecte din lumea reală.
O entitate este un lucru sau obiect din lumea reală care se distinge de mediul înconjurător. De exemplu, fiecare angajat al unei organizații este o entitate separată. Următoarele sunt câteva dintre caracteristicile majore ale entităților.
- O entitate are un set de proprietăți.
- Proprietățile entității pot avea valori.
În acest tutorial, veți învăța-
- Modelul relației cu entitățile îmbunătățite (EER)
- De ce să folosiți modelul ER?
- Entități din biblioteca „MyFlix”
- Definirea relațiilor între entități
Să analizăm din nou 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 dețin valori relevante pentru el.
Fiecare atribut poate avea valori . În majoritatea cazurilor, un singur atribut are o valoare. Dar este posibil ca și atributele să aibă valori multiple . De exemplu, vârsta lui Petru are o singură valoare. Dar proprietatea sa „numere de telefon” poate avea valori multiple.
Entitățile pot avea relații între ele. Să luăm în considerare cel mai simplu exemplu. Să presupunem că fiecărui programator Microsoft i se oferă un computer. Este clar că și Computerul lui Peter este o entitate. Peter folosește acel computer și același computer este folosit de Peter. Cu alte cuvinte, există o relație reciprocă între Peter și computerul său.
În Modelarea relațiilor entităților, modelăm entitățile, atributele și relațiile acestora între entități.
Modelul relației cu entitățile îmbunătățite (EER)
Modelul de relație cu entități îmbunătățite (EER) este un model de date la nivel înalt care oferă extensii la modelul original de relații cu entitățile (ER). Modelele EER acceptă proiectarea mai multor detalii. 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 Unified Modeling Language; este un limbaj de modelare cu scop 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 prezentată mai jos ilustrează o diagramă ER folosind notația UML.
De ce să folosiți modelul ER?
Acum vă puteți gândi de ce să folosim modelarea ER atunci când putem crea pur și simplu baza de date și toate obiectele sale fără modelarea ER? Una dintre provocările cu care se confruntă atunci când proiectează o bază de date este faptul că proiectanții, dezvoltatorii și utilizatorii finali tind să vadă datele și utilizarea lor în mod diferit. Dacă această situație este lăsată necontrolată, 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 (atât tehnice cât și non-tehnice) sunt esențiale în producerea sistemelor de baze de date care îndeplinesc cerințele utilizatorilor. Modelele ER sunt exemple de astfel de instrumente.
Diagramele ER cresc, de asemenea, productivitatea utilizatorilor, deoarece pot fi traduse cu ușurință în tabele relaționale.
Studiu de caz: diagramă ER pentru biblioteca video „MyFlix”
Să lucrăm acum cu sistemul de baze de date MyFlix Video Library pentru a ajuta la înțelegerea conceptului de diagrame ER. Vom folosi această bază de date pentru toate manualele în restul acestui tutorial
MyFlix este o entitate comercială care închiriază filme membrilor săi. MyFlix și-a stocat manual înregistrările. Conducerea vrea acum să treacă la un SGBD
Să ne uităm la pașii pentru a dezvolta diagrama EER pentru această bază de date-
- Identificați entitățile și determinați relațiile care există între ele.
- Fiecare entitate, atribut și relație ar trebui să aibă nume adecvate care să poată fi înțelese cu ușurință și de către persoanele non-tehnice.
- Relațiile nu ar trebui să fie conectate direct între ele. Relațiile ar trebui să conecteze entități.
- Fiecare atribut dintr-o entitate dată trebuie să aibă un nume unic.
Entități din biblioteca „MyFlix”
Entitățile care urmează să fie incluse în diagrama noastră ER sunt;
- Membri - această entitate va deține informații despre membri.
- Filme - această entitate va deține informații cu privire la filme
- Categorii - această entitate va deț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
Membri și filme
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 mulți membri într-o anumită perioadă.
Din scenariul de mai sus, putem vedea că natura relației este mult-la-mulți. Bazele de date relaționale nu acceptă relații de la mai mulți la mulți. Trebuie să introducem o entitate de joncțiune . Acesta este rolul pe care îl joacă entitatea MovieRentals. Are o relație unu-la-mulți cu masa membrilor și o altă relație unu-la-mulți cu masa filmelor.
Filme și categorii de entități
Următoarele sunt valabile despre filme și categorii.
- Un film poate aparține doar unei categorii, dar o categorie poate avea mai multe filme.
Putem deduce din aceasta că natura relației dintre categorii și tabelul de filme este una-la-multe.
Membri și entități de plăți
Următoarele sunt valabile în ceea ce privește membrii și plățile
- Un membru poate avea un singur cont, dar poate efectua o serie de plăți.
Putem deduce din aceasta că natura relației dintre membri și entitățile de plăți este una-la-multe.
Acum permiteți crearea unui model EER folosind MySQL Workbench
În bancul de lucru MySQL, faceți clic pe butonul "+"
Faceți dublu clic pe butonul Adăugare diagramă pentru a deschide spațiul de lucru pentru diagramele ER.
Apare fereastra următoare
Să ne uităm la cele două obiecte cu care vom lucra.
- Obiectul tabel ne permite să creăm entități și să definim atributele asociate entității respective.
- Butonul de relație de loc ne permite să definim relațiile dintre entități.
De Membrii entitate vor avea următoarele atribute
- Numar de membru
- Nume complete
- Gen
- Data de nastere
- Adresă fizică
- adresa postala
Să creăm acum tabela membrilor
1. Trageți obiectul de masă din panoul de instrumente
2. Aruncați-l în zona spațiului de lucru. Apare o entitate numită tabelul 1
3. Faceți dublu clic pe el. Apare fereastra de proprietăți prezentată mai jos
Următorul ,
- Schimbați tabelul 1 cu Membri
- Editați idtable1 implicit la numărul de membru
- Faceți clic pe linia următoare pentru a adăuga câmpul următor
- Faceți același lucru pentru toate atributele identificate în entitatea membrilor.
Fereastra proprietăților dvs. ar trebui să arate acum.
Repetați pașii de mai sus pentru toate entitățile identificate.
Spațiul de lucru al diagramei dvs. ar trebui să arate acum ca cel prezentat mai jos.
Permiteți crearea unei relații între membri și închirieri de filme
- Selectați relația de locație folosind și coloanele existente
- Faceți clic pe numărul de membru în tabelul Membrii
- Faceți clic pe numărul_referință în tabelul MovieRentals
Repetați pașii de mai sus pentru alte relații. Diagrama ER ar trebui să arate acum -
rezumat
- Forma completă a ER este Diagrama entității și a relațiilor. Acestea joacă un rol foarte important în procesul de proiectare a bazei de date. Acestea servesc ca instrument de comunicare non-tehnică pentru persoanele tehnice și non-tehnice.
- Entitățile reprezintă lucruri din lumea reală; pot fi conceptuale ca o comandă de vânzare sau fizice, cum ar fi un client.
- Toate entitățile trebuie să primească nume unice.
- Modelele ER permit, de asemenea, proiectanților bazei de date să identifice și să definească relațiile care există între entități.
Întregul model ER este atașat mai jos. Puteți pur și simplu să-l importați în MySQL Workbench
Faceți clic aici pentru a descărca modelul ER