DIPARTIMENTO   DI   INFORMATICA
Università di Torino

Corso di Basi di Dati e Sperimentazioni

Laurea in Informatica - percorso STISI

Anno accademico: 2005-2006

Docenti: Piercarlo GIOLITO, Rosa MEO
Tutors (art. 33): Arianna GALLO e Claudio SCHIFANELLA

Numero di ore: 63 (in aula) + 18 (in laboratorio)
Numero di CFU (Crediti Formativi Universitari): 7 (in aula) + 2 (in laboratorio)


INDICE

  1. Obiettivi del corso
  2. Competenze attese e propedeuticità
  3. Come si svolgono le lezioni (supporti alla didattica in uso alla docenza)
  4. Programma/contenuti
  5. Materiale didattico di supporto (a cura del docente)
  6. Bibliografia (libri, articoli, documenti on-line,...)
  7. Controllo dell'appprendimento (durante il corso)
  8. Verifica (modalità d'esame)
  9. Avvisi


1. Obiettivi del corso

Il corso si propone di fornire allo studente competenze generali e pratiche di base sulla progettazione e la realizzazione di basi dati, utilizzando strumenti commerciali quali Oracle e Access. Il metodo didattico prevede lezioni frontali, integrate da esercitazioni guidate, in aula o in laboratorio, e da momenti di applicazione autonoma delle nozioni, introdotte a lezione, da parte dello studente.

2. Competenze attese e propedeuticità

  • Competenze attese in ingresso (richieste all'inizio del corso).
    Lo studente deve padroneggiare la programmazione con linguaggi procedurali e conoscere le strutture dati di base. E' altresì richiesta una conoscenza di base dell'algebra.
  • Eventuali corsi propedeutici (forniscono le "competenze attese in ingresso").
    Un corso di Programmazione (quale Programmazione 1) e Logica matematica (quali Logica-A o Logica-B).
  • Competenze attese in uscita (acquisite durante il corso). Per quanto riguarda il sapere, lo studente deve conoscere con sicurezza l'algebra ed il calcolo relazionale, le dipendenze funzionali, la normalizzazione, il linguaggio ER (Entity-Relationship). Deve altresì conoscere i concetti di transazione e di trigger. Uno studente deve anzitutto saper trasformare semplici specifiche funzionali di un sistema informativo da realizzare in uno schema concettuale. Egli saprà poi trasformare lo schema concettuale nel corrispondente schema logico, aderente allo standard SQL. Inoltre, lo studente deve poter estrarre informazioni dallo schema logico, usando interrogazioni SQL, anche di una certa complessità. Infine, lo studente deve conoscere le modalità di accesso ai dati, le basi degli ottimizzatori, la gestione della concorrenza e del recupero da malfunzionamenti.

3. Come si svolgono le lezioni (supporti alla didattica in uso alla docenza)

Le lezioni frontali sono svolte con l'ausilio di trasparenze e personal computer. Le trasparenze sono a disposizione degli studenti sul sito Internet del Dipartimento.
In via sperimentale, si vuole tentare l'adozione dell'uso dei gruppi di discussione elettronici (newsgoups dipartimentali), per integrare le ore di consulenza del docente a disposizione degli studenti.
Parte delle esercitazioni si svolgeranno in un laboratorio opportunamente attrezzato con uno dei principali sistemi di gestione delle basi dati (Oracle, 9i). In laboratorio si svolgeranno anche test a risposta multipla, su I-learn, come strumento di apprendimento di concetti, di controllo dell'apprendimento e di verifica.

4. Programma/contenuti

  • Sviluppo storico, motivazioni e funzionalità dei DBMS; architettura ANSI-SPARC e cenni metodologici.
  • Modello semantico dei dati Entità -Associazione e progettazione concettuale.
  • Modello relazionale: algebra relazionale e sue applicazioni all'ottimizzazione delle interrogazioni.
  • Standard SQL: dichiarazioni di tavole, viste, vincoli, trigger; linguaggi d'interrogazione.
  • Progettazione logica delle basi di dati DDL (Data Definition Language) e teoria della normalizzazione.
  • Sviluppo di applicazioni con un linguaggio ospite DML (Data Manipulation Language).
  • Nozioni introduttive di transazione e di metodo di accesso; indici e cenni di ottimizzazione degli accessi fisici; gestione della concorrenza e del ripristino.

  • 5. Materiale didattico di supporto (a cura del docente)

    Il materiale didattico di supporto (lucidi, link, esempi di testo di esami ed altro) è disponibile presso il supporto on-line ai corsi I-learn. Inoltre, è disponibile anche qui.
    Nel sito WEB del testo di base Ramakrishnan, Gehrke. Sistemi di basi di dati sono disponibili del materiale ed esercizi aggiuntivi.
    Le esercitazioni in laboratorio si svolgono in una dupplice modalità .

    La prima consiste nella verifica dell'apprendimento del corso con I-learn tramite test a risposta multipla che fungono da strumento di verifica dell'apprendimento.

    La seconda modalità consiste in esperienze con un sistema di gestione dei dati reale. Il laboratorio avviene su piattaforma PC Pentium III in ambiente Windows NT. L'ambiente SQL è quello di ORACLE 9i, ma si faranno accenni all'uso di Microsoft Access.

    6. Bibliografia (libri, articoli, documenti on-line,...)

    • Testo di base: Ramakrishnan, Gehrke. Sistemi di basi di dati, McGraw-Hill, 2004, edizione italiana a cura di Tiziana Catarci.
    • Testo complementare: Albano. Costruire sistemi per basi di dati, Addison-Wesley, 2001.
    • Testo per esercitazioni: Baralis, Belussi, Psaila. Basi di Dati - Temi d'esame svolti, ed. Progetto Leonardo - Esculapio, Bologna, 1999.

    7. Controllo dell'apprendimento (durante il corso)

    Il controllo sull'apprendimento dei concetti introdotti durante le lezioni frontali è basato su una dupplice modalità :

  • svolgimento assistito di progetti di basi di dati, interrogazioni e di applicazioni in laboratorio. Sono inoltre previsti accertamenti periodici.
  • si adotta I-learn. Con lo strumento dei test a risposta multipla di tipologia rooted question si ottiene una verifica dell'apprendimento dei concetti presentati a suo tempo durante le lezioni del corso. I test sono di tipo rooted question. La tipologia delle rooted questions è stata ideata dal prof. J.D. Ullman (Università di Stanford) in Gradiance Service, per ottenere uno strumento di verifica dell'apprendimento e di auto-apprendimento.Con una rooted question lo studente svolge in modo esaustivo un esercizio (sia teorico che pratico, ad esempio di progettazione o interrogazione di una base di dati) e risponde a una domanda a risposta multipla. I suggerimenti che lo studente riceve, in risposta ai suoi errori, sono puntuali cosicchè è indotto al ragionamento e in tal modo impara a correggere da solo i propri errori.

    8. Verifica (modalità d'esame)

    La verifica ha modalità sia scritta che orale, e la realizzazione di applicativi avviene con l'ausilio di strumenti pratici. Le competenze pratiche sono verificate mediante la realizzazione e discussione di applicazioni che prevedano accessi a DBMS con primitive ODBC.
    Risultati degli appelli: si veda qui.

    9. Avvisi

    La data della prossima esercitazione in laboratorio (a turni riuniti) è il 21 Giugno. (Il 14 giugno non ci saà laboratorio).



  • [Corso di Studi di Informatica]

    Last update: Jun 13, 2006