1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone...

47
1 MODELLO MODELLO RELAZIONALE RELAZIONALE

Transcript of 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone...

Page 1: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

11

MODELLO MODELLO RELAZIONALERELAZIONALE

Page 2: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

22Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Modello relazionaleModello relazionale

Proposto da E. F. Codd nel 1970 per Proposto da E. F. Codd nel 1970 per favorire l’indipendenza dei dati favorire l’indipendenza dei dati

Disponibile in DBMS reali nel 1981 (non è Disponibile in DBMS reali nel 1981 (non è facile implementare l’indipendenza con facile implementare l’indipendenza con efficienza e affidabilità!)efficienza e affidabilità!)

Page 3: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

33Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Modello relazionaleModello relazionale

Basato sulla nozione matematica di Basato sulla nozione matematica di relazionerelazione

Le relazioni si traducono in maniera Le relazioni si traducono in maniera naturale in naturale in tabelletabelle

Dati e relazioni (riferimenti) tra dati di Dati e relazioni (riferimenti) tra dati di insiemi (tabelle) diversi sono rappresentati insiemi (tabelle) diversi sono rappresentati come come valorivalori

Page 4: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

44Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Relazione: tre accezioni Relazione: tre accezioni

relazione matematicarelazione matematica: come nella teoria : come nella teoria degli insiemidegli insiemirelazionerelazione (dall’inglese (dall’inglese relationshiprelationship) che ) che rappresenta una classe di fatti, nel rappresenta una classe di fatti, nel modello Entità-Relazioni (Entity-modello Entità-Relazioni (Entity-Relationship); tradotto anche con Relationship); tradotto anche con associazioneassociazionerelazionerelazione secondo il modello relazionale secondo il modello relazionale dei datidei dati

Page 5: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

55Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Definizioni 1Definizioni 1

DominioDominio: un insieme possibilmente infinito : un insieme possibilmente infinito di valori;di valori;

esempi:esempi: l’insieme dei numeri interi è un dominiol’insieme dei numeri interi è un dominio l’insieme dei numeri decimali è un dominiol’insieme dei numeri decimali è un dominio l’insieme delle stringhe di caratteri di l’insieme delle stringhe di caratteri di

lunghezza = 20 è un dominio lunghezza = 20 è un dominio {0,1} è un dominio{0,1} è un dominio

Page 6: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

66Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Definizioni 2Definizioni 2

Siano Siano D1,D2,.....DkD1,D2,.....Dk domini, non domini, non necessariamente distinti. Il prodotto necessariamente distinti. Il prodotto Cartesiano di tali domini, denotato daCartesiano di tali domini, denotato da

D1 D1 xx D2 D2 x..... xx..... x Dk Dk

è l’insiemeè l’insieme

{({(v1, v2, ....., vkv1, v2, ....., vk) | ) | v1v1D1D1, , v2v2 D2, ..... VkD2, ..... Vk DkDk}}

lista ordinata di valorilista ordinata di valori tale chetale che appartieneappartiene

Page 7: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

77Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Definizioni 3Definizioni 3Una Una relazione matematicarelazione matematica è un qualsiasi sottoinsieme è un qualsiasi sottoinsieme del prodotto Cartesiano di uno o più dominidel prodotto Cartesiano di uno o più domini

Una relazione che è sottoinsieme del prodotto Cartesiano Una relazione che è sottoinsieme del prodotto Cartesiano di k domini si dice di di k domini si dice di grado kgrado k

Gli elementi di una relazione sono detti Gli elementi di una relazione sono detti tupletuple (oppure n-(oppure n-uple oppure ennuple).uple oppure ennuple). Il numero di tuple di una relazione Il numero di tuple di una relazione è la suaè la sua cardinalità cardinalità

Ogni tupla di una relazione di grado k ha k componenti Ogni tupla di una relazione di grado k ha k componenti ordinate (l’i-esimo valore viene dall’i-esimo dominio) ma ordinate (l’i-esimo valore viene dall’i-esimo dominio) ma nonnon c’è ordinamento c’è ordinamento tra tra le tuplele tuple

