10906 - BASI DI DATI

Anno Accademico 2019/2020

  • Docente: Dario Maio
  • Crediti formativi: 12
  • SSD: ING-INF/05
  • Lingua di insegnamento: Italiano
  • Moduli: Dario Maio (Modulo 1) Annalisa Franco (Modulo 2)
  • Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
  • Campus: Cesena
  • Corso: Laurea in Ingegneria e scienze informatiche (cod. 8615)

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.

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.
  • 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 modello semplificato per la valutazione dei costi di esecuzione di query.
  • Progettazione di DB relazionali: cenni sulle metodologie per l'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 d'uso in C# e Java.
  • Trend di evoluzione delle tecnologie delle basi di dati. Cenni sui sistemi NoSQL.
  • Testi/Bibliografia

    dispense a cura del docente disponibili sulla piattaforma e-learning dell'ateneo.

    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 e valutazione 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.

    N.B. Modifiche valide solo per la durata dell'emergenza sanitaria COVID-19, fino a nuove disposizioni)

    - l’elaborato consegnato è valutato ma non discusso al momento della consegna;

    - al termine della prova scritta, svolta con modalità telematica, saranno poste allo studente - eventualmente in altra data - sempre in modalità telematica domande di chiarimento sia sull’elaborato svolto sia sulle risposte date dallo studente stesso ai quesiti e agli esercizi proposti nel testo della prova scritta.

    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