Basi di Dati Spaziali - users.dimi.uniud. · PDF fileBruni Mario DOCENTE 04 02 01 CODICE 30 27...

Click here to load reader

  • date post

    15-Feb-2019
  • Category

    Documents

  • view

    213
  • download

    0

Embed Size (px)

Transcript of Basi di Dati Spaziali - users.dimi.uniud. · PDF fileBruni Mario DOCENTE 04 02 01 CODICE 30 27...

1

Corso di

Basi di Dati Spaziali

Angelo Montanari

Donatella Gubiani

Modello logico

2

Modelli logici

Permettono una rappresentazione astratta dei dati

La maggior parte dei sistemi di basi di dati oggi sul mercato si basa sul modello relazionale

3

Il modello relazionale

Proposto da E. F. Codd nel 1970 per favorire lindipendenza dei dati

Disponibile in DBMS reali nel 1981 (non facile coniugare lindipendenza con lefficienza e laffidabilit!)

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

Le relazioni hanno una naturale rappresentazione per mezzo di tabelle

4

Relazione matematica

Dati n insiemi (anche non distinti) D1,,Dnprodotto cartesiano D1Dn: linsieme di tutte le n-uple (d1, , dn) tali che d1D1, , dn Dn

relazione matematica su D1, , Dn: un sottoinsieme di D1Dn

5

Definizioni

D1, , Dn sono i domini (o tipi di dato) della relazione possono essere definiti a prescindere dalle tabelle

n il grado della relazione cambia molto raramente se lo schema ben fatto

Il numero di tuple della relazione la cardinalit della relazione varia frequentemente

ogni tabella ha cardinalit finita6

Esempio di relazione matematica

una relazioner D1 D2

zb

yb

xb

za

ya

xa

D1={a,b}

D2={x,y,z}

prodotto cartesiano D1D2

za

ya

xa

2

7

Propriet

Una relazione matematica un insieme di n-uple ordinate

(d1, , dn) tali che d1D1, , dn Dn

Una relazione un insieme

le n-uple sono distinte

non c' ordinamento fra le n-uple

8

Struttura posizionale

Ciascuno dei domini svolge due ruolidiversi, distinguibili attraverso la posizione

Partite string string int int

Milan

Roma

Milan

Lazio

0

0

2

3

1Roma

2Juve

0Lazio

1Juve

PARTITE

9

Struttura non posizionale

A ciascun dominio si pu associareun nome (attributo)

danno significato (ruolo)

possono portare problemi nella formalizzazione

RETI_FUORIRETI_CASAFUORICASA

Milan

Roma

Milan

Lazio

0

0

2

3

1Roma

2Juve

0Lazio

1Juve

PARTITE

10

Il modello basatosu valori

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

11

STUDENTI

CORSI

ESAMI

Chimica

Chimica

Analisi

TITOLO

Verdi

Bruni

Mario

DOCENTE

04

02

01

CODICE

01306554

27

26

28

VOTO

01

02

04

CORSO

9283

3456

3456

STUDENTE

01/02/1984AlessandraRossi3456

Maria

Marco

Paolo

NOME

Verdi

Neri

Rossi

COGNOME

12/10/1979

03/11/1981

05/12/1983

NASCITA

9283

8765

6554

MATRICOLA

12

STUDENTI

CORSI

ESAMI

Chimica

Chimica

Analisi

TITOLO

Verdi

Bruni

Mario

DOCENTE

04

02

01

CODICE

30

27

26

28

VOTO CORSOSTUDENTE

01/02/1984AlessandraRossi3456

Maria

Marco

Paolo

NOME

Verdi

Neri

Rossi

COGNOME

12/10/1979

03/11/1981

05/12/1983

NASCITA

9283

8765

6554

MATRICOLA

3

13

Struttura basata su valori: vantaggi

Rispetto ai modelli basati su record e puntatori: richiede di rappresentare solo ci che rilevante dal punto di vista dellapplicazione

la rappresentazione logica non fa nessun riferimento a quella fisica

relativamente semplice il trasferimento da un calcolatore ad unaltro

A livello fisico i dati possono essere rappresentati secondo modalit che prevedono luso di puntatori

14

Definizioni e notazioni - 1

Schema di relazione:

un nome R con un insieme di attributi

X = {A1, ..., An}:

R(X) = R(A1,..., An)

Schema di base di dati:

insieme di schemi di relazione:

R = {R1(X1), ..., Rk(Xk)}

15

Definizioni e notazioni - 2

Una n-pla su un insieme di attributi X una funzione che associa a ciascun attributo A in Xun valore del dominio di A

t[X] denota il valore della ennupla t sullinsieme di attributi X

t[A] denota il valore della ennupla t sull'attributo A

16

Definizioni e notazioni - 3

Istanza di relazione su uno schema

R(X) un insieme r di ennuple su X

r(R) o rR(X)

Istanza di base di dati su uno schema

R= {R1(X1), ..., Rn(Xn)} un insieme

di istanze di relazioni r = {r1,..., rn}

(con ri relazione su Ri)

17

Strutture nidificate

Da Filippo

Via Roma 2, Roma

Ricevuta Fiscale

1235 del 12/10/2000

3 Coperti 3,00

2 Bistecche 18,00

3 Primi 12,00

2 Antipasti 6,20

Totale 39,20

Da Filippo

Via Roma 2, Roma

Ricevuta Fiscale

1240 del 13/10/2000

2 Coperti 2,00

2 Orate 20,00

2 Primi 8,00

2 Antipasti 7,00

2 Caff 2,00

Totale 39,0018

Relazioni che rappresentano strutture nidificate

13/10/2000

12/10/2000

DATA

39,00

39,20

TOTALE

1240

1235

NUMERORICEVUTE

DETTAGLIO

2,00Coperti21240

18,00Bistecche21235

12,00Primi31235

Antipasti

Coperti

DESCRIZIONE

2

3

Q.TA

6,20

3,00

IMPORTO

1235

1235

NUMERO

4

19

Strutture nidifcate, riflessione

Abbiamo rappresentato veramente tuttigli aspetti delle ricevute?

Dipende da che cosa ci interessa! l'ordine delle righe rilevante?

possono esistere linee ripetute in unaricevuta?

Sono possibili rappresentazioni diverse?

20

Rappresentazione alternativa per strutture nidificate

13/10/2000

12/10/2000

DATA

39,00

39,20

TOTALE

1240

1235

NUMERORICEVUTE

DETTAGLIO

1

4

3

2

1

RIGA

2,00Coperti21240

18,00Bistecche21235

12,00Primi31235

Antipasti

Coperti

DESCRIZIONE

2

3

Q.TA

6,20

3,00

IMPORTO

1235

1235

NUMERO

21

Informazione incompleta - 1

Piazza S.Lorenzo, 5 Trieste

Via Roma, 15 Udine

INDIRIZZO

BianchiMaria

Rossi

Verdi

COGNOME

043244567

TELEFONO

Antonio

Marco

NOME

22

Informazione incompleta - 2

Non conviene (anche se spesso si fa) usare valori del dominio (0, stringa nulla, 99, ...)

Tecnica rudimentale ma efficace: valore nullo: denota lassenza di un valore del dominio (e non un valore del dominio)

t[A], per ogni attributo A, un valore del dominio dom(A) oppure il valore nullo NULL

Si possono (e debbono) imporre restrizioni sulla presenza di valori nulli

23

Tipi di valore nullo

(Almeno) Tre casi differenti

valore sconosciuto/non disponibile

valore non esistente

valore senza informazione

I DBMS non distinguono i tipi di valore nullo

24

Basi di dati scorrette

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

5

25

AntonioBianchi787643

Neri

Rossi

COGNOME

Maria

Paolo

NOME

787643

276545

MATRICOLA

Base di dati scorretta

0424739430

03e lode27787643

e lode

LODE

30

32

VOTO

02

01

CORSO

276545

276545

STUDENTEESAMI

STUDENTI

787643

787643

32

27 e lode

739430

26

Vincolo di integrit

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

I diversi vincoli possono essere classificazione a seconda degli elementi coinvolti: vincoli intrarelazionali

vincoli interrelazionali

27

Vincoli intrarelazionali

I vincoli intrarelazionali sono definitirispetto a singole relazioni

Si distinguono: vincoli di tupla

vincoli che coinvolgono pi tuple

28

Vincoli di tupla - 1

I vincoli di tupla sono vincoli chepossono essere valutati allinterno di ogni singola tupla, indipendentementedalle altre tuple

Possono essere relativi ad un singoloattributo vincoli di dominio

(Voto18) AND (Voto30)

29

Vincoli di tupla - 2

vincolo NOT NULL

Matricola IS NOT NULL

Possono coinvolgere diversi attributi

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

30

Vincolo di chiave

Il vincolo intrarelazionalefondamentale per il modellorelazionale il vincolo di