Le tuple di una relazione sono tutte Le tuple di una relazione sono tutte distintedistinte

Page 8: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

88Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Definizioni - esempioDefinizioni - esempio

Supponiamo k = 2Supponiamo k = 2D1 = D1 = bianco, nerobianco, nero, D2 = , D2 = 0, 1, 20, 1, 2

D1 D1 D2 = D2 = (bianco, 0), (bianco, 1), (bianco, 2), (nero, (bianco, 0), (bianco, 1), (bianco, 2), (nero, 0), (nero, 1), (nero, 2)0), (nero, 1), (nero, 2)

(bianco, 0), (nero, 0), (nero, 2)(bianco, 0), (nero, 0), (nero, 2) è una relazione di grado è una relazione di grado 2, cardinalità 3 e con tuple (bianco, 0), (nero, 0), (nero, 2, cardinalità 3 e con tuple (bianco, 0), (nero, 0), (nero, 2)2)

(nero, 0), (nero, 2)(nero, 0), (nero, 2) è una relazione di grado 2, è una relazione di grado 2, cardinalità 2 e con tuple (nero, 0), (nero, 2)cardinalità 2 e con tuple (nero, 0), (nero, 2)

Page 9: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

99Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Relazione matematica - esempioRelazione matematica - esempio

una relazione r una relazione r D D1 1 × D× D22

aaab

bb

xyzxyz

aab

xzy

• D1={a,b}

• D2={x,y,z}

• prodotto cartesiano D1 × D2

Page 10: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

1010Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

NotazioneNotazione

Se Se rr è una relazione di grado è una relazione di grado kkse se t t è una tupla di è una tupla di rrsese i i è un numero intero nell’isieme {1,...,k} è un numero intero nell’isieme {1,...,k}tt[[ii] (oppure t.i) indica la ] (oppure t.i) indica la ii-sima componente di -sima componente di ttesempio:esempio: se se rr = {(0,a), (0,c),(1,b)} = {(0,a), (0,c),(1,b)} t t = (0,a) è una tupla di = (0,a) è una tupla di rr tt[2] = a[2] = a tt[1] = 0[1] = 0 tt[1,2] = (0, a)[1,2] = (0, a)

00 aa

00 cc

11 bb

Page 11: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

1111Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Relazioni e tabelleRelazioni e tabelleUna relazione può essere vista come una tabella in cui ogni Una relazione può essere vista come una tabella in cui ogni riga è una tupla riga è una tupla differente da ogni altradifferente da ogni altra e ogni colonna e ogni colonna corrisponde ad una componente (valori corrisponde ad una componente (valori omogeneiomogenei, cioè , cioè provenienti dallo stesso dominio)provenienti dallo stesso dominio)

Le colonne hanno associati dei nomi Le colonne hanno associati dei nomi univociunivoci all’interno all’interno della tabella, detti della tabella, detti nomi degli attributinomi degli attributi (descrivono il ruolo)(descrivono il ruolo)

La coppia (nome di attributo, dominio) è chiamata La coppia (nome di attributo, dominio) è chiamata attributo. attributo. L’insieme di attributi di una relazione è detto L’insieme di attributi di una relazione è detto schemaschema

Se una relazione è denominata Se una relazione è denominata RR e i suoi attibuti hanno e i suoi attibuti hanno nomi nomi A1, A2,.....,Ak,A1, A2,.....,Ak, lo schema è spesso indicato da lo schema è spesso indicato da

RR((A1, A2,.....,AkA1, A2,.....,Ak))

Page 12: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

1212Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Schemi e istanzeSchemi e istanze

Schema di relazione: un nome di relazione R Schema di relazione: un nome di relazione R con un insieme di nomi di attributicon un insieme di nomi di attributi

RR((A1, A2,.....,AkA1, A2,.....,Ak))

