10906 - BASI DI DATI

Scheda insegnamento

Anno Accademico 2017/2018

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 e  ad 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).
  • Anatomia dei componenti principali di un RDBMS : Query Optimizer, Transaction Manager, Scheduler, Recovery Manager, Cache Manager, Storage Manager e Metodi di accesso.
  • 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 (esempi in . Net C# e Java).
  • 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, 2014.

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. Sono disponibili i testi  di alcuni compiti di esame; 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.

Strumenti a supporto della didattica

Nel laboratorio sono disponibili diversi DBMS (SQL Server, Access, Oracle, ...); per le esercitazioni è utilizzato SQL Server. Sono inoltre disponibili alcuni strumenti di ausilio alla progettazione di DB, le esercitazioni in laboratorio sono svolte facendo ricorso al tool DB-MAIN. 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