10906 - BASI DI DATI

Scheda insegnamento

Anno Accademico 2018/2019

Conoscenze e abilità da conseguire

Al termine del corso, lo studente possiede le nozioni fondamentali della tecnologia delle basi di dati relazionali e gli strumenti metodologici necessari per il suo impiego nella progettazione di un sistema informativo.

Programma/Contenuti

  • Modelli logici dei dati : Cenni sul modello gerarchico e sul modello reticolare. Il modello relazionale; algebra relazionale: operatori di base e derivati, realizzazione degli operatori. Forme normali.
  • Il linguaggio SQL : i principali costrutti
  • Richiami sulle caratteristiche costruttive, sui parametri e sull'affidabilità dei dispositivi di memoria di massa .
  • Organizzazioni dei dati e relativi metodi di gestione: organizzazioni sequenziale ead accesso diretto, algoritmi di fusione e ordinamento di archivi, ISAM, VSAM, Hash file, Indici B-tree, B*- tree e B+-tree, cenni su indici e strutture multi-dimensionali.
  • Descrizione ad alto livello dei principali componenti di un RDBMS: Query Optimizer, Transaction Manager, Scheduler, Recovery Manager, Cache Manager, Storage Manager, Access Methods Manager.
  • Descrizione sintetica delle principali architetture client-server. Cenni su DDBMS e sulle evoluzione delle architetture.
  • Cenni sulla realizzazione degli operatori relazionali. Presentazione e valutazione dei principali metodi di join. Un semplice modello per la valutazione dei costi di esecuzione di query.
  • Progettazione di DB relazionali: cenni sull'analisi dei requisiti; il modello concettuale Entity-Relationship (E/R); progettazione concettuale dei dati con schemi E/R; progettazione logica; tecniche di normalizzazione;cenni sulla progettazione fisica.
  • Sviluppo di applicazioni database : panoramica delle diverse modalità di accesso ai dati. Ambiente .NET C# e fondamenti del linguaggio LINQ, JDBC per l'accesso ai dati in Java.
  • Trend di evoluzione delle tecnologie delle basi di dati. Cenni sui sistemi NoSQL
  • Testi/Bibliografia

    dispense a cura del docente disponibili presso il sito http://bias.csr.unibo.it/maio/

    D. Maio, S. Rizzi, A. Franco. Esercizi di Progettazione di Basi di Dati. Esculapio, 2005.

    Testi per approfondimenti

    P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone. Basi di Dati, McGraw-Hill Italia, 2018.

    P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone. Basi di Dati: modelli e linguaggi di interrogazione, McGraw-Hill Italia, 2013.

    P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone. Basi di Dati. Architetture e linee di evoluzione; McGraw-Hill Italia, 2007.

    P. Ciaccia, D. Maio. Lezioni di Basi di Dati. Esculapio, 2002.

    Metodi didattici

    Durante le lezioni sono illustrate e discusse in modo approfondito le diverse problematiche connesse con la progettazione e lo sviluppo di sistemi per la gestione di dati. Il corso è affiancato da esercitazioni guidate in aula e in laboratorio. Queste attività sono programmate in modo che all'interno di ogni esercitazione lo studente possa realizzare praticamente le soluzioni dei problemi delineati in forma teorica durante le lezioni.

    Modalità di verifica dell'apprendimento

    L'esame è composto di tre parti:

    1)       un elaborato di progetto che consiste nella progettazione e realizzazione di un'applicazione database; l'ammissione alla prova scritta è subordinata alla consegna di un elaborato giudicato idoneo dal responsabile dell'insegnamento;

    2)       una prova scritta costituita da un insieme di esercizi e/o domande su vari argomenti trattati nel corso; durante lo svolgimento della prova scritta non è ammessa la consultazione di alcun tipo di materiale;

    3)       una prova orale facoltativa che può essere sostenuta solo nel caso di superamento della prova scritta e che consiste in domande di approfondimento sui vari argomenti del corso.

     

    N.B. Il periodo di conservazione agli atti dell’elaborato di progetto e della prova scritta è di 6 mesi a decorrere dalla verbalizzazione dell’esito dell’esame sostenuto.

    Strumenti a supporto della didattica

    Nel laboratorio sono disponibili diversi DBMS (SQL Server, Access, Oracle, ...); per le esercitazioni è utilizzato SQL Server. Si fa inoltre ricorso ad alcuni strumenti di ausilio alla progettazione di DB. Per lo sviluppo di applicazioni è previsto l'uso dell'ambiente Microsoft Visual Studio e del linguaggio C#.

    Link ad altre eventuali informazioni

    http://bias.csr.unibo.it/maio/

    Orario di ricevimento

    Consulta il sito web di Dario Maio

    Consulta il sito web di Annalisa Franco