Nu începi o bază de date scriind cod, ci desenând. Întâi identifici despre ce lucruri vrei să ții date (entitățile), ce știi despre ele (atributele) și cum le deosebești între ele (identificatorul). Abia apoi vin tabelele.
O entitate e o categorie de lucruri despre care merită să păstrăm date: Carte, Elev, Produs, Comandă. O instanță e un exemplar concret al ei — cartea „Enigma Otiliei", elevul cu id 3.
instanțele entității CARTE
| id_carte | titlu | autor | an |
|---|---|---|---|
| 1 | Enigma Otiliei | G. Călinescu | 1938 |
| 2 | Moromeții | M. Preda | 1955 |
| 3 | Ion | L. Rebreanu | 1920 |
Un atribut e o proprietate a entității. Contează cum îl clasifici — asta decide mai târziu tipul coloanei și regulile din tabelă.
| atribut al entității CARTE | obligatoriu? | fel | observație |
|---|---|---|---|
| id_carte | obligatoriu | simplu | identificator artificial (numerotare internă) |
| ISBN | obligatoriu | simplu | identificator natural (cod real al cărții) |
| titlu | obligatoriu | simplu | o carte fără titlu n-are sens |
| autor | obligatoriu | poate fi multiplu | o carte poate avea mai mulți autori |
| an_aparitie | opțional | simplu | uneori necunoscut |
| vechime (= an_curent − an_aparitie) | opțional | derivat | se CALCULEAZĂ, nu se stochează (volatil) |
Un identificator e un atribut (sau grup de atribute) care deosebește ORICE două instanțe — nicio valoare nu se repetă. Alege un candidat și verifică live pe datele de mai jos.
Convenția: un dreptunghi cu numele entității sus și atributele dedesubt; identificatorul se subliniază (și îl marcăm 🔑). Opționalele le notăm cu (o).
Cinci întrebări despre entități, atribute și identificatori.
Modelul entitate-relație, partea de entități.