Schema di base di dati: un insieme di schemi di Schema di base di dati: un insieme di schemi di relazione con nomi differentirelazione con nomi differenti

Istanza di una relazione con schema R(X): Istanza di una relazione con schema R(X): insieme r di tuple su Xinsieme r di tuple su X

Page 13: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

1313Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

EsempioEsempio

Schema Schema Info_Città(Città,Regione,Popolazione) Info_Città(Città,Regione,Popolazione)

Istanza di relazione Info_CittàIstanza di relazione Info_Città

Città Regione Popolazione

Roma Lazio 3000000

Milano Lombardia 1500000

Genova Liguria 800000

Pisa Toscana 150000

Page 14: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

1414Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Relazioni e tabelleRelazioni e tabelle

Nell’ultima definizione di modello Nell’ultima definizione di modello relazionale, le componenti di una relazione relazionale, le componenti di una relazione sono indicate dai nomi degli attributi, sono indicate dai nomi degli attributi, anziché dalla posizioneanziché dalla posizione

tt[[AiAi] indica il valore dell’attributo con nome ] indica il valore dell’attributo con nome AiAi della tupla della tupla tt

Se t è la seconda tupla nell’esempio Se t è la seconda tupla nell’esempio precedente, allora t[Rgione] = Lombardiaprecedente, allora t[Rgione] = Lombardia

Page 15: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

1515Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Oggetto = tuplaOggetto = tupla

Campi = Informazioni di interesseCampi = Informazioni di interesse

Oggetto = “Membro dello Staff” Oggetto = “Membro dello Staff”

Informazioni di interesse = Codice, Informazioni di interesse = Codice, Cognome, Nome, Ruolo, Anno di Cognome, Nome, Ruolo, Anno di assunzioneassunzione

COD1COD1 RossiRossi MarioMario AnalistaAnalista 19951995CODICE COGNOME NOME RUOLO ASSUNZIONE

RicapitolandoRicapitolando

Page 16: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

1616Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Tabella = Insieme di tuple di tipo Tabella = Insieme di tuple di tipo omogeneoomogeneo

Tabella STAFF = Insieme di tuple di tipo Tabella STAFF = Insieme di tuple di tipo “Membro dello Staff”“Membro dello Staff”

COD1COD1 RossiRossi MarioMario AnalistaAnalista 19951995

COD2COD2 BianchiBianchi PietroPietro AnalistaAnalista 19901990

COD3COD3 NeriNeri PaoloPaolo AmministrAmministratoreatore

19851985

CODICE COGNOME NOME RUOLO ASSUNZIONE

Page 17: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

1717Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Il modello è basato su valoriIl modello è basato su valori

i riferimenti fra dati in relazioni diverse i riferimenti fra dati in relazioni diverse sono rappresentati per mezzo di valori dei sono rappresentati per mezzo di valori dei domini che compaiono nelle ennupledomini che compaiono nelle ennuple

Page 18: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

1818Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

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

studenti

Codice Titolo Docente01 Analisi Mario02 Chimica Bruni04 Chimica Verdi

corsi

Studente Voto Corso3456 30 043456 24 029283 28 01

esami

6554 26 01

Page 19: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

1919Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Valori nulliValori nulli

Rappresentano mancanza di informazione Rappresentano mancanza di informazione o il fatto che l’informazione non è o il fatto che l’informazione non è applicabileapplicabilees. numero di telefono:es. numero di telefono: la persona non ha il telefonola persona non ha il telefono non so se la persona ha il telefononon so se la persona ha il telefono la persona ha il telefono ma non ne conosco il la persona ha il telefono ma non ne conosco il

numeronumero

Non possiamo non inserire il campo !Non possiamo non inserire il campo !

Page 20: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

2020Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

NULLNULL

