Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo...

86
Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009

Transcript of Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo...

Page 1: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Informatica

Lezione 1

Laurea magistrale in PsicologiaLaurea magistrale in Psicologia dello sviluppo e dell'educazione

Anno accademico: 2008-2009

Page 2: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Docente

• Jeremy Sproston• [email protected]

– Specificare anno di corso e corso di laurea

• Telefono: 0116706772• Ufficio 33, Dipartimento di Informatica, Corso

Svizzera 185 (entrata: via Pessinetto 12)• Ore di ricevimento: Mercoledì 10:00 – 12:00• Sito web: http://www.di.unito.it/%7Esproston/

(oppure http://www.di.unito.it/~sproston/ )

Page 3: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Orario

Venerdì 16:00 – 19:00, Aula 10, corso San Maurizio 31/a

Da confermare: seconda parte del corso nell’aula informatica

Page 4: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Pagina web

Indirizzo: http://www.di.unito.it/%7Esproston/

Psicologia/0809/magistrale0809.html

Variazioni e avvisi comunicati sulla pagina web del corso

Page 5: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Chi siete voi?

• Computer a casa?

• Corso di informatica precedente? ECDL?

Page 6: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Programma previsto

• Introduzione (1a lezione)– Dati e informazioni– Dati strutturati, dati non strutturati

• Basi di dati (2a, 3a, 4a e 5a lezione)– Introduzione– Schema– Entity-Relationship– Chiavi– SQL– Esercitazioni con Microsoft Access

Page 7: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Programma previsto

• Cenni di HTML (6a e 7a lezione)– WWW

– URL

– Linguaggi di markup e principali tag

– CSS

• [Cenni di XML (8a e 9a lezione)]• Algoritmi (9a lezione)• Sicurezza informatica (9a lezione)• Excel avanzato (10a lezione)

• Il programma può subire variazioni

Page 8: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Esame

• Esito: superato, oppure non superato• Prova scritta

– Domande a risposta multipla– Domande aperte e esercizi– Accesso all’orale se sufficienza in entrambe le parti– Se le domande a risposta multipla non sono sufficienti, la

domande aperte non vengono corrette– Ha validità per la sessione

• Prova orale e discussione di esercizi presentati a lezione e rielaborati autonomamente

• Dettagli maggiori verranno forniti più avanti

Page 9: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Materiale didattico consigliato

• P. Manghi et al., Le basi di dati per Medicina e Farmacia, Collana IT4PS, McGraw-Hill Italia, 2006

• L. Snyder, Fluency - Conoscere e usare l'informatica, Addison Wesley, 2006

• Dispense del prof. Roversi su Modello Entità Associazione (pagina web del corso)

• Dispense della dott.ssa Picardi su HTML e CSS (pagina web del corso)

• M. Carducci, XML Pocket, Apogeo, 2005• Guide su HTML, CSS e XML disponibili su web• Queste slide

Page 10: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Materiale didattico consigliato

• Attenzione!– Queste slide sono solo una traccia delle

lezioni– Sono utili per fissare le idee e integrare i

testi, ma sono incomplete e non sostituiscono né il materiale consigliato, né le lezioni

Page 11: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Obiettivi del corso

• Un approfondimento dei concetti di base dell’informatica

• Parte teorica:– Approfondire nostra conoscenza dei computer

• Sicurezza? Algoritmi?– Quindi, lavorare con il computer in un modo più consapevole

ed efficiente• Parte applicativa:

– Avere (più) esperienza con alcuni programmi applicativi (in particolare Access, un programma per le basi di dati, e Excel) spesso usati all’università e al lavoro

– Per sapere come sono create, e come creare, semplici pagine web (HTML)

Page 12: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

FAQ

• “Sono computer-fobico: come posso fare?”– Per la maggior parte il corso è incentrata sui concetti

dell’informatica, anziché i programmi

• “E’ necessario frequentare? Il programma è diverso?”– Stesso programma per frequentanti e non– Frequenza vivamente consigliata: l’esperienza dei corsi di

Informatica insegna che gli studenti che hanno frequentato studiano più facilmente e conseguono voti più alti

• “Posso fare una domanda sugli argomenti della lezione?”– Sì!

Page 13: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Come studiare per questo corso

• Non sottovalutare il corso• Non basta leggere/imparare a memoria il materiale didattico• Non basta “sapere ripetere la lezione”

– Le domande di esame richiedono rielaborazione e ragionamento critico

• Bisogna fare propri i concetti:– Capirli

– Fare esercizi

• Non sostenere l’esame “tanto per provare”– Si innesca un circolo vizioso e non ci si riesce più a rapportare nel

modo giusto alla materia

Page 14: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Il computer

• Computer: macchina programmabili, multiuso• Accetta informazioni e li elabora o manipola creando

informazioni utili• Programma, una sequenza di istruzioni che descrive come il

computer elabora o manipola informazioni

Informazioni(cifre, testi,immagini, suoni,ecc.)

Informazioniutili (per esempioriepiloghi, totali,ecc.)

Programma

Page 15: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Informatica

• L'informazione: la sua codifica; le tecniche per raccoglierla, memorizzarla, distribuirla, trasformarla...

• Il computer: il suo funzionamento, le possibilità che offre per la trasformazione dell’informazione, le tecniche di utilizzo...

• La comunicazione: tra computer, tra persone (mediata dal computer)

Informatica:la scienza della rappresentazione e dell'elaborazione dell'informazione

Page 16: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Hardware + Software

Computer

Page 17: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Hardware e software

• Hardware:– Struttura fisica (architettura) del calcolatore

formata da parti meccaniche, elettriche, elettroniche

• Software - componente del calcolatore costituita dai:– Programmi di base per la gestione del sistema– Programmi applicativi per l’uso del sistema

(possono usare i programmi di base)

Page 18: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Hardware: architettura dei computer (in breve)

• In un computer possiamo distinguere quattro unità funzionali:– Il processore– La memoria principale– La memoria secondaria– I dispositivi di input (inserimento)/output

(restituzione di risultati)

• Il processore e la memoria principale costituiscono l’unità centrale del computer

Page 19: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Componenti principali di un computer

Processore

Stampante

Periferiche di input/outputMemoria secondaria(o di massa)

Unità centraleMemoria principale

Tastiera e monitor

Page 20: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

L’uso dell’informazione

• Un computer deve:– Memorizzare l’informazione

• Usando la memoria principale/secondaria

– Elaborare l’informazione • Usando il processore

– Fare l’input/output dell’informazione• Usando i dispositivi di input/output

Page 21: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Basi di dati (Database, DB)

• Una delle applicazioni informatiche più utilizzate, ma meno conosciute dai non informatici

• Avete già interagito con DB: anagrafe, biblioteca, banca, voti degli esami, prenotazioni voli, treni, cinema, concerti …

• Problema: memorizzare grandi quantità di informazioni in modo da facilitare la modifica e il reperimento

Page 22: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Basi di dati

• Prima soluzione: il file system (magari in file di testo)

• Svantaggi:– Organizzazione dei file a

carico dell’utente (categorizzazione dei dati per poterli reperire)

– Dati non strutturati: come confrontarli e elaborarli?

– Quando si hanno molti dati, i file diventano difficili da gestire

Page 23: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Basi di dati

• Seconda soluzione: foglio elettronico– Per esempio, i file di

Excel• Svantaggi:

– Difficile condivisione tra più utenti

– Difficile reperire informazioni

• Quindi: basi di dati

Page 24: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Sistemi informativi e basi di dati

•I sistemi informativi organizzano e gestiscono le informazioni necessarie alle attività di un’organizzazione:– Inizialmente non erano automatizzati (per

esempio, gli archivi bancari)– Informatica gestione automatica dei dati

basi di dati– Informazione memorizzata in modo rigoroso

Page 25: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Informazione e dati

• Distinzione tra informazione e dati:– Dati = elementi di informazione, che

di per sé non hanno interpretazione• Mario Rossi nome e cognome• 10150 numero matricola? Numero di

abitanti di una città? CAP? Numero di telefono?

Page 26: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Informazione e dati

• Distinzione tra informazione e dati:– Dati + interpretazione = informazione

• Domanda: “Chi è il responsabile del ufficio tecnico e qual è il suo numero di telefono?” interpretazione della risposta

• Risposta: Mario Rossi, 10150 dati• Domanda + risposta: informazione

– Nei sistemi informatici, le informazioni vengono rappresentate per mezzo di dati

Page 27: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Dati e applicazioni

• I dati possono variare nel tempo (per esempio, importo conto corrente)

• Le modalità con cui i dati sono rappresentati in un sistema sono di solito stabili

• Le operazioni sui dati variano spesso (per esempio, ricerche) separare i dati dalle applicazioni che operano su essi

Page 28: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Dati strutturati e dati non strutturati

• È utile che i dati siano strutturati per facilitare il reperimento e l’elaborazione delle informazioni

• Per esempio, con il file di testo seguente non ho modo di ottenere esclusivamente i libri il cui autore sia Dante Alighieri: cercando “Dante” ottengo anche l’opera di Boccaccio

Giovanni Boccaccio, Vita di Dante / Giovanni Boccaccio - \S.l. : s.n., s.d.! (L'Aquila : G.T.E.) - 67 p. ; 24 cm

Dante Alighieri, La divina commedia di Dante Alighieri con tauole in rame. Tomo primo .-quarto - Firenze : nella Stamperia all'insegna dell'Ancora, 1817-1819 - 4 v ((Tutti i front. sono inc))

Dante Alighieri, La vita nuova e il canzoniere / Dante Alighieri ; a cura di Luigi Di Benedetto - XLVIII, 179 p. ; 18 cm - Collezione di classici italiani con note - 47

Page 29: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Dati non strutturati

Ricerca in un documento di testo

Page 30: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Dati non strutturati

Ricerca in una pagina web

Page 31: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Dati strutturati

Esempio: ricerca in PsychNET dell’American Psychological Association

Page 32: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Basi di dati

• DB: “magazzini” di dati• Un DB è un grande insieme di dati organizzati

e memorizzati in forma strutturata e omogenea– Strutturata: es. anagrafe: nome, cognome, data di

nascita, …– Omogenea: es. anagrafe: per ogni persona

mantengo le stesse informazioni

Page 33: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Basi di dati

• DB adatti a memorizzare dati omogenei che devono essere strutturati– Ad esempio:

– OK: dati anagrafe– No: testo di un libro

• DB gestiti da DBMS (DataBase Management System, sistema di gestione di basi di dati)

Page 34: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Vantaggi dei DBMS

• Permettono di considerare i dati come risorsa di un’organizzazione – Una risorsa comune: a disposizione di molteplici utenti e

applicazioni

• Offrono un modello formale della realtà di interesse – Preciso, riutilizzabile

• Controllo centralizzato dei dati– Riduzione di ridondanze e inconsistenze

• Indipendenza dei dati– Sviluppo di applicazioni flessibili e modificabili

Page 35: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Svantaggi dei DBMS

• Complessi, costosi, hanno specifici requisiti in termini di software e hardware

• Difficile separare servizi utili da quelli inutili

• Inadatti alla gestione di poche informazioni condivise da un numero basso di utenti

Page 36: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Basi di dati

Un DBMS gestisce insiemi di dati:a. grandib. persistentic. condivisigarantendod. affidabilitàe. privatezza f. efficienzag. efficacia

Page 37: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Le basi di dati sono … grandi

a.a. Dimensioni: un DB può avere dimensioni di migliaia di Gigabyte un DBMS deve gestire i dati sulla memoria secondaria

Page 38: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Le basi di dati sono … persistenti

b.b. Persistenza: i dati hanno un tempo di vita che non è limitato a quello delle singole esecuzioni delle applicazioni

Page 39: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Le basi di dati sono … condivise

c.c. Condivisione: i dati di un DB devono essere condivisibili da più utenti che utilizzano varie applicazioni (ad esempio, azienda con magazzino)L’accesso si deve svolgere secondo opportune modalità

Page 40: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Le basi di dati sono … condivise

Applicazione Applicazione Applicazione Applicazione Applicazione

Utente 1 Utente 2 Utente 3 Utente 4

DBMS

DB

Page 41: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Le basi di dati sono … condivise

•La condivisione permette di evitare ridondanza e incoerenza

•Ridondanza: informazioni ripetute•Incoerenza: errori di “allineamento” dei dati

•Ad esempio: se due assegni vengono incassati contemporaneamente sullo stesso c/c, non bisogna trascurarne nessuno

Page 42: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Le basi di dati sono … condivise

• Condivisione concorrenza• Concorrenza: nello stesso momento più

applicazioni possono accedere al medesimo dato; tali accessi non devono interferire tra loro per garantire l’integrità dei dati

• I DB forniscono meccanismi per gestire la concorrenza e regolamentare gli accessi

Page 43: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

I DBMS garantiscono … affidabilità

d.Affidabilità: il DBMS garantisce il contenuto del DB in caso di malfunzionamenti hardware o software

•I DBMS danno backup e recovery

Page 44: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

I DBMS garantiscono … privatezza

e. Privatezza: gli utenti svolgono solo determinate azioni sui dati, con meccanismi di autorizzazioneEs. biblioteca:

a. il lettore ha diritto di lettura e ricerca dei dati, ma non di modifica/inserimento

b. il bibliotecario ha diritto di modificare i dati: deve aggiungere/togliere libri e segnalare i prestiti

Page 45: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

I DBMS garantiscono … efficienza

f. Efficienza: le operazioni devono essere svolte in tempi accettabili per l’utente (molto brevi!) nonostante la grande mole di dati

Page 46: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

I DBMS garantiscono … efficacia

g. Efficacia: cercano di rendere produttiva l’attività dell’utente, offrendo funzionalità articolate, potenti e flessibili

Page 47: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Utenti del Database

•L’amministratore della base di dati (database administrator, DBA) è il responsabile della progettazione, controllo e amministrazione della base di dati

•Progettisti e programmatori di applicazioni

•Utenti

Page 48: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Modello logico dei dati

•Sottintende una specifica rappresentazione dei dati (tabelle, alberi, grafi, oggetti …)

•Descrive i dati a un livello intermedio, tra ciò che vede l’utente e il livello dell’implementazione

•Molte proposte in DBMS commerciali

Implemen-tazione

Modello logico

Utente

Page 49: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Modello concettuale

• Per la progettazione di un base di dati: analisi della realtà di interesse

• Modello astratto

• Indipendente dal modello logico

• Modello concettuale = rappresentazione dei concetti

• Modello logico = rappresentazione dei dati

Page 50: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Modello logico dei dati

• Modello gerarchico (anni ‘60) = struttura gerarchica (albero)

• Modello reticolare (inizio anni ‘70) = struttura a grafo

• Modello relazionale (fine anni ‘70) = struttura a tabelle

• Modello orientato agli oggetti (anni ‘80) = struttura a classi/oggetti

Page 51: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Modello logico dei dati

• Modello gerarchico (anni ‘60) = struttura gerarchica (albero)

• Modello reticolare (inizio anni ‘70) = struttura a grafo

• Modello relazionale (fine anni ‘70) = struttura a tabelle

• Modello orientato agli oggetti (anni ‘80) = struttura a classi/oggetti

Per esempio:MicrosoftAccess

Page 52: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Modello relazionale

• Introdotto nel 1970• Affermato negli anni ’80• Attualmente è il modello di DB più diffuso:

probabilmente ogni DB che incontrerete sarà relazionale

• Come nei fogli elettronici, sono organizzati in tabelle• Esempio: tabella Studenti del database di una

università

Page 53: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Modello relazionale: struttura dei dati

• Le entità (i fatti) compongono le righe (record)• Le caratteristiche delle entità sono le (intestazioni

delle) colonne (attributi o campi)• Il valore di un attributo per una specifica entità

compone le celle• Tutti i record di una tabella hanno lo stesso formato,

cioè gli stessi attributi

Page 54: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Modello relazionale: struttura dei dati

record

dato atomico

attributo

Page 55: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Modello relazionale

• Basato sul concetto di relazione• Relazione = rappresentazione di

un’entità complessa tramite attributi• Graficamente, una relazione può

essere rappresentata da una tabella:– Colonna = attributo (oppure campo)– Riga = valori degli attributi di un individuo

appartenente all’entità

Page 56: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Schema di una relazione

• Schema di una relazione = definizione della struttura della relazione

• È formata dall’intestazione della relazione:

NomeRelazione(Attr1,…, Attrn)

• Non varia nel tempo (modulo ristrutturazione del DB)

• Per esempio: nella relazione Studenti

Studenti(Matricola, Cognome, Nome, Sesso, DataDiNascita, LuogoDiNascita)

Page 57: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Istanza di una relazione

• Istanza di una relazione = dati che descrivono gli individui appartenenti alla relazione (sono le righe della tabella)

• Varia nel tempo (aggiunta, modifica, eliminazione dei dati riguardanti gli individui)

Page 58: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Schema e istanza di un base di dati

• Schema di un base di dati = insieme degli schemi delle relazioni (struttura)

• Istanza (o stato) di un base di dati = valori dei dati nelle tabelle

Page 59: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Livelli di astrazione nel DBMS

Architettura standard su 3 livelli:• Livello esterno: descrizione di una porzione del base

di dati (per vedere i dati da punti di vista diversi a seconda dell’utente)

• Livello logico: descrizione del base di dati tramite le strutture-dati del modello logico del DBMS (per esempio, le tabelle del modello relazionale)

• Livello interno: “mapping” tra schema logico e strutture fisiche di memorizzazione (file)

Page 60: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Livelli di astrazione nel DBMS

Livello esterno(viste)

Livello interno(file)

Livello logico(tabelle)

Utente

Organizzazione fisica di

memorizzazione

corso docente

Informatica

Bianchi

Economia Rossi

Architettura

Verdi

cdl materia anno

Informatica Basi di dati 2

Matematica Analisi I 1

Lettere Latino 1

Informatica Programmazione

1

Docenza OrganizzCorsidiLaurea

Page 61: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Livelli di astrazione nel DBMS

Livello esterno(viste)

Livello interno(file)

Livello logico(tabelle)

Utente

Organizzazione fisica di

memorizzazione

corso docente

Informatica

Bianchi

Economia Rossi

Architettura

Verdi

cdl materia anno

Informatica Basi di dati 2

Matematica Analisi I 1

Lettere Latino 1

Informatica Programmazione

1

Docenza OrganizzCorsidiLaurea

Il DBMS lavoraper “mettere d’accordo” i livelli

Page 62: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Indipendenza dei dati

• Garantita dai livelli di astrazione:– Indipendenza fisica: permette di interagire con

DB in modo indipendente da struttura fisica in cui sono memorizzati i dati• Se i dati vengono riorganizzati fisicamente, le

applicazioni funzionano lo stesso

– Indipendenza logica: permette di accedere al DB in modo indipendente da struttura logica dei dati (per esempio, tabelle) • Modificare livello logico senza modificare le viste (livello

esterno)• Estendere le viste senza alterare livello logico

Page 63: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Linguaggi per basi di dati

• Data Definition Language (DDL) = definisce livelli fisici, logici, esterni del DB (tratta anche le autorizzazioni di accesso)

• Data Manipulation Language (DML) = per formulare interrogazioni e aggiornamenti delle istanze del base di dati

Page 64: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

DDL e DML relazionali

• Due paradigmi:– Dichiarativo SQL (Structured Query

Language)– Procedurale algebra relazionale

• Varie proposte commerciali (non viene usato un unico “standard SQL”, sintassi un po’ diverse)

Page 65: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Accesso ai dati

• Mediante linguaggi testuali (per esempio, SQL)

Un esempio di codice SQL:

SELECT Disco,GruppoMusicale FROM Gruppi WHERE GruppoMusicale=“Radiohead” OR GruppoMusicale=“Franz Ferdinand”

Page 66: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Accesso ai dati

• Mediante linguaggi testuali (per esempio, SQL)

• Tramite comandi speciali integrati nei linguaggi di programmazione

Page 67: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Accesso ai dati

• Mediante linguaggi testuali (per esempio, SQL)

• Tramite comandi speciali integrati nei linguaggi di programmazione

• Tramite interfacce “amichevoli” (per esempio, Wizards, in Access, ecc.)

Page 68: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Tabelle, Record e Campi

•A ogni attributo sono associati:– nome (es. “Sesso”)– lunghezza (es. 1 carattere)– tipo di dato (numero, data, caratteri)

•Es. attributo “Sesso”:– nome: Sesso– lunghezza: 1 carattere– tipo di dato: caratteri

Page 69: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Chiave primaria

• In una tabella devono essere definiti uno o più campi attraverso i quali è possibile distinguere sempre qualsiasi coppia di record di una stessa tabella

• Esempi:– In una tabella di studenti: numero di matricola– In una tabella di cittadini: nome, cognome, data di

nascita e luogo di nascita (forse insufficiente) o codice fiscale

Page 70: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Utilità dei DB

• I programmi che abbiamo visto finora (word processor, fogli elettronici) possiedono funzionalità in comune con i DB: ordinamento, tabelle di dati; ma …

• I dati rappresentati da questi programmi sono difficilmente condivisibili da applicazioni diverse

• Questo comporta ridondanza e duplicazione di informazioni

Page 71: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Esempio di ridondanza in un DB

• Ridondante: i dati anagrafici degli studenti sono ripetuti per ogni esame

• Se uno studente cambiasse domicilio, bisognerebbe modificare più record

Page 72: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Svantaggi della ridondanza

La ridondanza comporta svantaggi:– Aumenta i dati da gestire

– Aumenta il rischio di errori (coerenza dei dati: per esempio, stessa data di nascita per la stessa persona, ovunque sia inserita)

– Usa più spazio di memoria secondaria

Page 73: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Esempio di ridondanza in un DB

Come eliminare la ridondanza? Usando più tabelle legate tra loro

Congiuntamente, le tabelle contengono le stesse informazioni della tabella iniziale, ma senza ridondanze

Tabella StudentiTabella Esami

Page 74: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Basi di Dati vs file system

• Tecnicamente, i DB sono insiemi di file, ma i DB sono qualcosa di più di semplici file

• Si potrebbero usare direttamente i file per memorizzare i dati, ma si perderebbero le proprietà garantite dai DB

• Normalmente i file sono pensati per una specifica applicazione, e non per servire più applicazioni, magari in parallelo

Page 75: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Query

• Per reperire le informazioni di interesse da un DB, un utente non può semplicemente leggere le tabelle: – Le tabelle sono molto grosse– Può essere necessario utilizzare più

tabelle contemporaneamente

• Si usano le query

Page 76: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Query

• Una query permette di specificare:– Cosa cercare all’interno del DB (criteri di

selezione)– Quali informazioni (campi) visualizzare

• Una query crea una nuova tabella temporanea con i campi e i record di interesse

Page 77: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Query: esempioVogliamo avere tutti gli esami superati dagli studenti con i dati degli studenti

Nota: la tabella risultante è ridondante, ma è generata dinamicamente, quindi nessun problema

Page 78: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Query

• Le query possono essere create in vari modi, in funzione dei programmi

• Due “paradigmi”:– Basato su esempi (QBE)

• Uso di maschere predefinite di interrogazione che costruiscono la query automaticamente

• Utilizzato da utenti poco esperti– Linguaggi di interrogazione (ad esempio, SQL)

• Vero e proprio linguaggio (testuale) strutturato• Usato dai programmi e dagli utenti più esperti

Page 79: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Query

•In una query si specificano– i campi da includere nel risultato– i criteri di selezione delle informazioni,

specificati attraverso operatori di confronto

Page 80: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Query (operatori di confronto)

100

110

120

130

140

>120

maggiore di

130

140

100

110

120

130

140

<120

100

110

minore di

100

110

120

130

140

=120

120

<>120 >=120

100

110

120

130

140

100

110

120

130

140

<=120

100

110

120

130

140

100

110

130

140

120

130

140

100

110

120

uguale a diverso damaggiore o

uguale aminore o uguale a

Page 81: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Query: esempioVogliamo spedire una lettera di congratulazioni agli studenti che hanno superato

l’esame di Informatica A (L0507)

Criterio di selezione: CodiceCorso=L0507

Page 82: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Query: esempioVogliamo spedire una lettera di congratulazioni agli studenti che hanno superato un

esame con voto almeno 27

Criterio di selezione: Voto>=27

Page 83: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Query (operatori logici)

• Composizione di operatori logici AND, OR, NOT• Consente di selezionare i record che soddisfano una combinazione di

criteri

AND: devono essere vere entrambe le condizioni (congiunti)

OR: deve essere vera una condizione (disgiunto) o l’altra (o entrambi)

NOT: la condizione deve essere falsa (cioè vera la negazione)

A B A and B

F F F

F V F

V F F

V V V

A B A or B

F F F

F V V

V F V

V V V

A not A

F V

V F

Page 84: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Query (operatori logici)

Valore maggiore di 120 e minore di 140

100

110

120

130

140

>>120120 AND <140 AND <140

130

100

110

120

130

140

>>120120 OR <110 OR <110

100

110

120

130

140

ANDAND OROR NOTNOT

110

120

100

130

140

NOT(>NOT(>120120 OR <110) OR <110)

Valore maggiore di 120 o minore di 140

Valore non maggiore di 120 o minore di 140

Page 85: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Query: esempioElenco studenti che hanno superato Informatica A (L0507) con voto almeno 27

Criterio di selezione: CodiceCorso=L0507 AND Voto>=27

Page 86: Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 2008-2009.

Query: esempioElenco studenti che hanno superato Informatica (L0014) o Informatica A (L0507)

con voto almeno 27

Criterio di selezione: (CodiceCorso=L0507 OR CodiceCorso=L0014) AND Voto>=27