Modello relazionale
ai è il nome dell'attributo;
vi è il valore del dominio dell'attributo (di ≡ vi).
In forma matematica, quindi:
Partite = { <(Casa, Juve), (Fuori, Lazio), (RetiCasa, 3), (RetiFuori, 1)>
<(Casa, Lazio), (Fuori, Milan), (RetiCasa, 2), (RetiFuori, 0)>
<(Casa, Juve), (Fuori, Roma), (RetiCasa, 0), (RetiFuori, 2)>
<(Casa, Roma), (Fuori, Milan), (RetiCasa, 0), (RetiFuori
2.1.3 Tabelle e relazioni
Una tabella rappresenta una relazione se:
- I valori di ogni colonna sono tra loro omogenei;
- Le righe sono diverse tra loro;
- Le intestazioni delle colonne sono diverse tra loro.
In una tabella che rappresenta una relazione:
- L'ordinamento tra le righe è irrilevante;
- L'ordinamento tra le colonne è irrilevante.
2.1.4 Modello basato su valori
Nel modello relazionale, una base di dati è definita da:
- Un insieme di relazioni;
- Collegate fra loro.
I riferimenti fra dati in relazioni diverse sono rappresentati da valori dei domini che compaiono nelle n-uple:
28 Modello relazionale
- ai è il nome dell'attributo;
- vi è il valore del dominio dell'attributo (di ≡ vi).
In forma matematica, quindi:
Partite = {<(Casa, Juve), (Fuori, Lazio), (RetiCasa, 3), (RetiFuori, 1)>
<(Casa, Lazio), (Fuori, Milan), (RetiCasa, 2), (RetiFuori, 0)>
<(Casa, Juve), (Fuori, Roma), (RetiCasa, 0), (RetiFuori, 2)>
<(Casa, Roma), (Fuori, Milan), (RetiCasa, 0), (RetiFuori, ...)
2.1.3 Tabelle e relazioni
Una tabella rappresenta una relazione se:
- I valori di ogni colonna sono tra loro omogenei;
- Le righe sono diverse tra loro;
- Le intestazioni delle colonne sono diverse tra loro.
In una tabella che rappresenta una relazione:
- L'ordinamento tra le righe è irrilevante;
- L'ordinamento tra le colonne è irrilevante.
2.1.4 Modello basato su valori
Nel modello relazionale, una base di dati è definita da:
- Un insieme di relazioni;
- Collegate fra loro.
I riferimenti fra dati in relazioni diverse sono rappresentati da valori dei domini che compaiono nelle n-uple:
2.2 Relazioni
I vantaggi derivanti dall’uso di una struttura basata su valori sono i seguenti:
- Indipendenza dalle strutture fisiche che possono cambiare dinamicamente;
- Si rappresenta solo ciò che è rilevante dal punto di vista dell’applicazione;
- L’utente finale vede gli stessi dati dei programmatori;
- I dati sono portabili più facilmente da un sistema a un altro;
- I puntatori sono direzionali.
2.2 Relazioni
Definizione. Si definisce schema di relazione un nome R con un insieme di attributi X = {A1, ..., An}. Si può denotare con:
R(A1, ..., An)
R(X)
A ciascun attributo A è associato un dominio dom(A).
Definizione. Si definisce schema di base di dati un insieme di schemi di relazione:
R = {R1(X1), ..., Rn(Xn)}
Definizione. Una tupla su un insieme di attributi X è:
- Una funzione;
- Che associa a ciascun attributo A ∈ X un valore del dominio di A, dom(A).
Osservazione. La differenza fra questa definizione e quella tradizionale di relazione matematica risiede nella definizione di tupla:
Nella relazione matematica si hanno n-uple i cui elementi sono individuati per posizione (un po' come negli array posizionali in cui gli indici sono 0, 1, 2, ...):
t = (d1, d2, ..., dn)
Nelle tuple della nuova definizione gli elementi sono individuati per mezzo degli attributi, cioè con una tecnica non posizionale (un po' come negli array associativi):
t = ((A1, d1), (A2, d2), ..., (An, dn))
La tupla, dunque, è rappresentabile dalla riga di una tabella.
Si indica con t[A] la restrizione su A della tupla t sull’attributo A. Per esempio, in riferimento alla tupla rappresentata dalla prima riga della tabella dell'esempio calcistico,
t[Fuori] = Lazio
2.2 Relazioni
Data la definizione di tupla, si può definire la relazione:
3Definizione. Una (istanza di) relazione su uno schema di relazione R(X):
- Insieme r di tuple su X.
Definizione. Una (istanza di) base di dati su uno schema di base di dati R = {R1(X1), ..., Rn(Xn)}:
- Insieme di relazioni r = {r1, ..., rn};
- ri è una relazione su Ri;
Inoltre:
- La cardinalità di una istanza di relazione è data dal suo numero di tuple;
- Il grado di uno schema di relazione è dato dal suo numero di attributi.
Riassumendo:
3Anziché definire la relazione come sottoinsieme di un prodotto cartesiano fra domini, la si definisce come insieme di alcune tuple su tali domini.
-
Appunti di Sistemi informativi
-
Appunti Basi di dati e sistemi informativi
-
Appunti Basi di dati e sistemi informativi
-
Appunti Basi di dati e sistemi informativi