Cattiva abitudine: usare valori del dominio “inutilizzati”Cattiva abitudine: usare valori del dominio “inutilizzati” Potrebbero non esisterePotrebbero non esistere Potrebbero essere utilizzati in seguitoPotrebbero essere utilizzati in seguito Potrebbero falsare i calcoli (non conosco lo stipendio Potrebbero falsare i calcoli (non conosco lo stipendio

di un impiegato, ma uno 0 pesa in un calcolo del di un impiegato, ma uno 0 pesa in un calcolo del valore medio come un qualsiasi altro numero)valore medio come un qualsiasi altro numero)

Valore speciale: NULLValore speciale: NULLNULL: valore NULL: valore polimorfopolimorfo = non appartiene a nessun = non appartiene a nessun dominio ma può sostituire valori in qualsiasi dominio dominio ma può sostituire valori in qualsiasi dominio Due valori NULL, anche se sullo stesso dominio, sono Due valori NULL, anche se sullo stesso dominio, sono considerati considerati diversidiversiAttenzioneAttenzione! NULL ! NULL non ènon è 0 (numero intero) 0 (numero intero)

Page 21: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

2121Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

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

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

studenti

Codice Titolo Docente01 Analisi Mario02 NULL NULL04 Chimica Verdi

corsi

Studente Voto CorsoNULL 30 NULLNULL 24 029283 28 01

esami

Troppi valori nulliTroppi valori nulli

Page 22: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

2222Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Una base di dati “scorretta”Una base di dati “scorretta”

COD1COD1 RossiRossi MarioMario AnalistaAnalista 17951795 0101

COD2COD2 BianchiBianchi PietroPietro AnalistaAnalista 19901990 0505

COD2COD2 NeriNeri PaoloPaolo AmministrAmministratoreatore

19851985 0101

CODICE COGNOME NOME RUOLO ASSUNZIONE DIP

0101 ProgettazioneProgettazione

0202 AmministrazioneAmministrazione

NUMERO NOME

Cosa c’è che non va ???Cosa c’è che non va ???Sintatticamente è corretto …Sintatticamente è corretto …

IMPIEGATOIMPIEGATO

DIPARTIMENTODIPARTIMENTO

Page 23: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

2323Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Una base di dati "scorretta"Una base di dati "scorretta"Studente Voto Lode Corso

32 01276545276545 30 si 02787643 27 si 03739430 15 04

Esami

Matricola276545787643787643

CognomeRossiNeri

Bianchi

NomeMarioPieroLuca

Studenti

787643787643

32

27

Page 24: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

2424Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Vincoli di integritàVincoli di integritàVincolo di integritàVincolo di integrità: proprietà che deve essere : proprietà che deve essere soddisfatta da ogni istanza della base di dati soddisfatta da ogni istanza della base di dati ((legata quindi allo schemalegata quindi allo schema))

I vincoli descrivono I vincoli descrivono proprietàproprietà specifiche del specifiche del campo di applicazione, e quindi delle campo di applicazione, e quindi delle informazioni ad esso relative modellate informazioni ad esso relative modellate attraverso la base di datiattraverso la base di dati

Una istanza di base di dati è Una istanza di base di dati è correttacorretta se se soddisfa tutti i vincoli di integrità associati al soddisfa tutti i vincoli di integrità associati al suo schemasuo schema

Page 25: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

2525Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Come evitare le “scorrettezze”Come evitare le “scorrettezze”

COD1COD1 RossiRossi MarioMario AnalistaAnalista 17951795 0101

COD2COD2 BianchiBianchi PietroPietro AnalistaAnalista 19901990 0505

COD2COD2 NeriNeri PaoloPaolo AmministrAmministratoreatore

19851985 0101

CODICE COGNOME NOME RUOLO ASSUNZIONE DIP

0101 ProgettazioneProgettazione

0202 AmministrazioneAmministrazione

NUMERO NOME (ASSUNZIONE > 1980)(ASSUNZIONE > 1980)

COD2 UNIQUECOD2 UNIQUE

DIP REFERENCES DIPARTIMENTO.NUMERODIP REFERENCES DIPARTIMENTO.NUMERO

IMPIEGATOIMPIEGATO

DIPARTIMENTODIPARTIMENTO

