Premessa
Portale di appartenenza: Basi di dati.
Cosa troverai in questa nota:
Prerequisiti: per comprendere pienamente il contenuto di questa nota, oltre le conoscenze minime che do per scontato che tu sappia giร , ti consiglio di aver letto in precedenza queste altre note:
Buona lettura! โ๏ธ๐ค
Definizione: modello E-R e schema E-R
Il modello E-R (Entitร -Relazione) รจ un modello concettuale che fornisce costrutti per descrivere le specifiche sulla struttura dei dati in modo semplice e comprensibile, usando un formalismo grafico indipendente dal modello logico che sarร scelto in seguito: lo schema E-R.
Il modello E-R rappresenta i dati attraverso entitร (oggetti o concetti del mondo reale), attributi (proprietร o caratteristiche delle entitร ) e associazioni (associazioni tra entitร ).
1 - Entitร
Definizione: entitร
Unโentitร รจ una rappresentazione di una classe di oggetti (ognuno dei quali detto istanza) del mondo reale che hanno proprietร comuni ed esistenza autonoma ai fini dellโapplicazione di interesse.
Graficamente si rappresenta con un rettangolo in cui allโinterno si scrive il nome dellโentitร (per esempio, in questo caso, lโentitร puรฒ avere come istanze , , , ecc.):
![]()
2 - Associazioni
Definizione: associazione
Esempio: associazione ternaria
Le associazioni solitamente sono binarie, cioรจ riguardano solamente due entitร . Tuttavia, in alcuni casi si possono anche trovare associazioni ternarie, cioรจ che riguardano tre entitร : in questo caso, lโassociazione riguarda le entitร , e .
![]()
Osservazione: piรน associazioni sulle stesse entitร
Nessuno ci vieta di stabilire piรน di unโassociazione sulle stesse entitร : per esempio, in questo caso, sulle entitร e insistono le associazioni e .
Occorrenze di associazioni
Definizione: occorrenza
In unโassociazione, unโoccorrenza รจ una tupla i cui elementi rappresentano ognuno unโistanza per ogni entitร che partecipa allโassociazione.
Esempio: occorrenze nell'associazione
Riprendendo lโesempio dellโassociazione contenuto nella definizione stessa di associazione, un esempio di una sua occorrenza รจ , dove รจ unโistanza dellโentitร , mentre รจ unโistanza dellโentitร .
Esempio: occorrenze nell'associazione
Nel caso dellโesempio di associazione ternaria, una possibile occorrenza di potrebbe essere , dove รจ unโistanza dellโentitร , รจ unโistanza dellโentitร e รจ unโistanza dellโentitร .
associazioni ricorsive
Definizione: associazione ricorsiva
unโassociazione si dice ricorsiva se lega logicamente piรน di una volta una stessa entitร (per esempio, in questo caso, lโassociazione ricorsiva riguarda lega logicamente due volte la stessa entitร ):
![]()
Esempio: associazione ricorsiva binaria
Riprendendo lโesempio dellโassociazione ricorsiva contenuto nella definizione stessa di associazione ricorsiva, un esempio di una sua occorrenza รจ , dove entrambi i valori sono istanze dellโentitร .
Esempio: associazione ricorsiva ternaria
Anche le associazioni ternarie possono essere ricorsive, per esempio collegando tre volte la stessa entitร (come in questo caso lโentitร con lโassociazione ):
Una possibile occorrenza di รจ , dove tutti e tre questi valori sono istanze dellโentitร : questa associazione rappresenta quindi 3 studenti legati logicamente dal fatto che fanno tutti parte della stessa classe.
In alternativa, unโassociazione ternaria puรฒ essere ricorsiva anche se ci sono 2 entitร di cui una presente due volte nellโassociazione (in questo caso, nellโassociazione รจ presente 2 volte lโentitร e 1 volta ):
Una possibile occorrenza di รจ , dove i primi 2 valori sono istanze dellโentitร e il terzo di .
4 - Cardinalitร di associazioni
Definizione: cardinalitร di un'associazione
In unโassociazione, la cardinalitร รจ una coppia ordinata di valori associati a ogni entitร che partecipa allโassociazione, in cui:
- viene detta cardinalitร minima e rappresenta il numero minimo di occorrenze dellโassociazione cui ciascuna istanza di una entitร puรฒ partecipare.
- viene detta cardinalitร massima e rappresenta il numero massimo di occorrenze dellโassociazione cui ciascuna istanza di una entitร puรฒ partecipare.
Graficamente, si rappresenta scrivendo la coppia di valori sulla linea che collega lโentitร allโassociazione a cui si riferisce (in questo caso la coppia indica che ogni istanza dellโentitร puรฒ comparire dalle 2 alle 5 volte nellโassociazione , mentre la coppia indica che ogni istanza dellโentitร puรฒ comparire dalle 0 alle 50 volte nellโassociazione ):
![]()
Notazione convenzionale per la cardinalitร
Convenzionalmente, si usano solo valori per indicare la cardinalitร di unโassociazione: , ed .
In particolare, per la cardinalitร minima (cioรจ il valore della in una generica cardinalitร ):
- : indica la partecipazione opzionale allโassociazione, ossia possono esserci istanze dellโentitร che non partecipano allโassociazione.
- : indica la partecipazione obbligatoria allโassociazione, ossia tutte le istanze dellโentitร partecipano minimo una volta allโassociazione.
Mentre, per la cardinalitร massima (cioรจ il valore della in una generica cardinalitร ):
- : indica lโunicitร della partecipazione allโassociazione, ossia ogni istanza dellโentitร puรฒ partecipare al massimo una volta allโassociazione.
- : indica la non-unicitร della partecipazione allโassociazione, ossia ogni istanza dellโentitร puรฒ partecipare piรน di una volta allโassociazione.
Classificazione delle associazioni
Definizione: classificazione delle associazioni
In base alle loro cardinalitร massime, le associazioni sono classificabili in 3 categorie:
- a (o uno a uno): tutte le cardinalitร massime delle entitร che partecipano allโassociazione sono pari a .
- a (o molti a molti): tutte le cardinalitร massime delle entitร che partecipano allโassociazione sono pari a .
- a (o uno a molti): tutti gli altri casi.
3 - Attributi
Definizione: attributo
Un attributo รจ una proprietร elementare di unโentitร o di unโassociazione ed รจ caratterizzato da un dominio, ossia un insieme di valori ammissibili.
Graficamente si rappresenta con un pallino vuoto intorno al quale si scrive il nome dellโattributo e collegato allโentitร o associazione a cui si riferisce (come in questo caso gli attributi , e che si riferiscono allโentitร ):
![]()
Definizione: attributo composto
Un attributo composto รจ un insieme di attributi di una stessa entitร o associazione, ognuno dei quali รจ una parte del concetto che si vuole rappresentare.
Graficamente si rappresenta con un ellisse dentro al quale si scrive il nome dellโattributo composto, collegata allโentitร come se fosse un attributo normale e a cui sono collegati a sua volta gli attributi da cui รจ composto (in questo caso, per lโentitร , oltre agli attributi normali e possiede anche lโattributo composto che si scompone negli attributi , e ):
![]()
Cardinalitร di attributi
Definizione: cardinalitร di un attributo
In un attributo, la cardinalitร รจ una coppia ordinata di valori in cui:
- puรฒ assumere valori (opzionalitร dellโattributo) o (obbligatorietร dellโattributo).
- puรฒ assumere valori (attributo monovalore) o (attributo multivalore).
Graficamente, si rappresenta scrivendo la coppia di valori sulla linea che collega lโattributo allโentitร (in questo caso la coppia indica che lโattributo รจ opzionale ma, se presente, puรฒ assumere piรน di un valore, perchรฉ magari possono essere salvati molteplici numeri di telefono):
![]()
Identificatori di entitร
Definizione: identificatore di un'entitร
Un identificatore di unโentitร รจ un insieme di valori che permettono di identificare univocamente lโentitร stessa. Possono essere interni o esterni a seconda di che cosa costituisce lโidentificatore. Ogni entitร ne possiede almeno uno.
Graficamente si rappresenta con un pallino pieno collegato a una linea che attraversa tutto ciรฒ di cui รจ composto lโidentificatore. Nel caso in cui รจ composto solo da un attributo, per rappresentarlo si riempie il pallino di quellโattributo.
Definizione: identificatore interno
Un identificatore si dice interno se รจ costituito unicamente da attributi dellโentitร a cui si riferisce.
Esempi di identificatori interni
Ecco un esempio di identificatore interno composto da diversi attributi dellโentitร a cui si riferisce (, e ):
Ecco invece un esempio di identificatore interno composto da un unico attributo ():
Definizione: identificatore esterno
Un identificatore si dice esterno se รจ costituito da attributi dellโentitร a cui si riferisce e da una o piรน associazioni a cui รจ legata lโentitร .
Esempio di identificatore esterno
Ecco un esempio di identificatore esterno composto da due attributi dellโentitร a cui si riferisce ( e ) e lโassociazione :
Osservazione: cardinalitร degli identificatori
Gli identificatori possono essere formati unicamente da attributi che hanno cardinalitร e associazioni con cardinalitร .
Generalizzazioni di entitร
Definizione: generalizzazione di un'entitร
Una generalizzazione รจ un collegamento logico tra unโentitร , detta genitore, e altre entitร , in cui queste ultime, dette figlie o specializzazioni, ereditano automaticamente tutte le proprietร di come attributi, associazioni o altre generalizzazioni. Puรฒ essere totale o parziale, esclusiva o sovrapposta.
Graficamente si rappresenta con una freccia spessa che parte dalle specializzazioni e entra nellโentitร , sotto cui viene indicata una coppia ordinata di valori dove:
- assume il valore se รจ totale, se รจ parziale.
- assume il valore se รจ esclusiva, se รจ sovrapposta.
![]()
Generalizzazioni totali e parziali
Definizione: generalizzazione totale e parziale
Una generalizzazione si dice totale se ogni occorrenza dellโentitร genitore รจ occorrenza di almeno una delle entitร figlie, parziale altrimenti.
Generalizzazioni esclusive e sovrapposte
Definizione: generalizzazione esclusiva e sovrapposta
Una generalizzazione si dice esclusiva se ogni occorrenza dellโentitร genitore รจ occorrenza di al piรน una delle entitร figlie, sovrapposta altrimenti.
Sottoinsiemi
Definizione: sottoinsieme
Una generalizzazione in cui unโentitร ha solo unโentitร figlia รจ detta sottoinsieme.
Documentazione associata agli schemi E-R
Spesso gli schemi E-R non sono sufficienti a rappresentare tutti gli aspetti richiesti per la base di dati: per esempio, non si possono specificare determinati vincoli che devono rispettare i valori degli attributi (es. un attributo che deve necessariamente avere valori numerici positivi).
Per ovviare a questi problemi, gli schemi E-R solitamente sono accompagnati da documentazione aggiuntiva che rappresenta โregoleโ che il dominio applicativo deve rispettare, come il dizionario dei dati, la lista delle asserzioni e la lista delle derivazioni.
Dizionario dei dati
Definizione: dizionario dei dati
Il dizionario dei dati รจ uno schema che specifica la funzione e il concetto dietro ogni entitร o associazione. In particolare, si tratta di tabelle che:
- Nel caso delle entitร hanno i seguenti campi:
- Entitร : nome dellโentitร .
- Descrizione: breve descrizione del concetto che lโentitร vuole rappresentare.
- Attributi: lista degli attributi dellโentitร .
- Identificatore: lista degli attributi o associazioni che compongono lโidentificatore dellโentitร .
- Nel caso delle associazioni hanno i seguenti campi:
- associazione: nome dellโassociazione.
- Descrizione: breve descrizione del concetto che lโassociazione vuole rappresentare.
- Componenti: lista delle entitร che afferiscono allโassociazione con la loro relativa cardinalitร .
- Attributi: lista degli attributi dellโassociazione (se ce ne sono).
Lista delle asserzioni
Definizione: lista delle asserzioni
La lista delle asserzioni รจ una lista di regole che i valori degli attributi o le associazioni devono rispettare.
Ogni asserzione viene tipicamente espressa nella forma:
Lista delle derivazioni
Definizione: lista delle derivazioni
La lista delle derivazioni รจ una lista di regole che specificano le operazioni necessarie per ottenere un concetto attraverso lโinferenza o calcoli da altri concetti dello schema E-R.
Ogni derivazione viene tipicamente espressa nella forma:
Approfondimento
Fonti:
- ๐ซ Lezioni e slide del Prof. Pensa Ruggero Gaetano del corso di Laboratorio di Basi di Dati (canale B, turno T1), Corso di Laurea in Informatica presso lโUniversitร di Torino, A.A. 2024-25:





