Model de diagramă de relație de entitate (ER) cu exemplu DBMS

⚡ Rezumat inteligent

Modelul diagramei entitate-relație (ER) cu exemplu de SGBD ilustrează o metodă structurată de reprezentare vizuală a datelor și a interconexiunilor acestora în cadrul bazelor de date relaționale. Propusă de Peter Chen, aceasta oferă o bază de modelare conceptuală pentru a defini cu precizie entități, atribute, relații și cardinalitățile acestora.

  • 🔍 Concept de bază: Diagramele ER definesc structura bazei de date prin trei componente principale - entități, atribute și relații - asigurând o mapare clară între obiectele de date și interacțiunile acestora.
  • 🧱 Simboluri structurale: Dreptunghiurile denotă entități, elipsele reprezintă atribute, iar romburile ilustrează relații; liniile de legătură indică legături logice, iar atributele subliniate marchează cheile primare.
  • ⚙️ Clasificarea entității: Entitățile sunt grupate în seturi, fiecare identificat prin chei sau atribute unice. Entitățile slabe nu au chei independente și se bazează pe entități puternice pentru identificare, folosind dreptunghiuri duble și sublinieri punctate.
  • 🔗 Definiția relației: Relațiile exprimă asocieri între entități (de exemplu, „Studentul se înscrie la Curs”) și sunt clasificate după cardinalitate - unu-la-unu, unu-la-mai-mulți, mai-mulți-la-unu sau mai-mulți-la-mai-mulți.
  • 🧩 Tipuri de atribute: Atributele pot fi simple, compozite, derivate sau multivaloare, definind proprietăți distincte ale datelor, cum ar fi nume, date și câmpuri calculate.
  • 🧭 Pași de creare a unui ERD: Identificați entitățile, stabiliți relații, determinați cardinalitățile, atribuiți atribute și definiți cheile primare înainte de a construi diagrama completă.
  • 📈 Practică de optimizare: Eliminați redundanțele, etichetați toate componentele și păstrați aparițiile unice ale entităților pentru claritate, asigurându-vă că diagrama respectă toate cerințele necesare de stocare a datelor.

Diagrama relației cu entitate

Ce este o diagramă ER?

Diagrama Entitate-Relație (ER) este un instrument vizual puternic pentru proiectarea structurilor bazelor de date relaționale. Propusă pentru prima dată de Peter Chen în 1976, aceasta oferă o bază de modelare conceptuală care definește cu precizie entitățile, atributele, relațiile și cardinalitățile acestora. Acest tutorial acoperă totul, de la concepte de bază la tehnici avansate, ajutându-vă să stăpâniți proiectarea schemelor bazelor de date.

Diagramele ER conțin diferite simboluri care utilizează dreptunghiuri pentru a reprezenta entități, ovale pentru a defini atribute și forme de romb pentru a reprezenta relații.

La prima vedere, o diagramă ER arată foarte asemănător cu o schemă logică. Cu toate acestea, o diagramă ER include multe simboluri specializate, iar semnificațiile lor fac ca acest model să fie unic. Scopul unei diagrame ER este de a reprezenta infrastructura cadrului de lucru al entității.

Exemple de diagrame ER
Exemplu de diagramă de relație cu entitate

Istoricul modelelor ER

Peter Chen a propus diagrama ER în 1976 în lucrarea sa fundamentală „Modelul entitate-relație: către o vedere unificată a datelor”. Scopul său a fost de a crea o convenție uniformă care să poată fi utilizată atât pentru bazele de date relaționale, cât și pentru rețele. Chen a conceput modelul ER ca o abordare de modelare conceptuală care ar reduce decalajul dintre cerințele din lumea reală și implementarea tehnică a bazelor de date.

De atunci, modelul ER a evoluat cu diverse sisteme de notație, inclusiv notația Chen (originală), notația Crow's Foot (populară în instrumentele moderne) și abordări bazate pe UML. În ciuda acestor variații, conceptele de bază rămân consecvente în toate implementările.

De ce să folosiți diagramele ER?

