Basi di dati - Intranet DEIBhome.deib.polimi.it/plebani/download/infoICA1011/L13-14-BasiDati.pdf ·...

38
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2010/2011 Le presenti slide sono tratte dalle slide del libro di testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati (Modelli e Linguaggi di interrogazione 3/ed) McGraw-Hill, 2009 09/12/2010 Basi di dati

Transcript of Basi di dati - Intranet DEIBhome.deib.polimi.it/plebani/download/infoICA1011/L13-14-BasiDati.pdf ·...

Dipartimento di Elettronica ed Informazione Politecnico di Milano

Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani

A.A. 2010/2011

Le presenti slide sono tratte dalle slide del libro di testo Atzeni, Ceri, Paraboschi, Torlone

Basi di dati (Modelli e Linguaggi di interrogazione 3/ed) McGraw-Hill, 2009

09/12/2010

Basi di dati

Gestione delle informazioni

•  Raccolta, acquisizione •  Archiviazione, conservazione •  Elaborazione, trasformazione, produzione •  Distribuzione, comunicazione, scambio

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 2

Gestione delle informazioni •  Nelle attività umane, le informazioni vengono

gestite in forme diverse: – idee informali – linguaggio naturale (scritto o parlato,

formale o colloquiale, in varie lingue) – disegni, grafici, schemi – numeri e codici

•  e su vari supporti – mente umana, carta, dispositivi elettronici

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 3

Gestione delle informazioni •  Nelle attività standardizzate dei sistemi

informativi complessi, sono state introdotte col tempo forme di organizzazione e codifica delle informazioni

•  Ad esempio, nei servizi anagrafici si è iniziato con registrazioni discorsive e poi –  nome e cognome –  estremi anagrafici –  codice fiscale

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 4

Informazioni e dati

•  Nei sistemi informatici (e non solo), le informazioni vengono rappresentate in modo essenziale, spartano: attraverso i dati –  informazione: notizia, dato o elemento che

consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere.

– dato: ciò che è immediatamente presente alla conoscenza, prima di ogni elaborazione; (in informatica) elementi di informazione costituiti da simboli che debbono essere elaborati

(definizioni dal Vocabolario della lingua italiana 1987)

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 5

Informazioni e dati •  Un esempio:

Mario 275 su un foglio di carta sono due dati e non significano molto

•  Se il foglio di carta viene fornito in risposta alla domanda “A chi mi devo rivolgere per il problema X; qual è il suo numero di telefono?”, allora i dati possono essere interpretati per fornire informazione e arricchire la conoscenza

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 6

Perché i dati? •  La rappresentazione precisa di forme più

ricche di informazione e conoscenza è difficile •  I dati costituiscono spesso una risorsa

strategica, perché più stabili nel tempo di altre componenti (processi, tecnologie, ruoli umani): – ad esempio, i dati delle banche o delle anagrafi

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 7

Base di dati

•  Accezione generica, metodologica –  Insieme organizzato di dati utilizzati per il supporto

allo svolgimento delle attività di un ente (azienda, ufficio, persona)

•  Accezione specifica, metodologica e tecnologica –  insieme di dati gestito da un DBMS

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 8

DataBase Management System (DBMS)

•  Sistema che gestisce collezioni di dati: – Grandi:

•  dimensioni (molto) maggiori della memoria centrale dei sistemi di calcolo utilizzati

•  il limite deve essere solo quello fisico dei dispositivi – Persistenti:

•  hanno un tempo di vita indipendente dalle singole esecuzioni dei programmi che le utilizzano

– Condivise: • Ogni organizzazione (specie se grande) è divisa in settori

o comunque svolge diverse attività •  Ciascun settore/attività ha un (sotto)sistema informativo

(non necessariamente disgiunto)

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 9

DBMS •  Prodotti software (complessi) disponibili sul

mercato; esempi: – Access – DB2 – Oracle –  Informix – Sybase – SQLServer

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 10

Modelli dei dati I modelli costituiscono una strutturazione semplificata della realtà che ne

accoglie aspetti specifici e aiuta a comprenderla meglio

Mondo Reale

Modello Concettuale

MODELLI LOGICI

GERARCHICO

RETICOLARE

RELAZIONALE

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 11

Modelli logici dei dati

•  Supportano una descrizione dei dati che puo’ essere elaborata dal sistema (DBMS)

•  Vengono mappati facilmente sulle strutture fisiche di memorizzazione

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 12

Cronologia dei modelli

•  Modello gerarchico (anni 60) •  Modello reticolare (anni 70) •  Modello relazionale (anni 80) •  Modello ad oggetti (anni 90) •  Modello XML (anni 2000)

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 13

Modello gerarchico •  I dati sono rappresentati come record •  Le associazioni tra i dati sono rappresentate

con puntatori in una struttura ad albero

GERARCHICO

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 14

Modello reticolare

•  I dati sono rappresentati come record •  Le associazioni tra i dati sono rappresentate

con puntatori in una struttura a grafo complesso

RETICOLARE

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 15

Modello relazionale •  I dati sono rappresentati come sequenze di

valori di attributi •  Dati caratterizzati dalle stesse sequenze di

attributi sono raggruppati in tabelle •  Le associazioni tra i dati sono ottenute

associando valori di attributi in tabelle diverse

RELAZIONALE

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 16

Dipartimento di Elettronica ed Informazione Politecnico di Milano

Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani

A.A. 2010/2011

Modello relazionale

Definizione informale di relazione

schema colonna

MATR 123

307

415

702

NOME Carlo

Giovanni

Paola

Antonio

CITTA’ Bologna

Milano

Torino

Roma

C-DIP Inf

Log

Inf

Log riga

studente

istanza

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 18

Definizione formale di relazione

•  Dominio D: – un qualunque insieme di valori

•  Prodotto cartesiano su n domini D1xD2x…xDn (non necessariamente distinti): –  insieme delle n-ple (tuple) <d1,d2,...,dn>, con di ∈

Di , 1 ≤ i ≤ n •  Relazione su R D1xD2x…xDn:

– Un qualunque sottoinsieme di D1xD2x…xDn

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 19

Esempio •  Domini

–  D1 = (a,b) –  D2 = (1,2,3)

•  Prodotto cartesiano – D1 x D2 = ( <a,1>, <b,1>, <a,2>, <b,2>,

<a,3>, <b,3> ) •  Esempi di relazioe

– R1 = ( <a,1>, <b,3> ) – R2 = ( <c,1>, <b,3>, <a,2> ) – R3 = ( ) – R4 = ( <a,1>, <b,1>, <a,2>, <b,2>,

<a,3>, <b,3> )

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 20

Proprietà •  Grado della relazione:

–  numero di domini (n) •  Cardinalita della relazione:

– numero di tuple •  Attributo:

– nome dato al dominio in una relazione –  I nomi di attributo in una relazione devono essere

tutti distinti fra loro

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 21

Proprietà

•  Schema (di una relazione): tabella (attributo1,… attributoN) [I nomi delle relazioni in uno schema devono essere

tutti distinti fra loro]

A a b

B 1 3

C c b a

D 1 3 2

R1(A,B) R2(C,D)

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 22

Confronto della terminologia

DEFINIZIONE FORMALE relazione attributo

tupla, n-pla dominio

cardinalita' grado

DEFINIZIONE INFORMALE

tabella colonna

riga tipo di dato

numero di righe numero di colonne

Una differenza significativa

DEFINIZIONE

FORMALE assenza

di duplicati DEFINIZIONE INFORMALE

possibili duplicati

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 23

corso COD-

CORSO 1

2

TITOLO

matematica

informatica

DOCENTE

Barozzi

Meo

Esempio: gestione degli esami universitari (v.1)

esame MATR

123

123

702

COD- CORSO

1

2

2

DATA

7-9-97

8-1-98

7-9-97

VOTO 30

28

20

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 24

studente

MATR

123

415

702

NOME

Carlo

Paola

Antonio

CITTA’

Bologna

Torino

Roma

C-DIP

Inf

Inf

Log

esame MATR

123

123

702

COD- CORSO

1

2

2

DATA

7-9-97

8-1-98

7-9-97

VOTO 30

28

20

corso COD-

CORSO 1

2

TITOLO

matematica

informatica

DOCENTE

Barozzi

Meo

Esempio: gestione degli esami universitari (v.2)

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 25

Interrogazioni 1/2 •  quali professori hanno esaminato Carlo?

studente

MATR

123

415

702

NOME

Carlo

Paola

Antonio

CITTA’

Bologna

Torino

Roma

C-DIP

Inf

Inf

Log

esame MATR

123 123

702

COD- CORSO

1 2

2

DATA

7-9-97 8-1-98

7-9-97

VOTO 30 28

20

corso COD-

CORSO 1 2

TITOLO

matematica

informatica

DOCENTE

Barozzi Meo

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 26

Interrogazioni 2/2

•  quali studenti hanno preso 30 in matematica? studente

MATR

123

415

702

NOME

Carlo

Paola

Antonio

CITTA’

Bologna

Torino

Roma

C-DIP

Inf

Inf

Log

esame MATR

123

123

702

COD- CORSO

1

2

2

DATA

7-9-97

8-1-98

7-9-97

VOTO 30 28

20

corso COD-

CORSO 1

2

TITOLO

matematica informatica

DOCENTE

Barozzi

Meo

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 27

Esempio: gestione del personale

impiegato

MATR

1

2

3

NOME

Piero

Giorgio

Giovanni

DATA-ASS

1-1-95

1-1-97

1-7-96

SALARIO

3 M

2,5 M

2 M

assegnamento MATR

1

1

2

3

NUM-PROG

3

4

3

4

PERC

50

50

100

100

progetto TITOLO

Idea

Wide

TIPO

Esprit

Esprit

MATR-MGR

2

null

2

NUM-PROG

3

4

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 28

Interrogazione 1/2

impiegato

MATR

1

2

3

NOME

Piero

Giorgio

Giovanni

DATA-ASS

1-1-95

1-1-97

1-7-96

SALARIO

3 M

2,5 M

2 M

assegnamento MATR

1

1

2

3

NUM-PROG

3

4

3

4

PERC

50

50

100

100

progetto TITOLO

Idea

Wide

TIPO

Esprit

Esprit

MATR-MGR

2

null

2

NUM-PROG

3

4

•  chi e' il manager di Piero?

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 29

Interrogazioni •  in quali tipi di progetti lavora Giovanni? impiegato

MATR

1

2

3

NOME

Piero

Giorgio

Giovanni

DATA-ASS

1-1-95

1-1-97

1-7-96

SALARIO

3 M

2,5 M

2 M

assegnamento MATR

1

1

2

3

NUM-PROG

3

4

3

4

PERC

50

50

100

100

progetto TITOLO

Idea

Wide

TIPO

Esprit

Esprit

MATR-MGR

2

null

2

NUM-PROG

3

4

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 30

Esempio: ricevuta fiscale

“Da Filippo” Via Roma 23

9100 Chissadove P.I. 012345678

2 coperti 2,10 1 antipasti 3,11 2 primi 8,40 2 orate 25,20 2 caffè 1,60

Totale 39,41

Ricevuta n. 2456 del 16/5/1997

DUE ISTANZE DI RICEVUTA FISCALE

“Da Filippo” Via Roma 23

9100 Chissadove P.I. 012345678

3 coperti 3,15 2 antipasti 6,22 3 primi 12,60 2 bistecche 19,00

Totale 41,98

Ricevuta n. 2369 del 12/5/1997

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 31

Rappresentazione relazionale v.1

NUMERO DATA TOTALE

2369 12/5/1997 41,98 2456 16/5/1997 39,41

ricevute

NUMERO QUANTITA’ DESCRIZIONE IMPORTO

2369 3 coperti 3,15 2369 2 antipasti 6,22 2369 3 primi 12,60 2369 2 bistecche 19,00 2456 2 coperti 2,10 2456 1 antipasti 3,11 2456 2 primi 8,40 2456 2 orate 25,20 2456 2 caffè 1,60

dettaglio

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 32

Rappresentazione relazionale v.2

NUMERO DATA TOTALE

2369 12/5/1997 41,98 2456 16/5/1997 39,41

ricevute

dettaglio

NUMERO RIGA QUANTITA’ DESCRIZIONE IMPORTO

2369 1 3 coperti 3,15 2369 2 2 antipasti 6,22 2369 3 3 primi 12,60 2369 4 2 bistecche 19,00 2456 1 2 coperti 2,10 2456 2 1 antipasti 3,11 2456 3 2 primi 8,40 2456 4 2 orate 25,20 2456 5 2 caffè 1,60

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 33

Come arricchire lo schema

•  VINCOLI DI INTEGRITA': – escludono alcune istanze in quanto non

rappresentano correttamente il mondo applicativo •  CHIAVI

– VINCOLI SUI VALORI NULLI –  INTEGRITA' REFERENZIALE – VINCOLI GENERICI

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 34

Nozione di chiave

•  Sottoinsieme degli attributi dello schema che ha la proprietà di unicità e minimalità

•  unicità: – non esistono due tuple con chiave uguale

•  minimalità: –  sottraendo un qualunque attributo alla chiave si

perde la proprieta' di unicita'

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 35

MATR COD-CORSO DATA VOTO

COD-CORSO TITOLO DOCENTE

studente

corso

esame

MATR NOME CITTA’ C-DIP

Esempio: gestione esami universitari

chiave

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 36

MATR NUM-PROG PERC

NUM-PROG NOME PREZZO

impiegato

progetto

assegnamento

MATR NOME DATA-ASS SALARIO MATR-MIL

Esempio: gestione del personale

chiave

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 37

COD-CLI INDIRIZZO P-IVA

COD-ORD COD-CLI DATA IMPORTO

COD-ORD COD-PROD QTA

COD-PROD NOME PREZZO

cliente

prodotto

dettaglio

ordine

Esempio: gestione ordini

chiave

Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-2 38