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 dati 1b – Insiemi
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}
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
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 z A, z appartiene a A)
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}
7 Prodotto cartesiano Prodotto cartesiano di due insiemi A e B AxB = {(z1,z2) | z1 A e z2 B} 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)}
8 Prodotto cartesiano Prodotto cartesiano di n insiemi D1, D2, …, Dn D1x…xDn = {(z1,…,zn) | z1 D1,…, zn Dn} dove (z1,…,zn) sono n-uple ordinate di elementi
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
11 Unione Unione di due insiemi A e B A B = {z | z A o z B} Per esempio: {1,5,3} {4,5,9} = {1,5,4,9,3} {1,5,3} {rosso, verde} = {1,5,rosso,verde,3}
12 Intersezione Intersezione di due insiemi A e B A B = {z | z A e z B} 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} =
13 Differenza insiemistica Differenza insiemistica tra due insiemi A e B A-B = {z | z A e non z B} Per esempio: {1,5,3} – {1,3} = {5} {rosso,blu,giallo} – {blu} = {rosso,giallo}
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}?
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}?
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}?
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}?
2 - Metodologie e modelli per il progetto Modello Entità-Relazione
19 Introduzione alla progettazione Il problema: progettare una base di base di dati a partire da requisiti sulla realtà di interesse Progettare: definire la struttura, caratteristiche e contenuto
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
21 Il ciclo di vita dei sistemi informativi Studio di fattibilità Raccolta e analisi dei requisiti Progettazione Implementazione Validazione e collaudo Funzionamento
22 Il ciclo di vita dei sistemi informativi Studio di fattibilità: definire i costi delle varie alternative possibili Raccolta e analisi dei requisiti: individuazione delle proprietà e delle funzionalità che il sistema dovrà avere Progettazione: dei dati (la struttura e l’organizzazione che i dati dovranno avere) e delle applicazioni (le caratteristiche dei programmi applicativi)
23 Il ciclo di vita dei sistemi informativi Implementazione: realizzazione del sistema informativo Validazione e collaudo: serve a verificare il corretto funzionamento e la qualità del sistema informativo Funzionamento: il sistema informativo diventa operativo
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)
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)
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
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
28 Guyguyguyguygu Hvvvuvuvuv Fvvvuvuvuvu Vvyuvuyvuvu Vyuvuyvuyvu Vyuvuyvuo Progettazione concettuale Progettazione logica Progettazione fisica Modello Entità-Relazionale Relazioni/ tabelle Livello fisica (memorizzazione)
29 Modello Entità-Relazione Il modello Entità-Relazione è un modello concettuale dei dati Fornisce 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
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à
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à)
32 Modello Entità-Relazione Entità: Ogni entità ha un nome che la identifica univocamente Impiegato Dipartimento Città
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)
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 Corso Esame
35 Modello Entità-Relazione Esempi di occorrenze della relazione Esame (Mario Rossi, Psicologia), (Franco Verdi, Psicologia), … Studente Corso Esame s1s1 s2s2 s3s3 s4s4 c3c3 c1c1 c2c2 e1e1 e2e2 e3e3 e4e4 e5e5 Studente Corso
36 Modello Entità-Relazione Esempi di occorrenze della relazione Esame (Mario Rossi, Psicologia), (Franco Verdi, Psicologia), … Studente Corso Esame 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)
37 Modello Entità-Relazione Relazione (o associazioni): Possono esistere relazioni diverse che coinvolgono le stesse entità ImpiegatoCittà Residenza Sede di lavoro
38 Modello Entità-Relazione Relazione (o associazioni): È possibile avere relazione tra una entità e se stessa Impiegato Collega Sovrano Successione Predecessore Successore
39 Modello Entità-Relazione Relazione (o associazioni): È possibile avere relazione che coinvolgono più di due entità Dipartimento Fornitura ProdottoFornitore