Dominio e chiave primaria nel modello ER

In questo articolo continueremo ad approfondire le proprietà del modello ER , andando ad approfondire il dominio di un attributo e la definizione della chiave primaria.

Il dominio di un attributo

Abbiamo visto nel precedente articolo cosa sono le entità e le associazioni e come collegarle fra loro. Ognuna di queste possono avere degli attributi, ai quali si può assegnare un insieme di valori.

Il dominio di un attributo non è altro che il tipo di dati assegnato, ad esempio:

  • Stringhe di caratteri
  • Valori numerici
  • Valori temporali (date, ore, ...)
  • Valori booleani (vero o falso)
  • Enumerazioni (si definisce una lista di valori validi)

Nel nostro esempio, per l’entità Persona avremo:


attributo

Tipo dati

Nome

stringa

Cognome

stringa

Data nascita

Data/ora

Biografia

Memo


In tal modo un volta assegnati i titpi di dati ad un attributo, esso potrà assumere soltanto quel tipo di dati oppure Null, cioè valore nullo.


Nel caso un attributo abbia valore multiplo, questi valori devono avere lo stesso tipo di dati. Nel nostro esempio l’attributo Lingue dell’entità film avrà il valore multiplo (o meglio 3 valori): "italiano", "inglese" e "spagnolo", tutte di tipo stringa.

La chiave primaria

Nel grafico 1 del precedente articolo, vi è anche un altro elemento importantissimo per la gestione dei Database relazionali: La chiave primaria.

Questo attributo, indicati con la sottolineatura (nome per l’entità film e la coppia nome cognome per l’entità persona), permette di identificare univocamente ogni istanza dell’entità, cioè precisamente una persona o un film. Una condizione necessaria è che di una entità deve esserci una istanza unica, e la chiave primaria la distingue dalle altre.

Quindi non saranno ammessi film con lo stesso nome oppure, se pensiamo all’entità persona, non saranno ammesse persone che hanno contemporaneamente lo stesso nome e cognome.

NOTA: Come si vede questo aspetto limita il nostro database, e quindi consiglio di non utilizzare questo tipo di campi per definire la chiave primaria, ma di crearne una ad-hoc, per ogni entità.

Ritorneremo sul concetto di chiave primaria, quando passeremo alla traduzione dei diagrammi ER in modelli relazionali, e vedremo che la scelta della chiave primaria spesso sarà dettata da considerazioni più contingenti e tecniche. Per ora basta sapere che la chiave primaria è l’insieme minimo di attributi che permettono di individuare univocamente ogni istanza dell’entità cui appartengono. Proprio per l’individuazione univoca non sono ammesse istanze di una stessa entità che abbiano i valori della chiave primaria duplicati ed inoltre nel dominio di valori della chiave non può esserci il NULL.

Per oggi abbiamo finito. Nella prossimo articolo parleremo del modello relazionale.

Se hai delle domande o precisazioni che vuoi approfondire mandami una mail all’indirizzo info@creaprogrammando.com


A presto

Paolo Bellesia




P.s. Se ancora non lo hai fatto e vuoi scaricare il primo Special Report gratuito "Crea il tuo programma" iscriviti nel box a fianco potrai cosi cominciare a progettare in modo semplice e divertente i tutti i tuoi programmi. Inoltre riceverai le indicazioni di tutti gli articoli che periodicamente inseriamo nel Blog.