INGEGNERIA ELETTRICA ELETTRONICA E INFORMATICAIngegneria informaticaAnno accademico 2024/2025

1015330 - DATABASES AND WEB PROGRAMMING A - L
Modulo 1015331 - DATA-BASE

Docente: Daniela GIORDANO

Risultati di apprendimento attesi

Il corso tratta prima 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 sia alle basi di dati relazionali ed alle tecniche implementative fondate sul linguaggio SQL che alle basi di dati non relazionali (NoSQL).

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

Modalità di svolgimento dell'insegnamento

Lezioni frontali, esercitazioni, laboratorio e seminari.

Prerequisiti richiesti

Conoscenze di base di programmazione.

Frequenza lezioni

Consigliata.

Contenuti del corso

Modelli e Linguaggi per Basi di Dati

Progettazione di Basi di Dati Relazionali

* Conoscenze minime irrinunciabili per il superamento dell'esame.

Testi di riferimento

1. Basi di dati - 4/ed, Modelli e linguaggi di interrogazione. Di: Paolo Atzeni, Stefano Ceri, Piero Fraternali, Stefano Paraboschi e Riccardo Torlone, Casa editrice: Mc-Graw-HIll

2. Appunti e dispense del docente

Programmazione del corso

 ArgomentiRiferimenti testi
1Introduzione 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
2Algebra e calcolo relazionale: operazioni sugli insiemi, ridenominazione, selezione, proiezione, join, interrogazioni. Cenni sul calcolo relazionaleTesto 1. Capitolo 3
3SQL concetti base: definizione dei dati, interrogazioni in SQL (operatori aggregati, raggruppamento, interrogazioni insiemistiche, interrogazioni nidifcate), Istruzioni di modifica dei dati.Testo 1. Capitolo 4
4L'ambiente MySQLDispense del docente
5SQL: viste, asserzioni, funzioni, stored proceduresTesto 1. Capitolo 5
6SQL: Trigger, transazioni e controllo degli accessiTesto 1. Capitolo 5
7Progettazione delle basi di dati: metodologie, Il modello Entità- Relazione, documentazione degli schemi, raccolta dei requisiti, qualità di uno schema concettualeTesto 1. Cap. 6 e 7, Dispense del docente
8La progettazione logica: analisi delle prestazioni su schemi ER, ristrutturazione di schemi, traduzione nel modello relazionaleTesto 1. Capitolo 8
9Cenni alla normalizzazione: e ai Database NoSQLTesto 1. Capitolo 9, dispense del docente

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

L'esame consiste in due prove da svolgere in laboratorio riguardanti: 1) la progettazione di una base di dati, a partire da un insieme di requisiti e dai dati di carico a regime, e la successiva implementazione in MySQL, e 2) la realizzazione di pipeline MongoDB per l'interrogazione di database non relazionali. La prima prova influirà al 70% sul voto del modulo, mentre la seconda al 30%.

Il voto complessivo sul modulo di database influirà al 50% sul voto totale 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, alla correttezza e completezza delle query NoSQL.

La verifica dell’apprendimento potrà essere effettuata anche per via telematica, qualora le condizioni lo dovessero richiedere.

Esempi di domande e/o esercizi frequenti

Esempi di compiti riguardanti la prova di teoria e di laboratorio sono disponibili su Studium.


English version