Diagramele ER oferă numeroase beneficii pentru proiectarea și dezvoltarea bazelor de date:

  • Comunicare vizuală: Acestea oferă o reprezentare vizuală clară pe care atât părțile interesate tehnice, cât și cele non-tehnice o pot înțelege.
  • Plan de dezvoltare: Acestea arată exact cum ar trebui să se conecteze tabelele și ce câmpuri va conține fiecare tabel.
  • Traducere gata: Diagramele ER pot fi traduse direct în tabele relaționale, permițându-vă să construiți rapid baze de date.
  • Prevenirea erorilor: Acestea ajută la identificarea defectelor de proiectare și a redundanțelor înainte de implementare, economisind timp și resurse.
  • Documentație: Acestea servesc drept documentație durabilă care ajută noii membri ai echipei să înțeleagă arhitectura sistemului.
  • Analiza de sistem: Acestea ajută la identificarea tuturor entităților existente într-un sistem și a relațiilor dintre ele.

Componentele diagramei ER

Fiecare diagramă ER este construită din trei componente principale: entități, atribute și relații. Înțelegerea fiecărei componente și a modului în care acestea interacționează este esențială pentru crearea unor modele eficiente de baze de date.

Exemple de diagrame ER

De exemplu, într-o bază de date universitară, am putea avea entități pentru Studenți, Cursuri și Lectori. O entitate student poate avea atribute precum Nr. înscriere, Nume și ID departament. Acestea pot avea relații cu Cursuri și Lectori.

Componentele diagramei ER

Componentele diagramei ER

entități

O entitate reprezintă orice obiect din lumea reală - viu sau neviu - care poate fi identificat în mod clar și despre care pot fi stocate date. Poate fi un lucru fizic, un fapt despre întreprindere sau un eveniment care se întâmplă în lumea reală. Entitățile pot include persoane, locuri, obiecte, evenimente sau concepte.

Exemple de entități pe categorii:

  • Persoană: Angajat, Student, Pacient, Client
  • Locul: Magazin, Clădire, Birou, Depozit
  • Obiect: Mașină, Produs, Mașină, Carte
  • Eveniment: Vânzare, Înregistrare, Reînnoire, Tranzacție
  • Concept: Cont, Curs, Departament, Proiect

exemple de entități în dbm-uri

Set de entitati

Un set de entități este un grup de entități similare care au atribute comune. De exemplu, toți studenții dintr-o universitate formează un set de entități „Student”. Entitățile sunt reprezentate în diagramele ER folosind dreptunghiuri, cu numele entității scris în interior.

Entitățile sunt reprezentate prin proprietățile lor, care sunt numite și atribute. Toate atributele au valori separate. De exemplu, o entitate de tip student poate avea ca atribute un nume, o vârstă și o clasă.

Entitate

Entități puternice vs. entități slabe

Entitățile sunt clasificate fie ca puternice, fie ca slabe, în funcție de capacitatea lor de a exista independent. Înțelegerea acestei distincții este crucială pentru proiectarea corectă a bazelor de date.

O entitate puternică are propria cheie primară și poate exista independent. De exemplu, o entitate „Student” poate fi identificată în mod unic prin Student_ID fără a depinde de nicio altă entitate.

O entitate slabă nu are o cheie primară proprie și depinde de o entitate puternică (numită entitatea proprietar) pentru identificarea sa. Aceasta folosește o cheie parțială (discriminator) combinată cu cheia primară a proprietarului pentru a obține unicitatea. De exemplu, într-un sistem bancar, o entitate „Tranzacție” depinde de o entitate „Cont” - numărul tranzacției în sine nu este unic în întreaga bază de date, dar combinat cu numărul contului, devine unic.

Entități slabe

Entitate puternică Entitate slabă
Are propria cheie primară Nu are o cheie primară; folosește o cheie parțială
Reprezentat printr-un singur dreptunghi Reprezentat printr-un dreptunghi dublu
Cheia primară este subliniată cu o linie continuă Cheia parțială este subliniată cu linie punctată
Poate exista independent Depinde de entitatea proprietar pentru existență
Legat de o relație cu un singur diamant Conectat cu diamant dublu (relație de identificare)
Exemplu: Student, Angajat, Produs Exemplu: Tranzacție, Dependent, Articol_Comandă

