Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
IL MODELLO RELAZIONALE
Prof. Silvana Castano
Prof. S. Castano
Il modello relazionale
Proposto da E. F. Codd nel 1970 per favorire lindipendenza dei dati Reso disponibile come modello logico in DBMS reali nel 1981 Basato sulla nozione di relazione matematica, intesa come sottoinsieme del prodotto cartesiano fra due o pi insiemi di dati, detti domini Il modello relazionale definisce anche un insieme di vincoli sui dati ed associato ad un linguaggio per linterrogazione delle basi di dati relazionali denominato algebra relazionale
Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008 2
Il modello relazionale Relazione come base matematica Tabella come struttura dati semplice, intuitiva e flessibile per la rappresentazione di relazioni
Prof. S. Castano
BD relazionale Una bd rappresentata come una collezione di tabelle Ogni tabella ha un nome unico nella bd
Una riga di tabella rappresenta una corrispondenza fra valori Ogni colonna ha associato un nome distinto di attributo Ak; per ogni attributo Ak ce un insieme Dk di possibili valori detto dominio
Prof. S. Castano
BD relazionale Ogni riga una ennupla ordinata di valori (d1,d2,,dn) con dk appartenente al dominio Dk del corrispondente attributo Ak Una tabella contiene un sottoinsieme di tutte le righe possibili, cio un sottoinsieme del prodotto cartesiano D1D2Dn
Prof. S. Castano
ESEMPIO
Studente Matricola 6554 8765 9283 3456 Cognome Nome Data di nascita
Prof. S. Castano
Relazione matematica
D1, D2, , Dn (n insiemi di valori anche non distinti) il prodotto cartesiano D1D2Dn, linsieme di tutte le n-uple ordinate (d1, d2, , dn) tali che d1D1, d2 D2, , dn Dn. Una relazione matematica su D1, D2, , Dn un sottoinsieme del prodotto cartesiano D1D2Dn. D1, D2, , Dn sono i domini della relazione. Una relazione su n domini ha grado n . Il numero di n-uple la cardinalit della relazione. Nelle applicazioni reali, la cardinalit sempre finita
Prof. S. Castano
ESEMPIO
D1={a,b} D2={x,y,z} prodotto cartesiano D1 D2
una relazione
r D1 D2
a a a b b b a a b b
x y z x y z x z y z
Prof. S. Castano
RELAZIONE CON ATTRIBUTI Si associa ad ogni occorrenza di dominio nella relazione un nome detto attributo che descrive il ruolo del dominio nella relazione Una ennupla su un insieme di attributi X una funzione che associa a ciascun attributo A in X un valore del dominio di A t[A] denota il valore della ennupla t sull'attributo A
Prof. S. Castano
Rappresentazione tabellare
I valori di ciascuna colonna sono fra loro omogenei: i valori di un attributo appartengono allo stesso dominio
Si noti che se non si definisse un nome univoco per ogni dominio della relazione occorrerebbe fare riferimento allordine dei domini per interpretare correttamente i dati. Grazie allintroduzione degli attributi invece tale ordine irrilevante
Le righe sono diverse fra loro: una relazione non contiene mai ennuple identiche (orientamento ai valori)
Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008 10
Rappresentazione tabellare
Lordinamento delle colonne irrilevante poich esse sono sempre identificate per nome e non per posizione Lordinamento delle righe irrilevante poich sono identificate per contenuto e non per posizione
Prof. S. Castano
11
Orientamento ai valori
I riferimenti fra dati in relazioni diverse (associazioni) sono rappresentati per mezzo di valori dei domini che compaiono nelle ennuple
Prof. S. Castano
12
Esempio
Studente Matricola
6554 8765 9283 3456 Cognome Rossi Neri Verdi Rossi Nome Mario Paolo Luisa Maria Data di Nascita 05/12/1978 03/11/1976 12/11/1979 01/12/1978
Esame
Studente Voto Corso 6554 9283 3456 3456
Prof. S. Castano
Corso
ID Titolo Docente Neri 01 Analisi
26 28 30 24
01 01 04 02
Esempio
Studente Matricola
6554 8765 9283 3456 Cognome Rossi Neri Verdi Rossi Nome Mario Paolo Luisa Maria Data di Nascita 05/12/1978 03/11/1976 12/11/1979 01/12/1978
Esame
Studente Voto Corso 6554 9283 3456 3456
Prof. S. Castano
Corso
ID Titolo Docente Neri 01 Analisi
26 28 30 24
01 01 04 02
Prof. S. Castano
15
Esempio
Studente Matricola
6554 8765 9283 3456 Cognome Rossi Neri Verdi Rossi Nome Mario Paolo Luisa Maria Data di Nascita 05/12/1978 03/11/1976 12/11/1979 01/12/1978
Esame
Studente Voto Corso 6554 9283 3456 3456
Prof. S. Castano
Corso
ID Titolo Docente Neri 01 Analisi
26 28 30 24
01 01 04 02
Prof. S. Castano
17
Esempio
Studente Matricola
6554 8765 9283 3456 Cognome Rossi Neri Verdi Rossi Nome Mario Paolo Luisa Maria Data di Nascita 05/12/1978 03/11/1976 12/11/1979 01/12/1978
Esame
Studente Voto Corso 6554 9283 3456 3456
Prof. S. Castano
Corso
ID 01 02 04 Titolo Analisi Chimica Chimica Docente Neri Bruni Verdi
18
26 28 30 24
01 01 04 02
Prof. S. Castano
19
Informazione incompleta
Prof. S. Castano
20
INFORMAZIONE INCOMPLETA
Una relazione rappresenta la conoscenza acquisita su una certa realt applicativa di interesse E possibile che non tutti gli aspetti della realt applicativa da rappresentare nella base di dati siano noti Il modello relazionale impone ai dati una struttura rigida:
le informazioni sono rappresentate per mezzo di ennuple, con formati predefiniti
Prof. S. Castano
21
VALORI NULLI
E ragionevole ammettere che una relazione contenga valori al momento non specificati
Prof. S. Castano
22
Soluzioni Utilizzare valori ordinari del dominio "non utilizzati" (0, stringa nulla, 99, etc)? No!
Possono non esistere valori non utilizzati I valori non utilizzati possono diventare significativi I programmi dovrebbero tenerne conto
Prof. S. Castano
23
Valore NULL Valore nullo - NULL: denota lassenza di un valore del dominio Non un valore del dominio; i domini di definizione delle relazioni vengono estesi
Prof. S. Castano
24
Prof. S. Castano
25
ESEMPIO
Matricola
6554 8765 9283
Prof. S. Castano
26
Valori nulli Sistemi di basi di dati relazionali: gestione semplice dei valori nulli (sempre caso assenza di informazione) E necessario controllare la presenza di valori nulli nelle relazioni, solo alcune configurazioni devono essere ammesse (numero eccessivo di valori nulli dubbi sulla significativit e sullidentit delle tuple nella relazione)
Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008 27
Vincoli di integrit
Prof. S. Castano
28
ESEMPIO
Esame Studente Voto Lode Corso 276545 32 01 276545 30 e lode 02 787643 27 e lode 03 739430 24 04 Studente Matricola Cognome Nome 276545 Rossi Mario Neri Piero 787643 Bianchi Luca 787643
Prof. S. Castano
29
Il problema Esistono istanze di basi di dati che, pur sintatticamente corrette, non rappresentano informazioni possibili per lapplicazione di interesse
Prof. S. Castano
30
Vincolo di integrit Propriet che deve essere soddisfatta dalle istanze che rappresentano informazioni corrette per lapplicazione
Prof. S. Castano
31
Definizione di vincolo Un vincolo una funzione booleana (un predicato) associa ad ogni istanza il valore vero o falso
Prof. S. Castano
32
vincoli interrelazionali
Prof. S. Castano
33
Esempio
Esame Studente Voto Lode Corso 32 276545 01 276545 30 e lode 02 787643 27 e lode 03 739430 24 04 Studente Matricola Cognome Nome 276545 Rossi Mario Neri Piero 787643 Bianchi Luca 787643
Prof. S. Castano
34
Vincoli di ennupla Esprimono condizioni sui valori di ciascuna ennupla, indipendentemente dalle altre ennuple
Prof. S. Castano
35
Prof. S. Castano
36
Prof. S. Castano
37
Esempio
Esame Studente Voto Lode Corso 32 276545 01 276545 30 e lode 02 787643 27 e lode 03 739430 24 04
(Voto 18) AND (Voto 30) (Voto = 30) OR NOT (Lode = "e lode")
Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008 38
Vincoli di chiave
Prof. S. Castano
39
Prof. S. Castano
40
Chiavi: definizioni Un insieme K di attributi superchiave per una relazione r se r non contiene due ennuple distinte t1 e t2 con t1[K] = t2[K]
(identificazione univoca)
K chiave per r se una superchiave minimale per r (cio non contiene unaltra superchiave)
(minimalit)
Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008 41
Chiavi Una relazione non pu contenere ennuple distinte ma uguali Ogni relazione ha come superchiave linsieme degli attributi su cui definita e quindi ha (almeno) una chiave
Prof. S. Castano
42
Esempio
Matricola Cognome Nome 27655 Rossi Mario 78763 Rossi Mario Neri Piero 65432 87654 Neri Mario 67653 Rossi Piero Corso Ing Inf Ing Inf Ing Mecc Ing Inf Ing Mecc Nascita 5/12/78 3/11/76 10/7/79 3/11/76 5/12/78
non ci sono due ennuple con lo stesso valore sullattributo Matricola non ci sono due ennuple uguali su tutti e tre gli attributi Cognome, Nome e Data di Nascita
Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008 43
Esempio
Matricola Cognome Nome 27655 Rossi Mario 78763 Rossi Mario Neri Piero 65432 87654 Neri Mario 67653 Rossi Piero Corso Ing Inf Ing Inf Ing Mecc Ing Inf Ing Mecc Nascita 5/12/78 3/11/76 10/7/79 3/11/76 5/12/78
Prof. S. Castano
44
Esempio
Matricola Cognome Nome 27655 Rossi Mario Rossi Mario 78763 Rossi Mario Mario Rossi Neri Piero 65432 87654 Neri Mario Mario 67653 Rossi Piero Rossi Corso Ing Inf Ing Inf Ing Mecc Ing Inf Ing Mecc Nascita 5/12/78 5/12/78 3/11/76 3/11/76 10/7/79 3/11/76 3/11/76 5/12/78 5/12/78
Chiavi Lesistenza delle chiavi garantisce laccessibilit a ciascun dato della base di dati Le chiavi permettono di correlare i dati in relazioni diverse:
il modello relazionale basato su valori
Prof. S. Castano
46
Chiavi e valori nulli In presenza di valori nulli, i valori della chiave non permettono
di identificare le ennuple di realizzare facilmente i riferimenti da altre relazioni
Prof. S. Castano
47
CHIAVE PRIMARIA
Una relazione pu avere pi chiavi candidate (ne ha almeno una) E opportuno che almeno una chiave consenta di identificare univocamente OGNI ennupla della relazione e quindi non ammetta valori nulli (vincolo di entity integrity) Chiave primaria: chiave su cui non sono ammessi valori nulli Notazione: sottolineatura
Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008 48
Esempio
Matricola Cognome Nome 27655 Rossi Mario 78763 Rossi Mario Neri Piero 65432 87654 Neri Mario 67653 Rossi Piero Corso Ing Inf Ing Inf Ing Mecc Ing Inf Ing Mecc Nascita 5/12/78 3/11/76 10/7/79 3/11/76 5/12/78
Prof. S. Castano
49
Prof. S. Castano
50
Esempio Studente
Matricola 6554 8765 9283 3456 Cognome Rossi Neri Verdi Rossi Nome Mario Paolo Luisa Maria Data di Nascita 05/12/1978 03/11/1976 12/11/1979 01/12/1978
Esame
Prof. S. Castano
51
Vincoli di integrit referenziale informazioni in relazioni diverse sono correlate attraverso valori comuni in particolare, valori delle chiavi (primarie)
Prof. S. Castano
52
Integrit referenziale
Un vincolo di integrit referenziale (foreign key) fra gli attributi X di una relazione R1 e unaltra relazione R2 impone ai valori su X in R1 di comparire come valori della chiave primaria di R2
Prof. S. Castano
53
Prof. S. Castano
54
Studente ?
Esame
Prof. S. Castano
Forme di relazioni
Negli esempi visti il valore di ogni attributo in ogni ennupla era atomico (unico e indivisibile nella bd)
Attributo semplice: a valori atomici Attributo multivalore: in cui un possibile valore un insieme di valori Esame---> {Sistemi, Analisi, Fisica} Attributo strutturato: in cui un possibile valore una ennupla di valori DatiEsame ---> <Sistemi, Rossi, 25>
Prof. S. Castano
56
Uno schema di relazione R(X) detto in prima forma normale (1NF o flat) se ogni attributo appartenente a X un attributo semplice. Altrimenti lo schema in forma strutturata o nested.
Prof. S. Castano
57
Nel modello relazionale la 1NF deve essere garantita per ogni relazione che risulta cos semplice da interpretare e da gestire (nella rappresentazione tabellare: se i valori sono atomici facile realizzare le operazioni di manipolazione ed facile interpretare le ennuple risultato)
Prof. S. Castano
58