Docente. Informatica. Orario. Pagina web. Programma previsto. Chi siete voi?

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Docente. Informatica. Orario. Pagina web. Programma previsto. Chi siete voi?"

Transcript

1 Docente Informatica Lezione 1 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: Jeremy Sproston sproston@di.unito.it Specificare anno di corso e corso di laurea Telefono: Ufficio 33, Dipartimento di Informatica, Corso Svizzera 185 (entrata: via Pessinetto 12) Ore di ricevimento: Mercoledì 10:00 12:00 Sito web: (oppure ) Orario Pagina web Venerdì 16:00 19:00, Aula 10, corso San Maurizio 31/a Da confermare: seconda parte del corso nell aula informatica Indirizzo: Psicologia/0809/magistrale0809.html Variazioni e avvisi comunicati sulla pagina web del corso Computer a casa? Chi siete voi? Corso di informatica precedente? ECDL? 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

2 Programma previsto Esame 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 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 Materiale didattico consigliato 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 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 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) 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ì!

3 Come studiare per questo corso Il computer 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 Informazioni (cifre, testi, immagini, suoni, ecc.) Programma Computer: macchina programmabili, multiuso Accetta informazioni e li elabora o manipola creando informazioni utili Informazioni utili (per esempio riepiloghi, totali, ecc.) Programma, una sequenza di istruzioni che descrive come il computer elabora o manipola informazioni Informatica Informatica: la scienza della rappresentazione e dell'elaborazione dell'informazione 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) Computer Hardware + Software 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) 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

4 Componenti principali di un computer Stampante Processore Memoria principale Unità centrale 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 Tastiera e monitor Periferiche di input/output Memoria secondaria (o di massa) Basi di dati (Database, DB) Basi di dati - parte 1: Introduzione 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 modificae il reperimento 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 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 Basi di dati

5 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 Informazione e dati Distinzione tra informazione e dati: Dati = elementi di informazione, che di per sé non hanno interpretazione Mario Rossi nome e cognome numero matricola? Numero di abitanti di una città? CAP? Numero di telefono? 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, dati Domanda + risposta: informazione Nei sistemi informatici, le informazioni vengono rappresentate per mezzo di dati Dati e applicazioni I dati possono variare nel tempo (per esempio, importo conto corrente) Le operazioni sui dati variano spesso (per esempio, ricerche) separare i dati dalle applicazioni che operano su essi Le modalità con cui i dati sono rappresentati in un sistema sono di solito stabili 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 Dati non strutturati Ricerca in un documento di testo 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 tauolein rame. Tomo primo.-quarto - Firenze : nella Stamperia all'insegna dell'ancora, 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

6 Dati non strutturati Ricerca in una pagina web Dati strutturati Esempio: ricerca in PsychNET dell American Psychological Association 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 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) 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 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

7 Basi di dati Un DBMS gestisce insiemi di dati: a. grandi b. persistenti c. condivisi garantendo d. affidabilità e. privatezza f. efficienza g. efficacia Le basi di dati sono grandi a. Dimensioni: un DB può avere dimensioni di migliaia di Gigabyte un DBMS deve gestire i dati sulla memoria secondaria Le basi di dati sono persistenti b. Persistenza: i dati hanno un tempo di vita che non è limitato a quello delle singole esecuzioni delle applicazioni Le basi di dati sono condivise 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à Le basi di dati sono condivise Utente 1 Utente 2 Utente 3 Utente 4 Applicazione Applicazione Applicazione Applicazione Applicazione DBMS 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 DB

8 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 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 I DBMS garantiscono privatezza e. Privatezza: gli utenti svolgono solo determinate azioni sui dati, con meccanismi di autorizzazione Es. 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 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 I DBMS garantiscono efficacia g. Efficacia: cercano di rendere produttiva l attività dell utente, offrendo funzionalità articolate, potenti e flessibili 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

9 Modello logico dei dati Modello concettuale 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 Utente Modello logico Implementazione 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 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 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 Per esempio: 80) = struttura a classi/oggetti Microsoft Access 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à 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

10 Modello relazionale: struttura dei dati Modello relazionale attributo dato atomico record 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à Schema di una relazione Schema di una relazione = definizione della struttura della relazione È formata dall intestazione della relazione: NomeRelazione(Attr 1,, Attr n ) Non varia nel tempo (modulo ristrutturazione del DB) Per esempio: nella relazione Studenti Studenti(Matricola, Cognome, Nome, Sesso, DataDiNascita, LuogoDiNascita) 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) 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 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)

11 Livelli di astrazione nel DBMS Livelli di astrazione nel DBMS Utente Utente Livello esterno (viste) Livello esterno (viste) Docenza OrganizzCorsidiLaurea Docenza OrganizzCorsidiLaurea Livello logico (tabelle) corso Informatic a Economia docente Bianchi Rossi cdl materia anno Informatica Basi di dati 2 Matematica Analisi I 1 Lettere Latino 1 Livello logico (tabelle) corso Informatica Economia Architettura docente Bianchi Rossi Verdi cdl materia anno Informatica Basi di dati 2 Matematica Analisi I 1 Lettere Latino 1 Architettur Verdi Informatica Programm 1 Informatica Programm 1 Livello interno (file) a azione Livello interno (file) azione Organizzazione fisica di memorizzazione Il DBMS lavora per mettere d accordo i livelli Organizzazione fisica di memorizzazione Indipendenza dei dati Linguaggi per basi di 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 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 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) Mediante linguaggi testuali (per esempio, SQL) Un esempio di codice SQL: Accesso ai dati SELECT Disco FROM Gruppi WHERE GruppoMusicale= Radiohead OR GruppoMusicale= Franz Ferdinand

12 Mediante linguaggi testuali (per esempio, SQL) Tramite comandi speciali integrati nei linguaggi di programmazione 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.) Accesso ai dati