Page 26: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

2626Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Studente Voto Lode Corso32 01276545

276545 30 si 02787643 27 si 03739430 24 04

Esami

Matricola276545787643787643

CognomeRossiNeri

Bianchi

NomeMarioPieroLuca

Studenti

787643787643

32

27

Come evitare le “scorrettezze”Come evitare le “scorrettezze”

(Voto 18) AND (Voto 30)

(Voto = 30) OR NOT (Lode = „si")

Matricola unique

Studente references Studenti.Matricola

Page 27: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

2727Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Vincoli di integritàVincoli di integritàVincoli di dominioVincoli di dominio ASSUNZIONE > 1980ASSUNZIONE > 1980 (Voto (Voto 18) AND (Voto 18) AND (Voto 30) 30)

Vincoli di tuplaVincoli di tupla (Voto = 30) OR NOT (Lode = „si")(Voto = 30) OR NOT (Lode = „si")

Vincoli tra tuple della stessa relazioneVincoli tra tuple della stessa relazione COD2 UNIQUECOD2 UNIQUE Matricola uniqueMatricola unique

Vincoli tra valori in tuple di relazioni diverseVincoli tra valori in tuple di relazioni diverse DIP REFERENCES DIPARTIMENTO.NUMERODIP REFERENCES DIPARTIMENTO.NUMERO Studente references Studenti.MatricolaStudente references Studenti.Matricola

Page 28: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

2828Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Vincoli di integritàVincoli di integrità

Vincoli intrarelazionali: definiti sui valori di Vincoli intrarelazionali: definiti sui valori di singoli attributi (di dominio) o tra valori di singoli attributi (di dominio) o tra valori di attributi di una stessa tupla o tra tuple della attributi di una stessa tupla o tra tuple della stessa relazionestessa relazione

Vincoli interrelazionali: definiti tra più relazioniVincoli interrelazionali: definiti tra più relazioni

Non tutte le proprietà di interesse possono Non tutte le proprietà di interesse possono essere rappresentate tramite vincoli esplicitiessere rappresentate tramite vincoli espliciti

Page 29: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

2929Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Vincoli intrarelazionaliVincoli intrarelazionali

Vincolo di chiave primaria (primary key): unica e Vincolo di chiave primaria (primary key): unica e mai nullamai nulla

Vincoli di dominio (es. ASSUNZIONE > 1980)Vincoli di dominio (es. ASSUNZIONE > 1980)

Vincoli di unicità (unique)Vincoli di unicità (unique)

Vincoli di esistenza del valore per un certo Vincoli di esistenza del valore per un certo attributo (not null)attributo (not null)

Espressioni sul valore di attributi della stessa Espressioni sul valore di attributi della stessa tupla (es. data_arrivo < data_partenza) se arrivo tupla (es. data_arrivo < data_partenza) se arrivo e partenza ad esempio da un albergoe partenza ad esempio da un albergo

Page 30: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

3030Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Chiavi 1Chiavi 1

Occorre identificare univocamente le tuple Occorre identificare univocamente le tuple di una istanza di relazionedi una istanza di relazione

La La chiavechiave di una relazione è un attributo o di una relazione è un attributo o insieme di attributi che identifica insieme di attributi che identifica univocamente una tuplaunivocamente una tupla

Page 31: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

3131Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Chiavi 2Chiavi 2

Un insieme X di attributi di una relazione R è Un insieme X di attributi di una relazione R è una una chiavechiave di R se soddisfa le seguenti di R se soddisfa le seguenti condizioni:condizioni:

1) 1) Per Per ogni istanzaogni istanza di R, non esistono due tuple di R, non esistono due tuple distinte t1 e t2 che hanno gli stessi valori per tutti distinte t1 e t2 che hanno gli stessi valori per tutti gli attributi in X, tali cioè che t1[X] = t2[X]gli attributi in X, tali cioè che t1[X] = t2[X]

2) Nessun sottoinsieme 2) Nessun sottoinsieme proprioproprio di X soddisfa la di X soddisfa la condizione 1)condizione 1)

Page 32: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

3232Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

EsempioEsempio

Istanza di relazione StaffIstanza di relazione Staff

Chiave? Chiave?

COD1COD1 RossiRossi MarioMario AnalistaAnalista 19951995

COD2COD2 BianchiBianchi PietroPietro AnalistaAnalista 19901990

COD3COD3 NeriNeri PaoloPaolo AmministrAmministratoreatore

19851985

CODICE COGNOME NOME RUOLO ASSUNZIONE

Page 33: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

3333Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

EsempioEsempio

Istanza di relazione Info_CittàIstanza di relazione Info_Città

Città Regione Popolazione

Roma Lazio 3000000

Milano Lombardia 1500000

Genova Liguria 800000

Pisa Toscana 150000

Chiave? Dipende …Chiave? Dipende …

Page 34: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

3434Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Chiavi 3Chiavi 3

Una relazione potrebbe avere più chiavi Una relazione potrebbe avere più chiavi alternativealternative

Si sceglie quella più usata o quella composta Si sceglie quella più usata o quella composta da un numero minore di attributi = chiave da un numero minore di attributi = chiave primariaprimaria

La chiave primaria La chiave primaria non ammette valori nullinon ammette valori nulli

Esiste sempre Esiste sempre almenoalmeno una chiave … perché ? una chiave … perché ?

Sono le chiavi che consentono di mettere in Sono le chiavi che consentono di mettere in relazione dati in tabelle diverserelazione dati in tabelle diverse

Page 35: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

3535Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

EsempioEsempio

Istanza di relazione StaffIstanza di relazione Staff

- Chiavi? - Chiavi?

RSI…RSI… COD1COD1 RossiRossi MarioMario AnalistaAnalista 19951995

BA…BA… COD2COD2 BianchiBianchi PietroPietro AnalistaAnalista 19901990

NRI…NRI… COD3COD3 NeriNeri PaoloPaolo AmministrAmministratoreatore

19851985

CODICE COGNOME NOME RUOLO ASSUNZIONECF

- Secondo la definizione, è possibile che - Secondo la definizione, è possibile che (Cognome, Ruolo) sia una chiave ?(Cognome, Ruolo) sia una chiave ?

Page 36: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

3636Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Vincoli interrelazionaliVincoli interrelazionali

Vincolo di integrità referenziale (foreign key): Vincolo di integrità referenziale (foreign key): porzioni di informazione in relazioni diverse sono porzioni di informazione in relazioni diverse sono correlate attraverso valori di chiavecorrelate attraverso valori di chiaveSe una relazione fa riferimento al valore di un Se una relazione fa riferimento al valore di un attributo o di un insieme di attributi che dovrebbe attributo o di un insieme di attributi che dovrebbe comparire in una seconda relazione, dobbiamo comparire in una seconda relazione, dobbiamo assicurarci che ciò avvenga realmenteassicurarci che ciò avvenga realmenteUn vincolo di integrità referenziale fra gli attributi Un vincolo di integrità referenziale fra gli attributi X di una relazione RX di una relazione R1 1 e un’altra relazione R e un’altra relazione R22 impone ai valori su X in Rimpone ai valori su X in R11 di comparire come di comparire come valori della chiave primaria di Rvalori della chiave primaria di R22

Page 37: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

3737Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Matricola

3987

3295

9345

Vigili Cognome

Rossi

Neri

Neri

Nome

Luca

Piero

Mario

Mori Gino7543

InfrazioniCodice

34321

73321

64521

53524

Data

1/2/95

4/3/95

5/4/96

5/2/98

Vigile

3987

3295

3295

9345

Prov Numero

MI

TO

PR

PR

39548K

E39548

839548

839548

3295

3295

3987

3987

9345

3987

9345

9345

3295

3295

3295

Page 38: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

3838Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Auto Prov Numero

MI

TO

PR

39548K

E39548

839548

Cognome

Rossi

