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.):

100

2 - Associazioni

Definizione: associazione

Unโ€™associazione รจ un legame logico tra due o piรน entitร .

Graficamente si rappresenta con un rombo in cui allโ€™interno si scrive il nome dellโ€™associazione (per esempio, in questo caso, ) collegato con due linee alle entitร  (in questo caso e ):

500

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 .

500

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 .

500

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ร  ):

200

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 ):

200

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 ):

500

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 ):

500

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:

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ร  ):

150

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 ):

150

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):

300

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 ):

250

Ecco invece un esempio di identificatore interno composto da un unico attributo ():

250

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 :

500

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:

500

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: