Basi di dati - inf.uniroma3.itatzeni/didattica/BDN/20172018/BD-02-2017...09/10/2017 Atzeni -Basi di...

24
Basi di dati IL MODELLO RELAZIONALE Figure ed esempi 09/10/2017 Atzeni - Basi di dati - Modello relazionale, figure ed esempi 1

Transcript of Basi di dati - inf.uniroma3.itatzeni/didattica/BDN/20172018/BD-02-2017...09/10/2017 Atzeni -Basi di...

Basi di dati

IL MODELLO RELAZIONALEFigure ed esempi

09/10/2017 Atzeni - Basi di dati - Modello relazionale, figure ed esempi

1

09/10/2017 Atzeni - Basi di dati - Modello relazionale, figure ed esempi

2

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

09/10/2017 Atzeni - Basi di dati - Modello relazionale, figure ed esempi

3

Relazione matematica, esempio

• una relazione r Í D1 × D2

aaab

bb

xyzxyz

aab

xzy

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

09/10/2017 Atzeni - Basi di dati - Modello relazionale, figure ed esempi

4

Relazione matematica, esempio

3200

1021

ManchesterArsenal

ManchesterChelsea

ArsenalLiverpoolChelseaLiverpool

Partite Í string × string× int× int

09/10/2017 Atzeni - Basi di dati - Modello relazionale, figure ed esempi

5

Struttura non posizionale

3200

1021

ManchesterArsenal

ManchesterChelsea

ArsenalLiverpoolChelseaLiverpool

RetiCasa RetiFuoriCasa Fuori

09/10/2017 Atzeni - Basi di dati - Modello relazionale, figure ed esempi

6

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

09/10/2017 Atzeni - Basi di dati - Modello relazionale, figure ed esempi

7

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 Corso302428

esami

26

09/10/2017 Atzeni - Basi di dati - Modello relazionale, figure ed esempi

8

Informazione incompleta

Mario 34RomaNome EtàUfficio

Luca MilanoPiero 42Firenze

09/10/2017 Atzeni - Basi di dati - Modello relazionale, figure ed esempi

9

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 nulli

09/10/2017 Atzeni - Basi di dati - Modello relazionale, figure ed esempi

10

Una base di dati "scorretta"

Studente Voto Lode Corso32 01276545

276545 30 e lode 02787643 27 e lode 03739430 24 04

Esami

Matricola276545787643787643

CognomeRossiNeri

Bianchi

NomeMarioPieroLuca

Studenti

787643787643

27 e lode

09/10/2017 Atzeni - Basi di dati - Modello relazionale, figure ed esempi

11

Vincoli di ennupla, altro esempio

ImpiegatoRossiNeriBruni

Stipendi Lordo55.00045.00047.000

Netto42.50035.00036.000

Ritenute12.50010.00011.000

Ritenute > 0Lordo = (Ritenute + Netto)

09/10/2017 Atzeni - Basi di dati - Modello relazionale, figure ed esempi

12

Vincoli di ennupla, violazione

ImpiegatoRossiNeriBruni

Stipendi Lordo55.00045.00050.000

Netto42.50035.00036.000

Ritenute12.50010.00011.000

Lordo = (Ritenute + Netto)

09/10/2017 Atzeni - Basi di dati - Modello relazionale, figure ed esempi

13

Identificazione delle ennuple

• non ci sono due ennuple con lo stesso valore sull’attributo Matricola

Matricola276557876365432

NomeMario

PieroMario87654

67653

Mario

CognomeRossi

NeriNeri

Rossi

Rossi Piero

CorsoIng Inf

Ing MeccIng Inf

Ing Inf

Ing Mecc

Nascita5/12/78

10/7/793/11/76

3/11/76

5/12/78

09/10/2017 Atzeni - Basi di dati - Modello relazionale, figure ed esempi

14

Più chiavi

Matricola

2765578763

65432

Nome

Mario

PieroMario87654

67653

Mario

Cognome

Rossi

NeriNeri

Rossi

Rossi Piero

Corso

Ing Inf

Ing MeccIng Inf

Ing Inf

Ing Mecc

CF

RSSMRI83...

NRIPTR85...NRIMRI79...

RSSMRI84...

RSSPRI89...

09/10/2017 Atzeni - Basi di dati - Modello relazionale, figure ed esempi

15

Chiave su più attributi

Studente Voto Corso3456 30 043456 30 029283 26 01

esami

6554 26 01

09/10/2017 Atzeni - Basi di dati - Modello relazionale, figure ed esempi

16

• La presenza di valori nulli, soprattutto nelle chiavi, deve essere limitata o almeno controllata

Matricola

NULL

78763

65432

Nome

Mario

NULL

MarioNULL

67653

Mario

Cognome

Rossi

NeriNeri

Rossi

Rossi Piero

Corso

Ing Inf

Ing MeccIng Inf

Ing Inf

Ing Mecc

CF

RSSMRI83...

NRIPTR85...NRIMRI79...

NULL

RSSPRI89...

09/10/2017 Atzeni - Basi di dati - Modello relazionale, figure ed esempi

17

Chiave primaria

• Chiave su cui non sono ammessi nulli• Notazione: sottolineatura

Matricola

2765578763

65432

Nome

Mario

NULL

Mario87654

67653

Mario

Cognome

Rossi

NeriNeri

Rossi

Rossi Piero

Corso

Ing Inf

Ing MeccIng Inf

Ing Inf

Ing Mecc

CF

RSSMRI83...

NRIPTR85...NRIMRI79...

NULL

RSSPRI89...

09/10/2017 Atzeni - Basi di dati - Modello relazionale, figure ed esempi

18

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

09/10/2017 Atzeni - Basi di dati - Modello relazionale, figure ed esempi

19

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

09/10/2017 Atzeni - Basi di dati - Modello relazionale, figure ed esempi

20

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

09/10/2017 Atzeni - Basi di dati - Modello relazionale, figure ed esempi

21

Strutture nidificateDa Filippo

Via Roma 2, RomaRicevuta Fiscale

1235 del 12/10/20023 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/20022 Coperti 2,00

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

2 Caffè 2,00

Totale 39,00

09/10/2017 Atzeni - Basi di dati - Modello relazionale, figure ed esempi

22

Relazioni che rappresentano strutture nidificate, con le chiavi

1235

3 Coperti 3,00

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

39,2012/10/2002Numero TotaleData

1240 39,0013/10/2002

Ricevute

Dettaglio Qtà Descrizione Importo1235

Numero

1240

123512351235

2 Coperti 2,00… … … …

09/10/2017 Atzeni - Basi di dati - Modello relazionale, figure ed esempi

23

Rappresentazione alternativa per strutture nidificate

1235

3 Coperti 3,00

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

39,2012/10/2002Numero TotaleData

1240 39,0013/10/2002

Ricevute

Dettaglio Qtà Descrizione Importo1235

Numero

1240

123512351235

2 Coperti 2,00… … … …

1

432

Riga

1…

09/10/2017 Atzeni-Ceri-Fraternali-Paraboschi-Torlone, Basi di dati, Capitolo 2

24

Rappresentazione alternativa per strutture nidificate, altra possibilità

1235

3 Coperti 3,00

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

39,2012/10/2002Numero TotaleData

1240 39,0013/10/2002

Ricevute

Dettaglio Qtà Descrizione Importo1235

Numero

1240

123512351235

2 Coperti 2,00… … … …

1

432

Riga

1…

11ID

15

121314