Relaţie

O relație reprezintă o asociere între două sau mai multe entități. Relațiile sunt de obicei identificate folosind verbe sau sintagme verbale care descriu modul în care entitățile interacționează între ele. În diagramele ER, relațiile sunt reprezentate folosind forme de romb. Exemplu: Tom lucrează în departamentul de chimie.

Relaţie

Entitățile iau parte la relații. De multe ori putem identifica relații cu verbe sau expresii verbale.

Exemple:

  • Participați la această prelegere
  • țin prelegerea
  • Un student participă la o prelegere
  • Un lector ține o prelegere

Atribute

Un atribut este o proprietate sau o caracteristică care descrie o entitate sau o relație. Atributele oferă informații detaliate care fac ca fiecare instanță a entității să fie unică și semnificativă. În diagramele ER, atributele sunt reprezentate folosind ovale (elipse) conectate la entitatea lor părinte printr-o linie.

Atribute

De exemplu, o entitate Student ar putea avea atribute precum Student_ID, Name, Date_of_Birth, Email și Phone_Number.

Tipuri de atribute

Tip de atribut Descriere Exemplu
Simplu (AtomIC) Nu poate fi împărțit în componente mai mici Număr de telefon, CNP, E-mail
Compozit Poate fi împărțit în sub-atribute mai mici Nume complet (prenume, nume mijlociu, nume de familie), adresă (stradă, oraș, coș poștal)
Derivat Valoarea este calculată din alte atribute; nu este stocată direct Vârstă (derivată din data nașterii), Preț total
Multivaloare Poate conține mai multe valori pentru o singură entitate Telefon Numbers, Adrese de e-mail, Competențe
Atribut cheie Identifică în mod unic fiecare instanță a entității (cheie primară) ID_student, ID_angajat, ISBN

Sfat cheie: În diagramele ER, atributele cheie sunt afișate cu numele lor subliniate. Atributele derivate sunt afișate în ovale punctate, iar atributele multivaloare sunt afișate în ovale duble.

Cardinalitate (Tipuri de relații)

Cardinalitatea definește constrângerile numerice ale unei relații - mai exact, câte instanțe ale unei entități pot fi asociate cu instanțe ale unei alte entități. Înțelegerea cardinalității este esențială pentru proiectarea unor structuri eficiente ale bazelor de date.

Cardinalitatea

1. Unu la Unu (1:1)

O entitate din mulțimea A poate fi asociată cu cel mult o entitate din mulțimea B și invers.

Exemplu: Unui student i se atribuie exact un singur ID de student, iar fiecare ID de student aparține exact unui singur student.

Cardinalitatea unu-la-unu

2. Unu-la-Mulți (1:N)

O entitate din mulțimea A poate fi asociată cu mai multe entități din mulțimea B, dar fiecare entitate din B este asociată doar cu o singură entitate din A.

Exemplu: O clasă este formată din mai mulți elevi.

Cardinalitatea unu-la-mulți

3. Mai mulți la unu (N:1)

Mai multe entități din mulțimea A pot fi asociate cu o entitate din mulțimea B.

De exemplu, mulți elevi aparțin aceleiași clase.

Cardinalitatea Multi la Una

4. Many-to-Many (M:N)

Mai multe entități din mulțimea A pot fi asociate cu mai multe entități din mulțimea B și invers.

De exemplu, studenții ca grup sunt asociați cu mai mulți membri ai facultății, iar membrii facultății pot fi asociați cu mai mulți studenți.

Mulți până la Mulți Cardinalitate

Simboluri și notații ale diagramei ER

Diagramele ER utilizează simboluri standardizate pentru a reprezenta diferite componente. Deși există mai multe sisteme de notație, cele două cele mai utilizate sunt notația Chen și notația Crow's Foot.

Notația Chen

Notația Chen, dezvoltată de Peter Chen în 1976, folosește forme geometrice pentru a reprezenta diferite elemente:

Simbol Nume reprezintă
Dreptunghi Entitate Entitate puternică (de exemplu, Student, Produs)
Double Dreptunghi Entitate slabă Entitate dependentă de alta (de exemplu, tranzacție)
Elipsă/Oval Atribut Proprietatea unei entități (de exemplu, nume, ID)
Double elipsă Atribut multivalor Atribut cu valori multiple (de exemplu, Telefon Numbers)
Elipsă punctată Atribut derivat Valoare calculată (de exemplu, vârsta din data nașterii)
Diamant Relaţie Asocierea între entități (de exemplu, Înscrieri)
Double Diamant Identificarea relației Relația cu entitatea slabă
Linie Link Conectează componentele împreună
Text subliniat Cheia principala Identificator unic pentru entitate

Notația piciorului ciorii

Notația Crow's Foot (numită și notație IE) este mai frecvent utilizată în instrumentele moderne de proiectare a bazelor de date. Folosește diferite sfârșituri de linie pentru a reprezenta cardinalitatea și este deosebit de eficientă pentru a arăta latura „mulți” a relațiilor.

Simbol Description Sens
Linie verticală unică (|) Obligatoriu Unul (exact unul)
Cerc cu linie (O|) Opțional Unu (zero sau unu)
Laba gâștei cu linie (>|) Obligatoriu Mai multe (unul sau mai multe)
Laba gâștei cu cerc (>O) Opțional Mai multe (zero sau mai multe)

Notația Chen vs. piciorul cioarăi: când se utilizează fiecare

Aspect Notația Chen Notația piciorului ciorii
Cele mai bune Modelare conceptuală, utilizare academică Modelare fizică/logică, utilizare industrială
Afișarea atributelor Afișează vizual toate atributele Listează atributele în caseta entității
Cardinalitatea Folosește numere (1, N, M) Folosește simboluri vizuale
Complexitate Poate deveni aglomerat Mai compact și mai curat
Suport pentru instrumente Suport limitat pentru instrumente moderne Susținut pe scară largă în instrumente

Cum se creează o diagramă de relație între entități (ERD)

În acest tutorial despre diagrama ER (ERD), vom învăța cum să creăm o diagramă ER. Următorii sunt pașii pentru a crea o diagramă ER:

Creați o diagramă de relație cu entitate

Pași pentru a crea o diagramă ER

Să le studiem cu un exemplu de diagramă de relație cu entitate:

Într-o universitate, un student se înscrie la cursuri. Un student trebuie să fie repartizat la cel puțin un curs. Fiecare curs este predat de un singur profesor. Pentru a menține calitatea predării, un profesor poate preda un singur curs.

Pasul 1) Identificarea entității

Avem trei entități:

  • student
  • Curs
  • Profesor

Identificarea entității

Pasul 2) Identificarea relației

Avem următoarele două relații:

  • Studentul este alocate un curs
  • Profesorul Oferă un curs

Identificarea relației

Pasul 3) Identificarea cardinalității

Din enunțul problemei, știm că:

  • Un student poate fi repartizat multiplu cursuri
  • Un profesor poate livra doar unu înscrie-te la cursul

Identificarea cardinalității

Pasul 4) Identificați atributele

Trebuie să studiați fișierele, formularele, rapoartele și datele menținute în prezent de organizație pentru a identifica atributele. De asemenea, puteți realiza interviuri cu diverse părți interesate pentru a identifica entitățile. Inițial, este important să identificați atributele fără a le asocia unei anumite entități.

După ce aveți o listă de atribute, trebuie să le mapați la entitățile identificate. Asigurați-vă că un atribut este asociat cu exact o singură entitate. Dacă considerați că un atribut ar trebui să aparțină mai multor entități, utilizați un modificator pentru a-l face unic.

Odată finalizată maparea, identificați cheile primare. Dacă o cheie unică nu este disponibilă, creați una.

Entitate Cheia principala Atribut
student Carnet de student Numele studentului
Profesor Card de identitate al angajatului Nume profesor
Curs ID-ul cursului Numele cursului

Pași pentru a crea o diagramă de relație cu entitate

Pentru entitatea Curs, atributele pot fi Durată, Credite, Teme etc. Pentru ușurință, am luat în considerare un singur atribut.

Pasul 5) Creați ERD-ul

O reprezentare mai modernă a unui exemplu de diagramă entitate-relație:

Creați diagrama ERD

