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

Informatica Introduzione alle basi di dati Lezione 2 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 2 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:

Informatica

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

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

1 - Introduzione

1a – Introduzione ai basi di dati1b – Insiemi

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

3

Insiemi

Insieme: collezione di elementi L’ordine non è importante

Per esempio:{1,5,3} = {1,3,5}

Un insieme non contiene duplicati Per esempio:

{rosso,verde,rosso} è identificato con {rosso, verde}

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

4

Insiemi

Esempi:

{z | z è un colore primario} = {rosso, blu, giallo}

{y | y è un numero pari tra 5 e 15} = {6, 8, 10, 12, 14}

Caso speciale: = {}, l’insieme vuoto

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

5

Elemento di un’insieme

Per esempio, 1 è un elemento dell’insieme {1,5,3}Per esempio, rosso è un elemento dell’insieme {rosso, verde}

L’elemento z è un elemento di un’insieme A: z in A (oppure zA, z appartiene a A)

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

6

Sottoinsieme

A è un sottoinsieme di B se ogni elemento z in A è anche un elemento di B A è un sottoinsieme di B è scritto A B

Per esempio, {1,3} è un sottoinsieme di {1,5,3}Per esempio, {rosso} è un sottoinsieme di {rosso, verde}

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

7

Prodotto cartesiano

Prodotto cartesiano di due insiemi A e BAxB = {(z1,z2) | z1A e z2B}

dove (z1,z2) sono coppie ordinate di elementi

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

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

8

Prodotto cartesiano

Prodotto cartesiano di n insiemi D1, D2, …, Dn

D1x…xDn = {(z1,…,zn) | z1D1,…, znDn}

dove (z1,…,zn) sono n-uple ordinate di elementi

Page 9: Informatica Introduzione alle basi di dati Lezione 2 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 2 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…xDn

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

11

Unione

Unione di due insiemi A e BAB = {z | zA o zB}

Per esempio: {1,5,3} {4,5,9} = {1,5,4,9,3} {1,5,3} {rosso, verde} =

{1,5,rosso,verde,3}

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

12

Intersezione

Intersezione di due insiemi A e BAB = {z | zA e zB}

Per esempio: {1,5,3} {1,3,8} = {1,3} {rosso, blu} {rosso, verde} = {rosso} {1,5,3} {1} = {1} {1,5,3} {1,5,3} = {1,5,3} {rosso, blu} {verde, giallo} =

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

13

Differenza insiemistica

Differenza insiemistica tra due insiemi A e B

A-B = {z | zA e non zB}

Per esempio: {1,5,3} – {1,3} = {5} {rosso,blu,giallo} – {blu} =

{rosso,giallo}

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

14

Esercizi

1. {10,20,30} {5,10,15,20,25,30,35}?

2. {1,2,35} {1,2,30}?

3. {10,20,30} {z | z è tra 1 e 50}?

4. Che cos’è {1,2,3}x{a,b}?

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

15

Esercizi

5. Che cos’è {0,1}x{a,b}x{rosso,blu}?

6. Che cos’è {0,1} {a,b}?

7. Che cos’è {a,b,c} {a,b}?

8. Che cos’è {a,b,c} {a,b}?

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

16

Esercizi

9. Che cos’è {1,2,3} {a,b}?

10.Che cos’è {1,2,3} – {3}?

11.Che cos’è {1,2,3} – {1,2,3}?

12.Che cos’è {1,2,3} – {a,b}?

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

17

Esercitazioni

13.(2,3) {1,2,3} x {a,b}?

14.(1,b) {1,2,3} x {a,b}?

15.(1,b,blu) {1,2,3} x {a,b} x {rosso,blu}?

16.{(1,b,a), (3,a,a)} {1,2,3} x {a,b} x {a,b}?

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

2 - Metodologie e modelli per il progetto

Modello Entità-Relazione

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

19

Introduzione alla progettazione

Il problema: progettare una base di base di dati a partire da requisiti sulla realtà di interesseProgettare: definire la struttura, caratteristiche e contenuto

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

20

Il ciclo di vita dei sistemi informativi

La progettazione costituisce solo una delle componenti del processo di sviluppo Va inquadrato in un contesto più

ampio: il ciclo di vita dei sistemi informativi

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

21

Il ciclo di vita dei sistemi informativi

Studio di fattibilità

Raccolta e analisi dei requisiti

Progettazione

Implementazione

Validazione e collaudo

Funzionamento

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

22

Il ciclo di vita dei sistemi informativi

Studio di fattibilità: definire i costi delle varie alternative possibiliRaccolta e analisi dei requisiti: individuazione delle proprietà e delle funzionalità che il sistema dovrà avereProgettazione: dei dati (la struttura e l’organizzazione che i dati dovranno avere) e delle applicazioni (le caratteristiche dei programmi applicativi)

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

23

Il ciclo di vita dei sistemi informativi

Implementazione: realizzazione del sistema informativoValidazione e collaudo: serve a verificare il corretto funzionamento e la qualità del sistema informativoFunzionamento: il sistema informativo diventa operativo

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

24

Il ciclo di vita dei sistemi informativi

Il processo non è quasi mai strettamente sequenziale ciclo

Focalizzeremo attenzione sulla terza fase del ciclo di vita: progettazione (dei dati)

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

25

Metodologie di progettazione

Nell’ambito delle basi di dati: separare in maniera netta le decisioni relative a “cosa” rappresentare in una base di dati da quelle relative a “come” farlo Cosa: prima fase (progettazione

concettuale) Come: seconda e terza fase

(progettazione logica e fisica)

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

26

Metodologie di progettazione

Progettazione concettuale Fa riferimento a un modello

concettuale dei dati I modelli concettuali ci consentono di

descrivere l’organizzazione dei dati a un alto livello di astrazione

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

27

Metodologie di progettazione

Progettazione logica Traduzione dello schema concettuale nel

modello di rappresentazione dei dati Fa riferimento a un modello logico dei dati Modello logico: indipendente dagli dettagli

fisici, ma concreta

Progettazione fisica Fa riferimento a un modello fisico dei dati Modello fisico: dipende dallo specifico

sistema di gestione di basi di dati scelto

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

28

GuyguyguyguyguHvvvuvuvuvFvvvuvuvuvuVvyuvuyvuvuVyuvuyvuyvuVyuvuyvuo

Progettazioneconcettuale

Progettazionelogica

Progettazionefisica

ModelloEntità-Relazionale

Relazioni/tabelle

Livello fisica(memorizzazione)

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

29

Modello Entità-Relazione

Il modello Entità-Relazione è un modello concettuale dei datiFornisce una serie di strutture (costrutti) atte a descrivere la realtà di interesse, ovvero per la descrizione dell’organizzazione dei dati a un alto livello di astrazione

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

30

Modello Entità-Relazione

Entità: rappresentano classi di oggetti che hanno proprietà comuni ed esistenza “autonoma” ai fini dell’applicazione di interesse Per esempio: Città, Dipartimento,

Impiegato, Acquisto e Vendita (nel contesto di un’applicazione aziendale)

Una occorrenza di una entità è un oggetto della classe che l’entità rappresenta

Per esempio: Torino è un esempio di occorrenze dell’entità Città

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

31

Modello Entità-Relazione

Entità: Una occorrenza di entità non è un valore

che identifica un oggetto (p.e. nome, codice fiscale, …) ma l’oggetto stesso

Questa è una differenza rispetto al modello relazionale (nel quale non possiamo rappresentare un oggetto senza conoscere alcune sue proprietà)

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

32

Modello Entità-Relazione

Entità: Ogni entità ha un nome che la

identifica univocamente

Impiegato Dipartimento

Città

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

33

Modello Entità-Relazione

Relazione (o associazioni): Rappresentano legami logici tra due o più

entità Per esempio:

Residenza: tra le entità Città e Impiegato Esame: tra le entità Studente e Corso

Un occorrenza di relazione è una n-upla costituita da occorrenza di entità

Per esempio: Residenza: (Bologna, Rossi); oppure (Firenze, Verdi)

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

34

Modello Entità-Relazione

Relazione (o associazioni): Ogni relazione ha un nome che la

identifica univocamente Graficamente: un rombo, e linee che

connettono la relazione con ciascuna delle sue componenti

Studente CorsoEsame

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

35

Modello Entità-Relazione

Esempi di occorrenze della relazione Esame (Mario Rossi, Psicologia), (Franco Verdi, Psicologia),

Studente CorsoEsame

s1

s2 s3

s4

c3

c1

c2

e1

e2

e3

e4

e5Studente Corso

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

36

Modello Entità-Relazione

Esempi di occorrenze della relazione Esame (Mario Rossi, Psicologia), (Franco Verdi, Psicologia),

Studente CorsoEsame

Mario Rossi

Studente Corso

Psicologia(Mario Rossi, Psicologia)

Franco Verdi

(Franco Verdi, Psicologia)

Biologia(Franco Verdi, Biologia)

Giulia Nero (Giulia Nero, Biologia)

Francesca Bianco

Economia(Francesca Bianco, Economia)

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

37

Modello Entità-Relazione

Relazione (o associazioni): Possono esistere relazioni diverse che

coinvolgono le stesse entità

Impiegato CittàResidenza

Sede di lavoro

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

38

Modello Entità-Relazione

Relazione (o associazioni): È possibile avere relazione tra una

entità e se stessa

Impiegato

Collega

Sovrano

Successione

Predecessore Successore

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

39

Modello Entità-Relazione

Relazione (o associazioni): È possibile avere relazione che

coinvolgono più di due entità

Dipartimento

Fornitura ProdottoFornitore