Il modello relazionale: valori nulli, vincoli e chiavi
Codifica dell'informazione mancante
La struttura del modello relazionale è di certo molto robusta e potente. Tuttavia essa stessa impone un certo grado di rigidità, senza la quale, le informazioni su cui si lavora possono risultare, di fatto, inutilizzabili. Prendiamo in considerazione una relazione così definita:
METEO(località, tempMin, tempMax, forzaMare, vento)
| Località | TempMin | TempMax | ForzaMare | Vento |
|---|---|---|---|---|
| Agrigento | 16°C | 24°C | Libeccio | |
| Cagliari | 15°C | 21°C | ||
| Milano | 12°C | 18°C | 3 | Scirocco |
È possibile che si presenti il caso in cui alcuni valori non siano immessi perché logico che non vi siano (valore della forza del mare a Milano) o perché non sono pervenuti o ancora perché vi è totale incertezza. In tutti questi casi viene utilizzato un valore, che esprime proprio l’assenza di informazione ed è detto nullo o null. Il valore lo si ritrova in ogni dominio D.
Considerazioni sui valori nulli
Intuitivamente una considerazione da farsi è che se all’interno di una relazione figurano molti valori nulli, allora il contenuto di quella stessa relazione potrebbe essere del tutto inutile. Si guardi all’ultima tupla della tabella: non fornisce alcuna informazione. Quali meccanismi sono a disposizione perché i dati contenuti all’interno delle relazioni non siano prive di senso o inconsistenti? Che cosa, allora, permette a una semplice tabella (come di quelle che se ne possono creare su fogli elettronici) di differire da una relazione del modello relazionale?
Vincoli
Il modello relazionale contempla l’applicazione e il rispetto di regole, che ogni tupla deve necessariamente soddisfare affinché quell’istanza di relazione venga considerata legale. Le regole prendono il nome di vincoli (o in inglese integrity constraints) e da qui possiamo rivedere ed aggiungere qualcosa alla definizione di relazione.
Una relazione è un’istanza legale dello schema, che soddisfa precise regole. (R1(X1), R2(X2), ..., Rk(Xk), IC)
È possibile, allora, individuare due categorie di vincoli:
- Intrarelazionale, se il suo soddisfacimento è legato a singole relazioni della base di dati.
- Interrelazionale, se il suo soddisfacimento comporta il coinvolgimento di più relazioni.
Vincolo di dominio
Il vincolo di dominio fa parte dei vincoli di tipo intrarelazionale, tipicamente è una regola che soddisfa un...
-
Il modello relazionale - Basi di Dati
-
Appunti Basi di dati
-
Basi di dati
-
Basi di dati - sunti corso basi di dati