Diagrama Entitate-Relaţie (ERD – Entity - Relation Diagram) modelează
grafic BD. În această diagramă sunt reprezentate entităţile, relaţiile şi, eventual, atributele, sub forma unui graf neorientat. De exemplu, în figura.1 este reprezentată succint (fără atribute) diagrama ER a BD a unei facultăţi.
figura.1 Diagrama E-R
Diagrama ER trebuie reprezentată şi analizată cât mai minuţios şi
sistematic, pentru a fi siguri că prin entităţile, atributele şi relaţiile definite, diagrama răspunde la toate întrebările puse în faza de descriere a BD prin regulile de afaceri, exprimate în documentaţia BD. De exemplu, diagrama din figura .1 poate să răspundă la diverse întrebări: Care dintre studenţi participă la un examen? Cu ce profesor se dă un examen? Câţi studenţi sunt într-o anumită grupă? Sunt foarte importante şi atributele fiecărei entităţi pentru că lipsa unor atribute poate să facă imposibil răspunsul la anumite întrebări ale beneficiarilor BD. De exemplu, dacă în exemplul de mai sus, entitatea EXAMEN nu are un atribut sală şi atribute de tip dată şi timp, atunci din interogarea BD nu vom putea şti în ce sală, în ce zi şi la ce oră este planificat un examen.
Exerciţiu propus: Completaţi diagrama ER din figura .1 cu atributele
asociate entităţilor şi eventual cu noi entităţi, care sunt necesare pentru ca BD să răspundă la anumite întrebări. Scrieţi pe fiecare linie de legătură dintre entităţile relaţionate, care este atributul prin care se exprimă acea relaţie. Diagrama ER este realizată cu scopul de a cuprinde într-o structură simplă şi bine organizată toate datele care sunt necesare organizaţiei beneficiare. Regulă!: Informaţiile trebuie să apară într-un singur loc din BD, adică să nu se repete. De exemplu, nu vom scrie în tabelul disciplinelor informaţii specifice cadrului didactic, precum gradul didactic, deoarece aceasta ar însemna să repetăm aceeaşi informaţie pe mai multe linii din tabel, dacă acesta predă mai multe discipline. Când titularul este promovat, informaţiile despre gradul didactic ar trebui reactualizate pe toate liniile disciplinelor predate de el şi există riscul de a nu face toate modificările necesare (erori ale operatorului uman). De aceea, am definit o entitate separată pentru titularii de discipline, cu atribute specifice, pe care o relaţionăm cu entitatea DISCIPLINĂ doar prin identificatorul unic al titularului. Informaţiile care pot fi deduse sau derivate din altele, nu vor fi şi ele incluse în modelul BD prin alte atribute. De exemplu, dacă pentru o entitate ANGAJAT se foloseşte atributul data_angajării, atunci vechimea angajatului poate fi dedusă din data curentă şi data angajării şi nu trebuie să apară ca un atribut separat. În cazul atributelor derivabile, se păstrează acel atribut care nu are caracter volatil.