IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf ·...

69
IL MODELLO RELAZIONALE IL MODELLO RELAZIONALE

Transcript of IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf ·...

Page 1: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

IL MODELLO RELAZIONALEIL MODELLO RELAZIONALE

Page 2: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 2

I modelli logici dei dati� Tre modelli logici tradizionali

� gerarchico� reticolare� relazionale

� Più recente (e poco diffuso)� a oggetti

Page 3: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 3

Modelli logici, caratteristiche� Gerarchico e reticolare

� utilizzano riferimenti espliciti (puntatori) fra record

� Relazionale "è basato su valori"� anche i riferimenti fra dati in strutture (relazioni)

diverse sono rappresentati per mezzo dei valoristessi

Page 4: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 4

Il modello relazionale� Proposto da E. F. Codd nel 1970 per favorire

l’indipendenza dei dati� Disponibile in DBMS reali nel 1981 (non è

facile implementare l’indipendenza conefficienza e affidabilità!)

� Si basa sul concetto matematico di relazione(con una variante)

� Le relazioni hanno naturale rappresentazioneper mezzo di tabelle

Page 5: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 5

Relazione: tre accezioni� relazione matematica: come nella teoria

degli insiemi� relazione (dall’inglese relationship) che

rappresenta una classe di fatti, nelmodello Entity-Relationship; tradottoanche con associazione o correlazione

� relazione secondo il modello relazionaledei dati

Page 6: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 6

Relazione matematica

� D1, …, Dn (n insiemi anche nondistinti)

� prodotto cartesiano D1×…×Dn:� l’insieme di tutte le n-uple (d1, d2 …, dn)

tali che d1∈D1, d2∈D2 …, dn ∈ Dn

� relazione matematica su D1, …, Dn:� un sottoinsieme di D1×…×Dn.

� D1, …, Dn sono i domini della relazione

Page 7: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 7

Relazione matematica,esempio

� una relazione r ⊆ D1 × D2

aaab

bb

xyzxyz

aab

xzy

• D1={a,b}• D2={x,y,z}

•prodotto cartesiano D1 × D2

Page 8: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 8

Relazione matematica,proprietà� una relazione matematica è un insieme

di n-uple ordinate:� (d1, …, dn) tali che d1∈D1, …, dn ∈ Dn

� una relazione è un insieme; quindi:� non c'è ordinamento fra le n-uple;� le n-uple sono distinte� ciascuna n-upla è ordinata: l’ i-esimo valore

proviene dall’ i-esimo dominio

Page 9: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 9

Relazione matematica,esempio: partite di calcio

� Ciascuno dei domini ha due ruoli diversi,distinguibili attraverso la posizione:� La struttura è posizionale

3231

1021

JuveLazioJuveRoma

LazioMilanRomaMilan

Partite ⊆⊆⊆⊆ Testo × Testo × Numerico × Numerico

Page 10: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 10

Struttura non posizionale

3231

1021

JuveLazioJuveRoma

LazioMilanRomaMilan

• A ciascun dominio si associa un nome(attributo o campo), che ne descrive il"ruolo"

RetiCasa RetiFuoriCasa Fuori

Page 11: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 11

Relazione matematica,esempio2: CD musicaliCD ⊆⊆⊆⊆ Testo × Testo × Data x Numerico

122001TravisThe invisible band

132/6/2003StereophonicsYou Gotta Go ThereTo Come Back

1231/3/2004AerosmithHonkin' On Bobo

TITOLO CANTANTE ANNO N°Brani

Page 12: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 12

Tabelle e relazioni� Una tabella rappresenta una relazione se

� i valori di ogni colonna sono fra loro omogenei� le righe sono diverse fra 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

Page 13: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 13

Il modello è basato su valori

� i riferimenti fra dati in relazioni diversesono rappresentati per mezzo di valoridei domini che compaiono nelle ennuple

Page 14: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 14

Matricola Cognome Nome Data di nascita6554 Rossi Mario 05/12/19788765 Neri Paolo 03/11/1976

3456 Rossi Maria 01/02/19789283 Verdi Luisa 12/11/1979

studente

Codice Titolo Docente01 Informatica Mario02 Sociologia Bruni04 Sociologia 2 Verdi

corso

Studente Voto Corso3456 30 043456 24 029283 28 01

esame

6554 26 01

Page 15: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 15

Matricola Cognome Nome Data di nascita6554 Rossi Mario 05/12/19788765 Neri Paolo 03/11/1976

3456 Rossi Maria 01/02/19789283 Verdi Luisa 12/11/1979

studente

Codice Titolo Docente01 Informatica Mario02 Sociologia Bruni04 Sociologia 2 Verdi

corso

Studente Voto Corso302428

esame

26

Page 16: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 16

Vantaggi della struttura basatasu valori� indipendenza dalle strutture fisiche (si

potrebbe avere anche con puntatori di altolivello) che possono cambiare dinamicamente

� si rappresenta solo ciò che è rilevante dalpunto di vista dell’applicazione

� l’utente finale vede gli stessi dati deiprogrammatori

� i dati sono portabili piu' facilmente da unsistema ad un altro

� i puntatori sono direzionali

Page 17: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 17

Definizioni

� Schema di relazione:un nome R con un insieme di attributi:

A1, ..., An : R(A1,..., An)� Schema di base di dati:

insieme di schemi di relazione:SR = {R1(X1), ..., Rk(Xk)},

dove Xi=A1, ..., Ami

Page 18: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 18

Esempio

� Schema di relazione:Esame(Studente, Voto, Corso)

� Schema di base di dati:insieme di schemi di relazione:SR = {Esame(Studente, Voto, Corso),

Corso(Codice, Titolo, Docente),Studente(Matricola, Cognome, Nome,Data_di_Nascita)}

Page 19: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 19

Definizioni, 2

� Una ennupla su un insieme di attributiX = {A1,...,An} è una funzione cheassocia a ciascun attributo Ai in X unvalore del dominio di Ai

� t[Ai] denota il valore della ennupla tsull'attributo A

Page 20: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 20

Esempi, 2

� Esame(Studente, Voto, Corso)� X = {Studente, Voto, Corso}� Una ennupla(t) = (3456, 30, 04):

Studente=3456, Voto=30, Corso=04� (3456, 30, 04)[Voto] = 30� (3456, 30, 04)[Corso] = 04

Page 21: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 21

Definizioni, 3

� (Istanza di) relazione su uno schemaR(X):insieme r di ennuple su X

� (Istanza di) base di dati su uno schemaSR= {R1(X1), ..., Rn(Xn)}:insieme di relazioni r = {r1,..., rn} (con ri

relazione su Ri)

Page 22: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 22

Esempi, 3� (Istanza di) relazione sullo schema Corso(Codice, Titolo,

Docente)� IR = {(01, Informatica, Mario), (02, Sociologia, Bruni) ,(03,

Sociologia 2, Verdi)}

� (Istanza di) base di dati sullo schema SR ={Esame(Studente, Voto, Corso), Corso(Codice, Titolo,Docente), Studente(Matricola, Cognome, Nome,Data_di_Nascita)}

� IBD = { (01, Informatica, Mario), ..., (6554, Rossi, Mario,05/12/1978), ..., (01, Informatica, Mario), ...}

Page 23: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 23

Relazioni su singoli attributi

Matricola Cognome Nome Data di nascita6554 Rossi Mario 05/12/19788765 Neri Paolo 03/11/1976

3456 Rossi Maria 01/02/19789283 Verdi Luisa 12/11/1979

studente

Matricola65543456

studente lavoratore

Page 24: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 24

Strutture nidificate

Da FilippoVia Roma 2, RomaRicevuta Fiscale

1235 del 12/10/20003 Coperti 3,00

