Il modello ER definisce la visione concettuale di un database. Lavora intorno alle entità del mondo reale e alle associazioni tra di esse. A livello di vista, il modello ER è considerato una buona opzione per progettare i database.
Entità
Un’entità può essere un oggetto del mondo reale, animato o inanimato, che può essere facilmente identificabile. Per esempio, in un database scolastico, studenti, insegnanti, classi e corsi offerti possono essere considerati come entità. Tutte queste entità hanno alcuni attributi o proprietà che danno loro identità.
Un insieme di entità è una collezione di tipi simili di entità. Un insieme di entità può contenere entità con attributi che condividono valori simili. Per esempio, un insieme Studenti può contenere tutti gli studenti di una scuola; allo stesso modo un insieme Insegnanti può contenere tutti gli insegnanti di una scuola di tutte le facoltà. Gli insiemi di entità non devono necessariamente essere disgiunti.
Attributi
Le entità sono rappresentate per mezzo delle loro proprietà, chiamate attributi. Tutti gli attributi hanno dei valori. Per esempio, un’entità studente può avere come attributi il nome, la classe e l’età.
Esiste un dominio o una gamma di valori che possono essere assegnati agli attributi. Per esempio, il nome di uno studente non può essere un valore numerico. Deve essere alfabetico. L’età di uno studente non può essere negativa, ecc.
Tipi di attributi
-
Attributo semplice – Gli attributi semplici sono valori atomici, che non possono essere divisi ulteriormente. Per esempio, il numero di telefono di uno studente è un valore atomico di 10 cifre.
-
Attributo composto – Gli attributi composti sono formati da più di un attributo semplice. Per esempio, il nome completo di uno studente può avere nome_nome e cognome.
-
Attributo derivato – Gli attributi derivati sono gli attributi che non esistono nel database fisico, ma i loro valori sono derivati da altri attributi presenti nel database. Per esempio, average_salary in un dipartimento non dovrebbe essere salvato direttamente nel database, invece può essere derivato. Per un altro esempio, l’età può essere derivata da data_of_birth.
-
Attributo a valore singolo – Gli attributi a valore singolo contengono un valore singolo. Per esempio – Social_Security_Number.
-
Attributo multi-valore – Gli attributi multi-valore possono contenere più di un valore. Per esempio, una persona può avere più di un numero di telefono, indirizzo_e-mail, ecc.
Questi tipi di attributi possono riunirsi in un modo come –
- semplici attributi a valore singolo
- semplici attributi a valore multiplo
- composto attributi a valore singolo
- attributi compositi a valore multiplo
Insieme di entità e chiavi
La chiave è un attributo o un insieme di attributi che identifica in modo univoco un’entità in un insieme di entità.
Per esempio, il numero di matricola di uno studente lo rende identificabile tra gli studenti.
-
Super chiave – Un insieme di attributi (uno o più) che identifica collettivamente un’entità in un insieme di entità.
-
Chiave candidata – Una super chiave minima è chiamata chiave candidata. Un insieme di entità può avere più di una chiave candidata.
-
Chiave primaria – Una chiave primaria è una delle chiavi candidate scelte dal progettista del database per identificare univocamente l’insieme di entità.
Relazioni
L’associazione tra entità è chiamata relazione. Per esempio, un impiegato lavora in un dipartimento, uno studente si iscrive a un corso. Qui, Works_at e Enrolls sono chiamate relazioni.
Insieme di relazioni
Un insieme di relazioni di tipo simile è chiamato insieme di relazioni. Come le entità, anche una relazione può avere degli attributi. Questi attributi sono chiamati attributi descrittivi.
Grado di relazione
Il numero di entità partecipanti in una relazione definisce il grado della relazione.
- Binario = grado 2
- Ternario = grado 3
- n-ario = grado
Cardinalità di mappatura
La cardinalità definisce il numero di entità in un insieme di entità, che può essere associato al numero di entità di un altro insieme tramite l’insieme di relazioni.
-
One-to-one – Un’entità dell’insieme di entità A può essere associata al massimo a un’entità dell’insieme di entità B e viceversa.
-
Uno-a-molti – Un’entità dell’insieme di entità A può essere associata a più di un’entità dell’insieme di entità B, tuttavia un’entità dell’insieme di entità B può essere associata al massimo a un’entità.
-
Molti a uno – Più di un’entità dell’insieme di entità A può essere associata con al massimo un’entità dell’insieme di entità B, tuttavia un’entità dell’insieme di entità B può essere associata con più di un’entità dell’insieme di entità A.
-
Molti a molti – Un’entità di A può essere associata a più di un’entità di B e viceversa.