DIPARTIMENTO   DI   INFORMATICA
Università di Torino

Corso di Basi di Dati e Sperimentazioni

Laurea in Informatica - percorso STISI

Anno accademico: 2004-2005

Docenti: Piercarlo GIOLITO, Rosa MEO

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 usa anche Gradiance Service, uno 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 fornito (slides ed esercizi) è disponibile 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 Gradiance Service, uno strumento di apprendimento ideato dal prof. J.D. Ullman (Università di Stanford) in cui lo studente è indotto al ragionamento e apprende direttamente dai propri errori. 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 Gradiance Service. Con questo strumento di apprendimento di concetti, lo studente svolge in modo esaustivo alcuni esercizi (sia teorici che pratici, di progettazione e interrogazione di una base di dati) e risponde a domande 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.
    Gradiance Service è uno strumento on-line, libero, di cui si usufruisce tramite l'uso di un semplice browser.

  • 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

    Il ricevimento studenti di Rosa Meo di Venerdì 24 Giugno e Venerdì 1 Luglio sono spostati a Lunedì 27 (ore 14-16) e Martedì 28 Giugno (ore 11-13).



    [Corso di Studi di Informatica]

    Last update: Jan 09, 2007