2 Bistecche 18,003 Primi 12,002 Antipasti 6,20

Totale 39,20

Da FilippoVia Roma 2, RomaRicevuta Fiscale

1240 del 13/10/20002 Coperti 2,00

2 Orate 20,002 Primi 8,002 Antipasti 7,00

2 Caffè 2,00

Totale 39,00

Page 25: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 25

Relazioni che rappresentanostrutture nidificate

1235

3 Coperti 3,00

2 Bistecche 18,003 Primi 12,002 Antipasti 6,20

39,2012/10/2000Numero TotaleData

1240 39,0013/10/2000

Ricevuta

Dettaglio Qtà Piatto Prezzo1235

Numero

1240

123512351235

2 Coperti 2,00… … … …

Page 26: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 26

Strutture nidificate, riflessione� Abbiamo rappresentato veramente tutti

gli aspetti delle ricevute?� Dipende da che cosa ci interessa!

� l'ordine delle righe e' rilevante?� possono esistere linee ripetute in una

ricevuta?

� Sono possibili rappresentazioni diverse

Page 27: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 27

Rappresentazione alternativaper strutture nidificate

1235

3 Coperti 3,00

2 Bistecche 18,003 Primi 12,002 Antipasti 6,20

39,2012/10/2000Numero TotaleData

1240 39,0013/10/2000

Ricevuta

Dettaglio Qtà Descrizione Importo1235

Numero

1240

123512351235

2 Coperti 2,00… … … …

1

432

Riga

1…

Page 28: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 28

Informazione incompleta� ll modello relazionale impone ai dati una

struttura rigida:� le informazioni sono rappresentate per

mezzo di ennuple� solo alcuni formati di ennuple sono

ammessi: quelli che corrispondono aglischemi di relazione

� I dati disponibili possono noncorrispondere al formato previsto

Page 29: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 29

Informazione incompleta:motivazioni

Franklin RooseveltDelanoNome CognomeSecondoNome

Winston ChurchillCharles De GaulleJosip Stalin

Page 30: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 30

Informazione incompleta:soluzioni?� non conviene (anche se spesso si fa) usare

valori del dominio (0, stringa nulla, “99”, ...):� potrebbero non esistere valori “non utilizzati”� valori “non utilizzati” potrebbero diventare

significativi� in fase di utilizzo (nei programmi) sarebbe

necessario ogni volta tener conto del“significato” di questi valori

Page 31: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 31

Informazione incompletanel modello relazionale� Si adotta una tecnica rudimentale ma

efficace:� valore nullo: denota l’assenza di un valore del

dominio (e non è un valore del dominio)

� t[A], per ogni attributo A, è un valore deldominio dom(A) oppure il valore nullo NULL

� Si possono (e debbono) imporre restrizionisulla presenza di valori nulli

Page 32: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 32

Matricola Cognome Nome Data di nascita6554 Rossi Mario 05/12/1978

NULL Rossi Maria 01/02/19789283 Verdi Luisa 12/11/1979

studente

Codice Titolo Docente01 Analisi Mario02 NULL NULL04 Chimica Verdi

corso

Studente Voto CorsoNULL 30 NULLNULL 24 029283 28 01

esame

Troppi valori nulli

Page 33: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 33

Tipi di valore nullo

� (almeno) tre casi differenti� valore sconosciuto� valore inesistente� valore senza informazione

� I DBMS non distinguono i tipi divalore nullo

Page 34: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 34

Vincoli di integrità

� Esistono istanze di basi di dati che,pur sintatticamente corrette, nonrappresentano informazioni possibiliper l’applicazione di interesse

Page 35: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 35

Una base di dati "scorretta"Studente Voto Lode Corso

32 01276545276545 30 e lode 02787643 27 e lode 03739430 24 04

Esame

Matricola276545787643787643

CognomeRossiNeri

Bianchi

NomeMarioPieroLuca

Studente

