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 relazioni (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 - Relazioni

Definizione: relazione

Una relazione รจ un legame logico tra due o piรน entitร .

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

500

Esempio: relazione ternaria

Le relazioni solitamente sono binarie, cioรจ riguardano solamente due entitร . Tuttavia, in alcuni casi si possono anche trovare relazioni ternarie, cioรจ che riguardano tre entitร : in questo caso, la relazione riguarda le entitร  , e .

500

Osservazione: piรน relazioni sulle stesse entitร 

Nessuno ci vieta di stabilire piรน di una relazione sulle stesse entitร : per esempio, in questo caso, sulle entitร  e insistono le relazioni e .

500

Notazione: termine associazione al posto di relazione

A volte, si sceglie di utilizzare il termine associazione al posto di relazione per evitare di generare confusione con la relazione del modello relazionale.

Occorrenze di relazioni

Definizione: occorrenza

In una relazione, unโ€™occorrenza รจ una tupla unica i cui elementi rappresentano ognuno unโ€™istanza per ogni entitร  che partecipa alla relazione.

Esempio: occorrenze nella relazione

Riprendendo lโ€™esempio della relazione contenuto nella definizione stessa di relazione, un esempio di una sua occorrenza รจ , dove รจ unโ€™istanza dellโ€™entitร  , mentre รจ unโ€™istanza dellโ€™entitร  .

Non puรฒ esistere per questa relazione unโ€™altra occorrenza perchรฉ, per definizione, le occorrenze devono essere uniche.

Esempio: occorrenze nella relazione

Nel caso dellโ€™esempio di relazione ternaria, una possibile occorrenza di potrebbe essere , dove รจ unโ€™istanza dellโ€™entitร  , รจ unโ€™istanza dellโ€™entitร  e รจ unโ€™istanza dellโ€™entitร  .

Relazioni ricorsive

Definizione: relazione ricorsiva

Una relazione si dice ricorsiva se lega logicamente piรน di una volta una stessa entitร  (per esempio, in questo caso, la relazione ricorsiva riguarda lega logicamente due volte la stessa entitร  ):

200

Esempio: relazione ricorsiva binaria

Riprendendo lโ€™esempio della relazione ricorsiva contenuto nella definizione stessa di relazione ricorsiva, un esempio di una sua occorrenza รจ , dove entrambi i valori sono istanze dellโ€™entitร  .

Esempio: relazione ricorsiva ternaria

Anche le relazioni ternarie possono essere ricorsive, per esempio collegando tre volte la stessa entitร  (come in questo caso lโ€™entitร  con la relazione ):

200

Una possibile occorrenza di รจ , dove tutti e tre questi valori sono istanze dellโ€™entitร  : questa relazione rappresenta quindi 3 studenti legati logicamente dal fatto che fanno tutti parte della stessa classe.

In alternativa, una relazione ternaria puรฒ essere ricorsiva anche se ci sono 2 entitร  di cui una presente due volte nella relazione (in questo caso, nella relazione รจ 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 relazioni

Definizione: cardinalitร  di una relazione

In una relazione, la cardinalitร  รจ una coppia ordinata di valori associati a ogni entitร  che partecipa alla relazione, in cui:

  • rappresenta il numero minimo di occorrenze della relazione cui ciascuna istanza di una entitร  puรฒ partecipare.
  • rappresenta il numero massimo di occorrenze della relazione cui ciascuna istanza di una entitร  puรฒ partecipare.

Graficamente, si rappresenta scrivendo la coppia di valori sulla linea che collega lโ€™entitร  alla relazione a cui si riferisce (in questo caso la coppia indica che ogni istanza dellโ€™entitร  puรฒ comparire dalle 2 alle 5 volte nella relazione , mentre la coppia indica che ogni istanza dellโ€™entitร  puรฒ comparire dalle 0 alle 50 volte nella relazione ):

500

Notazione convenzionale per la cardinalitร 

Convenzionalmente, si usano solo valori per indicare la cardinalitร  di una relazione: , ed .

In particolare, per la cardinalitร  minima (cioรจ il valore della in una generica cardinalitร  ):

  • : indica la partecipazione opzionale alla relazione, ossia possono esserci istanze dellโ€™entitร  che non partecipano alla relazione.
  • : indica la partecipazione obbligatoria alla relazione, ossia tutte le istanze dellโ€™entitร  partecipano minimo una volta alla relazione.

Mentre, per la cardinalitร  massima (cioรจ il valore della in una generica cardinalitร  ):

  • : indica lโ€™unicitร  della partecipazione alla relazione, ossia ogni istanza dellโ€™entitร  puรฒ partecipare al massimo una volta alla relazione.
  • : indica la non-unicitร  della partecipazione alla relazione, ossia ogni istanza dellโ€™entitร  puรฒ partecipare piรน di una volta alla relazione.

Classificazione delle relazioni

Definizione: classificazione delle relazioni

In base alle loro cardinalitร  massime, le relazioni sono classificabili in 3 categorie:

  • a (o uno a uno): tutte le cardinalitร  massime delle entitร  che partecipano alla relazione sono pari a .
  • a (o molti a molti): tutte le cardinalitร  massime delle entitร  che partecipano alla relazione 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 una relazione 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 relazione 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 relazione, 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รน relazioni 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 la relazione :

500

Osservazione: cardinalitร  degli identificatori

Gli identificatori possono essere formati unicamente da attributi che hanno cardinalitร  e relazioni 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, relazioni 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 relazione. 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 relazioni che compongono lโ€™identificatore dellโ€™entitร .
  • Nel caso delle relazioni hanno i seguenti campi:
    • Relazione: nome della relazione.
    • Descrizione: breve descrizione del concetto che la relazione vuole rappresentare.
    • Componenti: lista delle entitร  che afferiscono alla relazione con la loro relativa cardinalitร .
    • Attributi: lista degli attributi della relazione (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 relazioni 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

Se vuoi saperne di piรน:

Fonti: