INF/01 Informatica Applicata Databases

A.A.
CFU Durata (ore)
Periodo Sede
2014/2015 12 96 ore primo e secondo Collegio Raffaello, Piazza della Repubblica 13, Urbino

Assegnato ai Corsi di Studio

Docente


Maurizio Maffi

maurizio.maffi@uniurb.it

Obiettivi Formativi
Il Corso ha lo scopo di introdurre i sistemi informativi e di descrivere i modelli dei dati e le tecniche di progettazione concettuale, logica e fisica per lo sviluppo e la gestione di basi di dati.

Programma
01. Introduzione ai sistemi informativi:
01.01 Gestione della conoscenza e sistemi informativi.
01.02 Data Base Management Systems (DBMS).
01.03 Ciclo di vita dei DBMS.

02. Progettazione concettuale di basi di dati:
02.01 Analisi dei requisiti.
02.02 Modello Entity-Relationship (E-R).
02.03 Strategie di progetto.
02.04 Integrazione di schemi.

03. Progettazione logica di basi di dati:
03.01 Modello relazionale.
03.02 Ottimizzazione di modelli E-R.
03.03 Ristrutturazione di modelli E-R.
03.04 Dal modello E-R al modello relazionale.
03.05 Normalizzazione.

04. Linguaggi di interrogazione:
04.01 Algebra relazionale: operatori di base.
04.02 Algebra relazionale: operatori ausiliari.
04.03 Calcolo relazionale.
04.04 Structured Query Language (SQL).
04.05 Subquery in SQL.
04.06 Linguaggio di definizione dei dati in SQL.
04.07 Linguaggio di aggiornamento dei dati in SQL.
04.08 Viste in SQL.

05. Memoria principale, memoria secondaria e gestione dei file:
05.01 Memoria secondarie e gestione dei buffer.
05.02 Organizzazione dei file.
05.03 Indicizzazione.
05.04 B-tree.
05.05 B+-tree.
05.06 Organizzazioni hash statiche.
05.07 Organizzazione hash dinamiche.

06. Architettura dei DBMS:
06.01 Transazioni e anatomia dei DBMS.
06.02 Gestione dei guasti e tecniche di recovery.
06.03 Gestione dello scheduling.
06.04 Teoria della serializzabilità.
06.05 Serializzabilità e concorrenza.
06.06 Tecniche di locking.
06.07 Basi di dati e transazioni distribuite.
06.08 Basi di dati a oggetti, multimediali e NoSQL.
06.09 Basi di dati per XML .
06.10 Metodi di join.
06.11 Ottimizzazione delle interrogazioni.

07. Attività di laboratorio:
07.01 Introduzione a MySQL per il sistema operativo Linux.
07.02 Architettura di MySQL server e client.
07.03 Sviluppo guidato di database MySQL.
07.04 Utilizzo di librerie ANSI C di accesso a database MySQL.

Eventuali Propedeuticità
Non vi sono propedeuticità obbligatorie.
Si suggerisce di sostenere l'esame di Basi di Dati dopo aver sostenuto gli esami di Programmazione Programmazione Procedurale e Logica, Architettura degli Elaboratori, Algoritmi e Strutture Dati e prima di sostenere l'esame di Basi di Dati Territoriali.

Modalità Didattiche, Obblighi di Frequenza, Testi di Studio e Modalità di Accertamento
Modalità Didattiche
Lezioni frontali ed esercitazioni di laboratorio.
Obblighi di Frequenza
Sebbene fortemente consigliata, la frequenza non è obbligatoria.
Testi di Studio
Per la teoria:
- Paolo Atzeni, Stefano Ceri, Piero Fraternali, Stefano Paraboschi e Riccardo Torlone: "Basi di dati 4/ed", McGraw-Hill, 2014
(copre le sezioni 01, 02, 03, 04, 05 e 06 del programma)
- Paolo Atzeni, Stefano Ceri, Piero Fraternali, Stefano Paraboschi e Riccardo Torlone: "Basi di dati - Modelli e linguaggi di interrogazione 4/ed", McGraw-Hill, 2013
(copre le sezioni 01, 02, 03, 04 del programma)

Per le esercitazioni:
- Dorbolò, Guidi, "Guida a SQL 2/ed", McGraw-Hill, 2004.

Modalità di Accertamento
Progetto individuale di laboratorio, prova scritta e prova orale facoltativa.

Note
Il corso è erogato sia nel "percorso in presenza" che nel "percorso online" del Corso di Laurea di Informatica Applicata.