Cele mai bune practici pentru diagrame ER eficiente

Urmați aceste instrucțiuni pentru a crea diagrame ER clare, ușor de întreținut și eficiente:

  • Eliminați redundanța: Eliminați entitățile, atributele sau relațiile duplicate.
  • Folosiți convenții de denumire clare: Folosește nume consecvente și descriptive. Evită abrevierile.
  • Validare în funcție de cerințe: Asigurați-vă că diagrama susține toate nevoile de stocare a datelor.
  • Nu te complica: Creați mai multe diagrame la niveluri diferite, în loc de o singură diagramă aglomerată.
  • Folosește culoarea cu moderație: Folosește culorile în mod consecvent pentru a evidenția categoriile.
  • Ipoteze privind documentul: Includeți note care explică ipotezele despre regulile de afaceri.
  • RevPerspectivă cu părțile interesate: Rugați utilizatorii de business și echipa tehnică să examineze diagrama.
  • Controlul versiunii: Mențineți versiunile pe măsură ce designul evoluează.

Diagrame ER vs. diagrame de clase UML

Deși atât diagramele ER, cât și diagramele de clase UML sunt utilizate pentru modelarea datelor, ele servesc unor scopuri și contexte diferite. Înțelegerea momentului în care se utilizează fiecare este importantă pentru o proiectare eficientă a sistemului.

Aspect Diagrama ER Diagrama de clasă UML
Scopul principal Proiectare baze de date Proiectare software/obiecte
Focus Date și relații Obiecte, metode și comportamente
Metode/Operații Nu este suportat Complet sprijinit
Moştenire Limitat (doar în EER) Suport complet
Utilizare în industrie Administratori de baze de date, analiști de date Dezvoltatori de software, arhitecți

Întrebări frecvente

O diagramă ER reprezintă vizual structura unei baze de date prin definirea entităților, a atributelor și a relațiilor acestora. Aceasta ajută designerii, dezvoltatorii și părțile interesate să asigure consecvența, integritatea și eficiența modelării datelor înainte de începerea implementării.

Cele două tipuri principale sunt Diagramele ER conceptuale (care prezintă relații și entități la nivel înalt fără detalii de implementare) și Diagramele ER fizice (care detaliază structurile reale ale bazelor de date, tipurile de date, cheile și constrângerile pentru implementare).

Pentru a crea o diagramă ER: (1) Identificați entitățile cheie din cerințele dvs., (2) Determinați relațiile dintre entități, (3) Atribuiți cardinalități pe baza regulilor de business, (4) Definiți atribute pentru fiecare entitate, (5) Identificați cheile primare și (6) Desenați diagrama folosind notația corespunzătoare.

Alegerea depinde de context. Notația Chen este cea mai potrivită pentru designul conceptual și mediul academic, în timp ce notația Crow's Foot este preferată pentru designul logic/fizic în mediul industrial. Majoritatea instrumentelor moderne de baze de date acceptă notația Crow's Foot.

O entitate puternică are propria cheie primară și poate exista independent. O entitate slabă nu are o cheie primară și depinde de o entitate puternică pentru identificarea sa, folosind o combinație între cheia primară a proprietarului și propria cheie parțială (discriminator).

În platformele DBMS în cloud, diagramele ER ghidează furnizarea automată, scalarea și orchestrarea interogărilor. Acestea permit instrumentelor bazate pe inteligență artificială să alinieze structurile de date cu predicțiile volumului de lucru și cu cererea utilizatorilor în timp real, îmbunătățind eficiența sistemului.

Deși inteligența artificială generativă poate propune modele ER inițiale din cerințele de business sau din seturi de date existente, supravegherea umană rămâne esențială pentru validarea relațiilor, impunerea constrângerilor, asigurarea coerenței logice și verificarea alinierii cu regulile de business reale din sistemele de producție.

Relațiile de tip „mulți-către-mulți” nu pot fi implementate direct în bazele de date relaționale. Trebuie să creați o entitate asociativă (tabel de joncțiuni) care să împartă relația M:N în două relații 1:N. Acest tabel de joncțiuni conține chei externe care fac referire la ambele entități originale.

Rezumați această postare cu: