La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "Informatica Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:"— Transcript della presentazione:

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

2 3 - Il modello relazionale

3 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

4 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

5 5 Relazioni e tabelle Domini: per esempio I numeri naturali tra 1 e 50 compresi Le frase che contengono 255 carattere o meno

6 6 Relazioni e tabelle Assumiamo che i DB siano costituiti da relazioni finite su domini eventualmente infiniti Finito 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

7 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

8 8 Relazioni e tabelle Relazioni rappresentate graficamente come tabelle 1a 1b 4b

9 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)}

10 10 Relazione matematica Relazione matematica sugli insiemi D1,…,Dn (domini della relazione) = un sottoinsieme di D1x…xDn Per 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)}

11 11 Relazioni e tabelle Relazione {(0,b,blu), (1,a,rosso), (1,b,rosso), (1,b,blu)} rappresentata graficamente come tabella 0bblu 1arosso 1b 1bblu

12 12 Relazioni e tabelle Per esempio: risultati partite di calcio JuventusLazio32 Milan20 JuventusRoma21 Milan12

13 13 Relazioni e tabelle Per esempio: risultati partite di calcio JuventusLazio32 Milan20 JuventusRoma21 Milan12 Sequenza di carattere (stringa) Numero naturale (intero)

14 14 Relazioni e tabelle Per esempio: risultati partite di calcio JuventusLazio32 Milan20 JuventusRoma21 Milan12 Sequenza di carattere (stringa) Numero naturale (intero) Questa relazione: un sottoinsieme di Stringa x Stringa x Intero x Intero

15 15 Relazioni e tabelle n-upla di relazione contiene dati tra loro collegati, che verificano la relazione n-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

16 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 elementi  L’ordine degli elementi non è importante  Un insieme non contiene duplicati

17 17 Relazioni con attributi Ordinamento dei domini di una relazione impone ordinamento posizionale degli elementi di n-uple Nella gestione di dati, preferenza per ordinamenti non posizionali … in cui si può far riferimento alle componenti delle n-uple in modo non ambiguo

18 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

19 19 Relazioni con attributi SquadraDiCasaSquadraOspitataRetiCasaRetiOspitata JuventusLazio32 Milan20 JuventusRoma21 Milan12

20 20 Relazioni con attributi D1D2D3D4 Ordinamento di colonne diventa irrilevante: Non serve più parlare di primo dominio, etc. SquadraDiCasaSquadraOspitataRetiCasaRetiOspitata JuventusLazio32 Milan20 JuventusRoma21 Milan12

21 21 Relazioni con attributi Dati 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 A  X un dominio DOM(A)  D XD A3 D7 DOM

22 22 Relazioni con attributi Tupla su insieme di attributi X è una funzione t che associa a ciascun attributo A  X 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 X n-uple: elementi individuati per posizione Tuple: elementi individuati per attributo

23 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}

24 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

25 25 Relazioni con attributi: esempio t1, t2, t3, t4: tuple t1[SquadraDiCasa]=Juventus t1[SquadraOspitata]=Lazio t1[RetiCasa]=3 t1[RetiOspitata]=2 SquadraDiCasaSquadraOspitataRetiCasaRetiOspitata JuventusLazio32 Milan20 JuventusRoma21 Milan12

26 26 Relazioni con attributi: esempio t1, t2, t3, t4: tuple t2[SquadraDiCasa]=Lazio t2[SquadraOspitata]=Milan t2[RetiCasa]=2 t2[RetiOspitata]=0 SquadraDiCasaSquadraOspitataRetiCasaRetiOspitata JuventusLazio32 Milan20 JuventusRoma21 Milan12


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

Presentazioni simili


Annunci Google