Sei sulla pagina 1di 29

Corso di Basi di Dati e Laboratorio

IL MODELLO RELAZIONALE
Prof. Silvana Castano

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

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

Basi di Dati e Laboratorio - A.A. 2007-2008

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

Basi di Dati e Laboratorio - A.A. 2007-2008

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

Basi di Dati e Laboratorio - A.A. 2007-2008

ESEMPIO
Studente Matricola 6554 8765 9283 3456 Cognome Nome Data di nascita

Rossi Neri Verdi Rossi

Mario Paolo Luisa Maria

05/12/1979 03/11/1976 12/11/1979 01/02/1978

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

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

Basi di Dati e Laboratorio - A.A. 2007-2008

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

Basi di Dati e Laboratorio - A.A. 2007-2008

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

Basi di Dati e Laboratorio - A.A. 2007-2008

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

Basi di Dati e Laboratorio - A.A. 2007-2008

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

Basi di Dati e Laboratorio - A.A. 2007-2008

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

02 Chimica Bruni 04 Chimica Verdi


13

Basi di Dati e Laboratorio - A.A. 2007-2008

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

02 Chimica Bruni 04 Chimica Verdi


14

Basi di Dati e Laboratorio - A.A. 2007-2008

Definizioni - Livello intensionale

Schema di relazione R(A1,..., An)


un nome di relazione R e un insieme di attributi A1,..., An

Schema di base di dati R = {R1(X1),..., Rn(Xn)}


insieme di schemi di relazione

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

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

02 Chimica Bruni 04 Chimica Verdi


16

Basi di Dati e Laboratorio - A.A. 2007-2008

Definizioni - Livello estensionale

(Istanza di) relazione su uno schema R(X):


insieme r di ennuple su X

(Istanza di) base di dati su uno schema R= {R1(X1), ..., Rn(Xn)}:


insieme di relazioni r = {r1,..., rn} (con ri relazione su Ri)

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

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

Basi di Dati e Laboratorio - A.A. 2007-2008

Relazioni su un solo attributo


Studente Matricola
6554 8765 9283 3456 Matricola Studente Lavoratore 6554 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

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

19

Corso di Basi di Dati e Laboratorio

Informazione incompleta

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

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

Basi di Dati e Laboratorio - A.A. 2007-2008

21

VALORI NULLI

E ragionevole ammettere che una relazione contenga valori al momento non specificati

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

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

Basi di Dati e Laboratorio - A.A. 2007-2008

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

Basi di Dati e Laboratorio - A.A. 2007-2008

24

Tipi di valore nullo (almeno) tre casi differenti


valore sconosciuto valore inesistente valore senza informazione

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

25

ESEMPIO

Matricola
6554 8765 9283

telefono 02 2556789 NULL NULL

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

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

Corso di Basi di Dati e Laboratorio

Vincoli di integrit

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

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

Basi di Dati e Laboratorio - A.A. 2007-2008

29

Il problema Esistono istanze di basi di dati che, pur sintatticamente corrette, non rappresentano informazioni possibili per lapplicazione di interesse

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

30

Vincolo di integrit Propriet che deve essere soddisfatta dalle istanze che rappresentano informazioni corrette per lapplicazione

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

31

Definizione di vincolo Un vincolo una funzione booleana (un predicato) associa ad ogni istanza il valore vero o falso

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

32

Tipi di vincoli vincoli intrarelazionali


vincoli su valori (o di dominio) vincoli di ennupla

vincoli interrelazionali

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

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

Basi di Dati e Laboratorio - A.A. 2007-2008

34

Vincoli di ennupla Esprimono condizioni sui valori di ciascuna ennupla, indipendentemente dalle altre ennuple

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

35

Vincoli di dominio Vincoli di ennupla che coinvolgono un solo attributo

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

36

Vincoli di ennupla Una possibile sintassi:


espressione booleana (con AND, OR e NOT) di atomi che confrontano valori di attributo o espressioni aritmetiche su di essi

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

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

Corso di Basi di Dati e Laboratorio

Vincoli di chiave

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

39

Chiave Insieme di attributi che identificano univocamente le ennuple di una relazione

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

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

Basi di Dati e Laboratorio - A.A. 2007-2008

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

Matricola una chiave:


superchiave contiene un solo attributo e quindi minimale

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

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

Cognome, Nome, Nascita unaltra chiave:


superchiave minimale
Prof. S. Castano Basi di Dati e Laboratorio - A.A. 2007-2008 45

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

Basi di Dati e Laboratorio - A.A. 2007-2008

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

La presenza di valori nulli nelle chiavi deve essere limitata

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

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

Basi di Dati e Laboratorio - A.A. 2007-2008

49

Corso di Basi di Dati e Laboratorio

Vincoli interrelazionali: integrit referenziale

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

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

Studente Voto Corso 6554 9283 3456 3456 26 28 30 24 01 01 04 02

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

51

Vincoli di integrit referenziale informazioni in relazioni diverse sono correlate attraverso valori comuni in particolare, valori delle chiavi (primarie)

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

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

Basi di Dati e Laboratorio - A.A. 2007-2008

53

ESEMPIO vincoli di integrit referenziale fra:


lattributo Studente della relazione ESAME e la relazione STUDENTE

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

54

Esempio di violazione del vincolo di integrit referenziale

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 6622 26 28 30 24 18 01 01 04 02 01


55

Prof. S. Castano

Basi di Dati e Laboratorio - A.A. 2007-2008

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

Basi di Dati e Laboratorio - A.A. 2007-2008

56

Prima forma normale

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

Basi di Dati e Laboratorio - A.A. 2007-2008

57

Prima forma normale

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

Basi di Dati e Laboratorio - A.A. 2007-2008

58