Il corso tratta gli aspetti fondamentali dei sistemi di gestione e di progettazione delle moderne basi di dati nell'ambito dello sviluppo e dell'esercizio di sistemi informatici. In particolare esso fa riferimento alle basi di dati relazionali ed alle tecniche implementative fondate sul linguaggio SQL.
Gli obiettivi formativi del corso, declinati secondo i descrittori di Dublino, sono:
Conoscenza e capacità di comprensione
Conoscenze applicate e capacità di comprensione
Autonomia di giudizio
Abilità comunicative
Capacità di apprendimento
Lezioni frontali, esercitazioni, laboratori e seminari.
Canale di comunicazione del corso: Microsoft Teams.
Modelli e Linguaggi per Basi di Dati
* Conoscenze minime irrinunciabili per il superamento dell'esame.
| Argomenti | Riferimenti testi | |
|---|---|---|
| 1 | Introduzione alle basi di dati e al modello relazionale: basi di dati e sistemi di gestione delle basi di dati, modelli dei dati, indipendenza dei dati. Il modello relazionale: relazioni, tabelle, attributi. Vincoli di integrità. | Testo 1 Capitoli 1 e 2 |
| 2 | Algebra e calcolo relazionale: operazioni sugli insiemi, ridenominazione, selezione, proiezione, join, interrogazioni. Cenni sul calcolo relazionale | Testo 1 Capitolo 3 |
| 3 | SQL concetti base: definizione dei dati, interrogazioni in SQL (operatori aggregati, raggruppamento, interrogazioni insiemistiche, interrogazioni nidifcate), Istruzioni di modifica dei dati. | Testo 1 Capitolo 4 |
| 4 | L'ambiente MySQL | Dispense del docente |
| 5 | SQL: viste, asserzioni, funzioni, stored procedures | Testo 1 Capitolo 5 |
| 6 | SQL: Trigger, transazioni e controllo degli accessi | Testo 1 Capitolo 5 |
| 7 | Progettazione delle basi di dati: metodologie, Il modello Entità-Relazione, documentazione degli schemi, raccolta dei requisiti, qualità di uno schema concettuale | Testo 1. Capitoli 6 e 7,Dispense del docente |
| 8 | La progettazione logica: analisi delle prestazioni su schemi ER, ristrutturazione di schemi, traduzione nel modello relazionale | Testo 1. Capitolo 8 |
L'esame consiste in due prove da svolgere in laboratorio riguardanti: 1) Implementazione di schema in SQL e implementazione di diverse query e 2) la progettazione di una base di dati, a partire da un insieme di requisiti e dai dati di carico a regime. Ogni prova influirà al 50% sul voto finale del corso.
La prova viene valutata in base alla capacità di analisi del problema e di giustificare le scelte progettuali, alla correttezza dello schema E/R proposto, alla correttezza e completezza dell'implementazione in SQL.
Qualora si rendesse necessario un ulteriore approfondimento, potrà essere richiesta una verifica orale per chiarire le scelte progettuali e l'implementazione, al fine di accertare le conoscenze effettivamente acquisite.