787643787643

32

27 e lode739430

Page 36: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 36

Vincolo di integrità

� Proprietà che deve essere soddisfattadalle istanze che rappresentanoinformazioni corrette perl’applicazione

� Un vincolo è una funzione booleana(un predicato):associa ad ogni istanza il valore veroo falso

Page 37: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 37

� descrizione più accurata della realtà� contributo alla “qualità dei dati”� utili nella progettazione (vedremo)� usati dai DBMS nella esecuzione delle

interrogazioni

Vincoli di integrità, perché?

Page 38: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 38

Vincoli di integrità, perché?

� non tutte le proprietà di interessesono rappresentabili per mezzo divincoli formulabili in modoesplicito

Page 39: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 39

Tipi di vincoli

� vincoli intrarelazionali�vincoli su valori (o di dominio)�vincoli di ennupla

� vincoli interrelazionali

Page 40: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 40

VincoliStudente Voto Lode Corso

32 01276545276545 30 e lode 02787643 27 e lode 03739430 24 04

Esame

Matricola276545787643787643

CognomeRossiNeri

Bianchi

NomeMarioPieroLuca

Studente

787643787643

32

27 e lode739430

Page 41: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 41

Vincoli di ennupla

� Esprimono condizioni sui valori diciascuna ennupla, indipendentementedalle altre ennuple

� Caso particolare:� Vincoli di dominio: coinvolgono unsolo attributo

Page 42: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 42

Sintassi ed esempi� Una possibile sintassi:

� espressione booleana di atomi checonfrontano valori di attributo o espressioniaritmetiche su di essi

(Voto >= 18) AND (Voto <= 30)

(Voto = 30) OR NOT (Lode = "e lode")

Page 43: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 43

Vincoli di ennupla, esempio

ImpiegatoRossiNeri

Bruni

Stipendio Lordo55.00045.00047.000

Netto42.50035.00036.000

Ritenute12.50010.00011.000

Lordo = (Ritenute + Netto)

Page 44: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 44

Identificazione delle ennuple

� non ci sono due ennuple con lo stesso valoresull’attributo Matricola

� non ci sono due ennuple uguali su tutti e tregli attributi Cognome, Nome e Data di Nascita

Matricola276557876365432

NomeMario

PieroMario87654

67653

Mario

CognomeRossi

NeriNeri

Rossi

Rossi Piero

CorsoDES

DESSTA

ECO

DES

Nascita5/12/78

10/7/793/11/76

3/11/76

5/12/78

Page 45: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 45

Chiave

� insieme di attributi che identificano leennuple di una relazione r

Formalmente:� un insieme K di attributi è superchiave

per r se r non contiene due ennupledistinte t1 e t2 con t1[K] = t2[K]

� K è chiave per r se è una superchiaveminimale per r(cioè non contiene un’altra superchiave)

Page 46: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 46

Una chiave

� Matricola è una chiave:� è superchiave� contiene un solo attributo e quindi è minimale

Matricola276557876365432

NomeMario

PieroMario87654

67653

Mario

CognomeRossi

NeriNeri

Rossi

Rossi Piero

CorsoDES

DESSTA

ECO

DES

Nascita5/12/78

10/7/793/11/76

3/11/76

5/12/78

Page 47: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 47

� Cognome, Nome, Nascita è un’altra chiave:� è superchiave� minimale

Matricola276557876365432

Nome

PieroMario87654

67653

Cognome

NeriNeri

MarioMario

RossiRossi

Rossi Piero

CorsoDES

DESSTA

ECO

DES

Nascita5/12/78

10/7/793/11/76

3/11/76

5/12/78

MarioMario

RossiRossi

Rossi

5/12/78

5/12/78

Rossi

Mario 3/11/76

3/11/76Mario

Un'altra chiave

Page 48: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 48

� Non ci sono ennuple uguali su Cognome eCorso:� Cognome e Corso formano una chiave

