1 / 26

Informatica

Informatica. Introduzione alle basi di dati Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico: 2005-2006. 3 - Il modello relazionale. Il modello relazionale. Modello logico dei dati basato su concetti relazione e tabella

lucio
Télécharger la présentation

Informatica

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 3 - Il modello relazionale

  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. 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. Relazioni e tabelle • Domini: per esempio • I numeri naturali tra 1 e 50 compresi • Le frase che contengono 255 carattere o meno

  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. 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. Relazioni e tabelle • Relazioni rappresentate graficamente come tabelle

  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. 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. Relazioni e tabelle • Relazione {(0,b,blu), (1,a,rosso), (1,b,rosso), (1,b,blu)} rappresentata graficamente come tabella

  12. Relazioni e tabelle • Per esempio: risultati partite di calcio

  13. Relazioni e tabelle • Per esempio: risultati partite di calcio Sequenza di carattere (stringa) Numero naturale (intero)

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

  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. 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. 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. 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. Relazioni con attributi

  20. Relazioni con attributi D1 D2 D3 D4 Ordinamento di colonne diventa irrilevante: Non serve più parlare di primo dominio, etc.

  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 D7 X D A3 DOM

  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. 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. 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. Relazioni con attributi: esempio • t1, t2, t3, t4: tuple • t1[SquadraDiCasa]=Juventus • t1[SquadraOspitata]=Lazio • t1[RetiCasa]=3 • t1[RetiOspitata]=2

  26. Relazioni con attributi: esempio • t1, t2, t3, t4: tuple • t2[SquadraDiCasa]=Lazio • t2[SquadraOspitata]=Milan • t2[RetiCasa]=2 • t2[RetiOspitata]=0

More Related