B.4 Basi di dati relazionali
Una base di dati relazionale è quindi una collezione di tabelle che rappresentano gli oggetti e le associazioni fra oggetti che caratterizzano la realtà di interesse.
Osserviamo che i legami fra i dati di tabelle diverse vengono espressi per mezzo di valori comuni presenti nelle tuple di tali tabelle.
Un esempio è costituito dalla seguente base di dati che descrive registi e film e l'associazione che sussiste fra i film e i corrispondenti registi.
Figura 4.1: Esempio di base di dati relazionale
Come si può vedere dalla Figura 4.1, nella relazione film, un film fa riferimento al relativo regista attraverso il valore dell'attributo id_regista, che è il codice del regista del film e che corrisponde a uno dei codici contenuti nella tabella regista.
A titolo di esempio, nella figura seguente mostriamo un esempio completo di basi di dati relazionali per la gestione di informazioni cinematografiche, contenente dati su registi, film, attori, sulla regia dei film e sulla partecipazione degli attori ai film.
Figura 4.2: Esempio di base di dati relazionale cinematografica
Schema di una base di dati relazionale
Vediamo ora come è definito lo schema di una base di dati relazionale. Prima di tutto introduciamo la nozione di schema di relazione, che è costituito dal nome r della relazione e dall'insieme degli attributi che costituiscono la relazione.
Ad esempio, lo schema di relazione della relazione regista mostrata in Figura 3.2 è definito come segue.
Figura 4.3: Esempio di schema della relazione regista
Sulla base di quanto appena detto ne consegue che lo schema dell'intera base di dati cinematografica che costituisce il nostro esempio è il seguente:
Figura 4.4: Schema dell'intera base di dati
Istanza di una base di dati relazionale
I dati che compongono le relazioni di una base di dati ne costituiscono l’istanza. In particolare, si definisce istanza di una relazione r l’insieme delle tuple definite sugli attributi di r.
Si definisce istanza di base di dati l’insieme delle istanze di relazione di ciascuna relazione che costituisce la base di dati.
Ad esempio, un’istanza valida dello schema di base di dati mostrato in precedenza è la seguente:
Figura 4.5: Esempio di istanza della base di dati relazionale di Figura 4.2
Il concetto di chiave primaria nelle basi di dati relazionali
Un concetto di fondamentale importanza nelle basi di dati relazionali è quello di chiave primaria (primary key) utilizzata per identificare in modo univoco ogni tupla di una tabella.
Una chiave primaria può essere costituita da un singolo attributo oppure può essere composta da più attributi. Ogni tabella possiede una chiave primaria; in questo modo ogni tupla della tabella è univocamente riconoscibile.
Facendo riferimento alla tabella regista del nostro esempio, id