� Ma è sempre vero?

Matricola276557876365432

NomeMario

PieroMario87654

67653

Mario

CognomeRossi

NeriNeri

Rossi

Rossi Piero

CorsoDES

DESSTA

ECO

DES

Nascita5/12/78

10/7/793/11/76

3/11/76

5/12/78

Un'altra chiave??

Page 49: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 49

Vincoli, schemi e istanze

� i vincoli corrispondono a proprietà del mondoreale modellato dalla base di dati

� interessano a livello di schema (con riferimentocioè a tutte le istanze)

� ad uno schema associamo un insieme di vincoli econsideriamo corrette (valide, ammissibili) leistanze che soddisfano tutti i vincoli

� un'istanza potrebbe soddisfare altri vincoli (“percaso”)

Page 50: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 50

Relazione Studente

Quali sono le Chiavi ?:� Matricola� Cognome, Nome, Nascita

Matricola NomeCognome Corso Nascita

Page 51: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 51

� È corretta: soddisfa i vincoli� Ne soddisfa anche altri ("per caso"):

� Cognome, Corso è chiave

Relazione StudenteMatricola

276557876365432

NomeMario

PieroMario87654

67653

Mario

CognomeRossi

NeriNeri

Rossi

Rossi Piero

CorsoDES

DESSTA

ECO

DES

Nascita5/12/78

10/7/793/11/76

3/11/76

5/12/78

Page 52: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 52

Esistenza delle chiavi

� Una relazione non può contenereennuple uguali ma distinte

� Ogni relazione ha come superchiavel’insieme degli attributi su cui è definita

� e quindi ha (almeno) una chiave

Page 53: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 53

Importanza delle chiavi

� l’esistenza delle chiavi garantiscel’accessibilità a ciascun dato della basedi dati

� le chiavi permettono di correlare i datiin relazioni diverse:� il modello relazionale è basato su valori

Page 54: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 54

Chiavi e valori nulli

� In presenza di valori nulli, i valori dellachiave non permettono� di identificare le ennuple� di realizzare facilmente i riferimenti da altre

relazioni

Page 55: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 55

Matricola

7876365432

Nome

PieroMario87654

NULL

Mario

Cognome

NeriNeri

Rossi

Neri Mario

Corso

DESIng Inf

ECO

NULL

NascitaNULL MarioNULL Ing Inf 5/12/78

10/7/79NULL

3/11/76

5/12/78Mario87654

NULLNeriNeri Mario

STADES

NULL5/12/78

NULL MarioNULL DES 5/12/78

Valori Nulli nelle chiavi

� La presenza di valori nulli nelle chiavi deveessere limitata

Page 56: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 56

Chiave primaria� Chiave su cui non sono ammessi nulli� Notazione: sottolineatura

Matricola

78763

65432

Nome

Piero

Mario87654

43289

Mario

Cognome

Neri

Neri

Rossi

Neri Mario

Corso

DES

STA

ECO

NULL

Nascita

86765 MarioNULL DES 5/12/78

10/7/79

NULL

3/11/76

5/12/78

Page 57: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 57

� informazioni in relazioni diverse sonocorrelate attraverso valori comuni

� in particolare, valori delle chiavi (primarie)� le correlazioni debbono essere "coerenti"

Integrità referenziale

Page 58: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 58

Matricola398732959345

Vigili CognomeRossiNeriNeri

NomeLucaPieroMario

Mori Gino7543

InfrazioniCodice34321

733216452153524

Data1/2/954/3/955/4/965/2/98

Vigile3987329532959345

Prov NumeroMITOPRPR

39548KE39548839548839548

329532953987

3987

9345

3987

9345

9345

3295

32953295

Page 59: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 59

Auto Prov NumeroMITOPR

39548KE39548839548

CognomeRossiRossiNeri

NomeMarioMarioLuca

InfrazioniCodice34321

733216452153524

Data1/2/954/3/955/4/965/2/98

