26
Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico: 2005-2006

Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

Embed Size (px)

Citation preview

Page 1: Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

Informatica

Introduzione alle basi di datiLezione 4Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistraleAnno accademico: 2005-2006

Page 2: Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

3 - Il modello relazionale

Page 3: Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

3

Il modello relazionale

Modello logico dei dati basato su concetti relazione e tabella Relazione: da teoria degli insiemi Tabella: rappresentazione grafica di

una relazione; un concetto intuitivo

Page 4: Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

4

Il modello relazionale

Garantisce indipendenza dei dati Utenti che accedono ai dati e

programmatori che sviluppano applicazioni fanno riferimento al livello logico dei dati

Cioè, agli utenti e ai programmatori, non serve sapere come i dati sono memorizzati fisicamente

Page 5: Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

5

Relazioni e tabelle

Domini: per esempio I numeri naturali tra 1 e 50 compresi Le frase che contengono 255

carattere o meno

Page 6: Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

6

Relazioni e tabelle

Assumiamo che i DB siano costituiti da relazioni finite su domini eventualmente infinitiFinito o infinito? Per esempio: {z|z è un numero naturale} è un insieme

infinito {y|y è un numero naturale tra 1 e 50

compresi} è un insieme finito {x|x è una frase che contiene 255 carattere o

meno} è un insieme finito

Page 7: Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

7

Relazioni e tabelle

In un DB non possono esserci insiemi infiniti Sistemi di calcolo gestiscono solo

insiemi finiti

Ma è utile ammettere domini infiniti per permettere ad ogni istante di assumere esistenza di un valore non presente nel DB

Page 8: Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

8

Relazioni e tabelle

Relazioni rappresentate graficamente come tabelle

1 a

1 b

4 b

Page 9: Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

9

Relazione matematica

Relazione matematica su insiemi A e B (domini della relazione) = sottoinsieme di AxB

Per esempio: AxB = {(1,a),(1,b),(2,a),(2,b),(4,a),(4,b)}

Una relazione matematica su insieme A e B potrebbe essere:

R={(1,a),(1,b),(4,b)}

Page 10: Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

10

Relazione matematica

Relazione matematica sugli insiemi D1,…,Dn (domini della relazione)

= un sottoinsieme di D1x…xDnPer esempio: un relazione sugli insiemi {0,1}, {a,b}, {rosso,blu} potrebbe essere

{(0,b,blu), (1,a,rosso), (1,b,rosso), (1,b,blu)}

Page 11: Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

11

Relazioni e tabelle

Relazione {(0,b,blu), (1,a,rosso), (1,b,rosso), (1,b,blu)} rappresentata graficamente come tabella

0 b blu

1 a rosso

1 b rosso

1 b blu

Page 12: Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

12

Relazioni e tabelle

Per esempio: risultati partite di calcio

Juventus Lazio 3 2

Lazio Milan 2 0

Juventus Roma 2 1

Roma Milan 1 2

Page 13: Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

13

Relazioni e tabelle

Per esempio: risultati partite di calcio

Juventus Lazio 3 2

Lazio Milan 2 0

Juventus Roma 2 1

Roma Milan 1 2

Sequenza di carattere (stringa)

Numero naturale (intero)

Page 14: Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

14

Relazioni e tabelle

Per esempio: risultati partite di calcio

Juventus Lazio 3 2

Lazio Milan 2 0

Juventus Roma 2 1

Roma Milan 1 2

Sequenza di carattere (stringa)

Numero naturale (intero)

Questa relazione: un sottoinsieme di Stringa x Stringa x Intero x Intero

Page 15: Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

15

Relazioni e tabelle

n-upla di relazione contiene dati tra loro collegati, che verificano la relazionen-uple sono ordinate: ordine dei loro elementi è significativo Per esempio: (Juventus,Lazio,3,2) significa

che il risultato della partita Juventus-Lazio, giocata in casa dalla Juventus, è 3 a 2

Page 16: Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

16

Relazioni e tabelle

Una relazione è un insieme: n-uple della relazione devono essere

distinte (no righe ripetute in tabella) n-uple non sono tra loro ordinate (tabelle

con stesse righe ordinate in modo diverso rappresentano la stessa relazione)

Insieme: collezione di elementiL’ordine degli elementi non è importanteUn insieme non contiene duplicati

Page 17: Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

17

Relazioni con attributi

Ordinamento dei domini di una relazione impone ordinamento posizionale degli elementi di n-upleNella gestione di dati, preferenza per ordinamenti non posizionali … in cui si può far riferimento alle

componenti delle n-uple in modo non ambiguo

Page 18: Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

18

Relazioni con attributi

In una relazione, ogni dominio rappresenta un ruolo o attributo Usiamo nome di attributo per identificare le

rispettive componenti delle n-uple In una tabelle: attributo intestazione di

colonne della tabella

Per esempio: SquadraDiCasa, SquadraOspitata, RetiCasa,

RetiOspitata

Page 19: Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

19

Relazioni con attributi

SquadraDiCasa

SquadraOspitata

RetiCasa

RetiOspitata

Juventus Lazio 3 2

Lazio Milan 2 0

Juventus Roma 2 1

Roma Milan 1 2

Page 20: Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

20

Relazioni con attributiD1 D2 D3 D4

Ordinamento di colonne diventa irrilevante: Non serve più parlare di primo dominio, etc.

SquadraDiCasa

SquadraOspitata

RetiCasa

RetiOspitata

Juventus Lazio 3 2

Lazio Milan 2 0

Juventus Roma 2 1

Roma Milan 1 2

Page 21: Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

21

Relazioni con attributiDati insieme di attributi X={A1,…,An} e insieme di domini D={D1,…,Dm} Stabiliamo corrispondenza tra attributi e

domini mediante funzione DOM: X D Cioè, la funzione DOM associa a ciascun

attributo AX un dominio DOM(A) D

X DA3D7

DOM

Page 22: Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

22

Relazioni con attributi

Tupla su insieme di attributi X è una funzione t che associa a ciascun attributo AX un valore del dominio DOM(A) Per esempio, tupla t, valore per l’attributo

SquadraDiCasa: t[SquadraDiCasa]=Juventus

Relazione (con attributi) su X è insieme di tuple su Xn-uple: elementi individuati per posizioneTuple: elementi individuati per attributo

Page 23: Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

23

Relazioni con attributi: esempio

DOM:{SquadraDiCasa, SquadraOspitata, Reti Casa, RetiOspitata} {Stringa, Intero}Cioè: Insieme di attributi X = {SquadraDiCasa,

SquadraOspitata, Reti Casa, RetiOspitata} Insieme di attributi D = {Stringa, Intero}

Page 24: Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

24

Relazioni con attributi: esempio

DOM:{SquadraDiCasa, SquadraOspitata, Reti Casa, RetiOspitata} {Stringa, Intero} DOM(SquadraDiCasa) = Stringa DOM(SquadraOspitata) = Stringa DOM(Reti Casa) = Intero DOM(RetiOspitata) = Intero

Page 25: Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

25

Relazioni con attributi: esempio

t1, t2, t3, t4: tuple t1[SquadraDiCasa]=Juventus t1[SquadraOspitata]=Lazio t1[RetiCasa]=3 t1[RetiOspitata]=2

SquadraDiCasa

SquadraOspitata

RetiCasa

RetiOspitata

Juventus Lazio 3 2

Lazio Milan 2 0

Juventus Roma 2 1

Roma Milan 1 2

Page 26: Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

26

Relazioni con attributi: esempio

t1, t2, t3, t4: tuple t2[SquadraDiCasa]=Lazio t2[SquadraOspitata]=Milan t2[RetiCasa]=2 t2[RetiOspitata]=0

SquadraDiCasa

SquadraOspitata

RetiCasa

RetiOspitata

Juventus Lazio 3 2

Lazio Milan 2 0

Juventus Roma 2 1

Roma Milan 1 2