Rossi

Neri

Nome

Mario

Mario

Luca

InfrazioniCodice

34321

73321

64521

53524

Data

1/2/95

4/3/95

5/4/96

5/2/98

Vigile

3987

3295

3295

9345

Prov Numero

MI

TO

PR

PR

39548K

E39548

839548

839548

MI

TO

PR

PR

39548K

E39548

839548

839548

MI

TO

PR

39548K

E39548

839548

Page 39: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

3939Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

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

l‘attributo Matricola (chiave) della relazione l‘attributo Matricola (chiave) della relazione VIGILI VIGILI

gli attributi Prov e Numero di INFRAZIONI e gli attributi Prov e Numero di INFRAZIONI e gli attributi Prov e Numero (chiave) della gli attributi Prov e Numero (chiave) della relazione AUTO relazione AUTO

Page 40: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

4040Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

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

ATTENZIONE AI VINCOLI SU PIU’ ATTRIBUTIATTENZIONE AI VINCOLI SU PIU’ ATTRIBUTI

Page 41: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

4141Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Vincoli di integrità referenziale: Vincoli di integrità referenziale: commenticommenti

Giocano un ruolo fondamentale nel Giocano un ruolo fondamentale nel concetto di “modello basato su valori” concetto di “modello basato su valori”

In presenza di valori nulli i vincoli possono In presenza di valori nulli i vincoli possono essere resi meno restrittiviessere resi meno restrittivi

E‘ possibile definire „azioni" compensative E‘ possibile definire „azioni" compensative a seguito di violazionia seguito di violazioni

Attenzione ai vincoli su più attributiAttenzione ai vincoli su più attributi

Page 42: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

4242Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Integrità Integrità referenziale e valori referenziale e valori nullinulli

Impiegati Matricola34321

6452153524

CognomeRossiNeriVerdi

ProgettoIDEAXYZNULL

Progetti CodiceIDEA

BOHXYZ

Inizio01/200007/200109/2001

Durata362424

Costo200120150

73032 Bianchi IDEA

Page 43: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

4343Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Azioni compensativeAzioni compensative

Esempio:Esempio: Viene eliminata una ennupla causando una Viene eliminata una ennupla causando una

violazioneviolazione

Comportamento “standard”:Comportamento “standard”: Rifiuto dell'operazioneRifiuto dell'operazione

Azioni compensative:Azioni compensative: Eliminazione in cascataEliminazione in cascata Introduzione di valori nulliIntroduzione di valori nulli

Page 44: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

4444Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Eliminazione in cascataEliminazione in cascataImpiegati Matricola

34321

6452153524

CognomeRossiNeriVerdi

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

53524 Neri XYZ

Page 45: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

4545Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Introduzione diIntroduzione di valori nulli valori nulliImpiegati Matricola

34321

6452153524

CognomeRossiNeriVerdi

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 46: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

4646Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Auto Prov Numero

MI

TO

PR

39548K

E39548

839548

Cognome

Rossi

Rossi

Neri

Nome

Mario

Mario

Luca

IncidentiCodice

34321

64521

Data

1/2/95

5/4/96

ProvB NumeroB

MI

TO

39548K

E39548

ProvA NumeroA

TO

PR

E39548

839548

Vincoli multipli su Vincoli multipli su più attributipiù attributi

Page 47: 1 MODELLO RELAZIONALE. 2 Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione,

4747Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Tratto dal materiale associato al testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.Basi di dati - Modelli e linguaggi di interrogazione , McGraw-Hill, 2002.

Vincoli multipli su più attributiVincoli multipli su più attributi

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

gli attributi Prov e Numero della relazione gli attributi Prov e Numero della relazione AUTO AUTO

gli attributi ProvB e NumeroB di INCIDENTI e gli attributi ProvB e NumeroB di INCIDENTI e gli attributi Prov e Numero della relazione gli attributi Prov e Numero della relazione AUTO AUTO

L'ordine degli attributi è significativoL'ordine degli attributi è significativo