Vigile3987329532959345

Prov NumeroMITOPRPR

39548KE39548839548839548

MITOPRPR

39548KE39548839548839548

MITOPR

39548KE39548839548

Page 60: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 60

� Un vincolo di integrità referenziale(“foreign key”) fra gli attributi X di unarelazione R1 e un’altra relazione R2impone ai valori su X in R1 di comparirecome valori della chiave primaria di R2

Vincolo di integritàreferenziale

Page 61: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 61

Esempio

� vincoli di integrità referenziale fra:� l’attributo Vigile della relazione

INFRAZIONI e la relazione VIGILI� gli attributi Prov e Numero di

INFRAZIONI e la relazione AUTO

Page 62: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 62

InfrazioniCodice34321

733216452153524

Data1/2/954/3/955/4/965/2/98

Vigile3987329532959345

Prov NumeroMITOPRPR

39548KE39548839548839548

Auto Prov NumeroMITOPR

E39548F34268839548

CognomeRossiRossiNeri

NomeMarioMarioLuca

TO E39548

TOE39548

Violazione di vincolo di integritàreferenziale

Page 63: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 63

Vincoli di integritàreferenziale: commenti

� Giocano un ruolo fondamentale nelconcetto di “modello basato su valori.”

• In presenza di valori nulli i vincolipossono essere resi meno restrittivi• Sono possibili meccanismi per il

supporto alla loro gestione ("azioni"compensative a seguito di violazioni)

• Attenzione ai vincoli su più attributi

Page 64: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 64

Integrità referenziale e valorinulli

Impiegati Matricola34321

6452153524

CognomeRossiNeri

Verdi

ProgettoIDEAXYZNULL

Progetti CodiceIDEA

BOHXYZ

Inizio01/200007/200109/2001

Durata362424

Costo200120150

73032 Bianchi IDEA

Page 65: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 65

Azioni compensative

� Esempio:� Viene eliminata una ennupla causando cosi'

una violazione

� Azioni� Rifiuto dell'operazione� Eliminazione in cascata� Introduzione di valori nulli

Page 66: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 66

Eliminazione in cascata

Impiegati Matricola34321

6452153524

CognomeRossiNeri

Verdi

ProgettoIDEAXYZNULL

73032 Bianchi IDEAProgetti Codice

IDEA

BOHXYZ

Inizio01/200007/200109/2001

Durata362424

Costo200120150

XYZ 07/2001 24 120XYZ 07/2001 24 120XYZ 07/2001 24 120

53524 Neri XYZ

Page 67: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 67

Introduzione di valori nulliImpiegati Matricola

34321

6452153524

CognomeRossiNeri

Verdi

ProgettoIDEAXYZNULL

73032 Bianchi IDEA

Progetti CodiceIDEA

BOHXYZ

Inizio01/200007/200109/2001

Durata362424

Costo200120150

XYZ 07/2001 24 120XYZ 07/2001 24 120XYZ 07/2001 24 120

NULL

Page 68: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 68

Auto Prov NumeroMITOPR

39548KE39548839548

CognomeRossiRossiNeri

NomeMarioMarioLuca

IncidentiCodice3432164521

Data1/2/955/4/96

ProvB NumeroBMITO

39548KE39548

ProvA NumeroATOPR

E39548839548

Vincoli multipli su più attributi

Page 69: IL MODELLO RELAZIONALE - si.deis.unical.itsi.deis.unical.it/.../Lezioni/Lezione3-4_05_06.pdf · 08/03/2006 2 I modelli logici dei dati Tre modelli logici tradizionali gerarchico reticolare

08/03/2006 69

Vincoli multipli su più attributi

� vincoli di integrità referenziale fra:� gli attributi ProvA e NumeroA di INCIDENTI

e la relazione AUTO� gli attributi ProvB e NumeroB di INCIDENTI

e la relazione AUTO

� L'ordine degli attributi è significativo