Nuova ricerca

LUCA GAGLIARDELLI

Ricercatore t.d. art. 24 c. 3 lett. A
Dipartimento di Ingegneria "Enzo Ferrari"

Insegnamento: Basi di Dati

Ingegneria informatica (MN) (Offerta formativa 2024)

Obiettivi formativi

Fornire i concetti fondamentali di modelli concettuali e modelli logici per basi di dati relazionali; acquisire la capacità di progettare, creare, modificare e interrogare un database.

Prerequisiti

Propedeuticità obbligatorie: nessuna

Programma del corso

Progettazione di basi di dati (20 ore - 2.5 CFU)
1.1 Progettazione concettuale: modello Entità-Associazione
1.2 Progettazione logica: modello relazionale

Teoria e linguaggi relazionali (28 ore - 3.5 CFU)
1.3 Algebra relazionale.
1.4 Il linguaggio di interrogazione non procedurale SQL92
1.5 Introduzione alla teoria delle dipendenze funzionali e della normalizzazione
1.6 Generalità sui Sistemi di Gestione per Basi di Dati (DBMS). Architettura a tre livelli di un DBMS (ANSI/X3/Sparc); architettura di un DBMS relazionale

2 Esercitazioni pratiche in laboratorio (24 ore - 3 CFU)
2.1 Introduzione al DBMS relazionale PostgreSQL. Nozioni sull’importazione ed esportazione di dati. Uso del SQL Book On Line. Strumenti grafici per la creazione di database: introduzione all'ambiente pgAdmin.
2.2 Elementi fondamentali di una base di dati. Creazione, modifica ed eliminazione di un database e delle relative tabelle. Definizione e modifica di vincoli. Operazioni di manipolazione dati: INSERT, UPDATE, e DELETE.
2.3 Interrogazioni di una base di dati. Query complesse: JOIN e subquery, tabelle derivate. Trattamento dei valori NULL.
2.4 Elementi di struttura complessi: Viste, Indici.
2.5 Stored procedure e trigger

Metodi didattici

Lezioni frontali, esercitazioni pratiche, attività pratiche di laboratorio.

Testi di riferimento

Domenico Beneventano, Sonia Bergamaschi, Luca Gagliardelli, Francesco Guerra, Maurizio Vincini (2023). Progetto di Basi di Dati Relazionali. Bonomo Editore.

Verifica dell'apprendimento

---
METODO E CONTENUTI DELL'ESAME
---
L'esame si compone di una prova scritta, una prova pratica e una prova orale opzionale.

La prova scritta è volta a verificare:
- conoscenze teoriche sugli argomenti trattati dall'insegnamento (5% della prova)
- la capacità di risolvere i problemi di modellazione concettuale di una base di dati (55% della prova)
- la capacità di risolvere i problemi di modellazione logica di una base di dati (30% della prova)
- la conoscenza e l'utilizzo dell'algebra relazionale (10% della prova)
Gli esercizi possono essere sia a domanda aperta che chiusa.

La prova pratica è volta alla verifica delle competenze acquisite circa:
- la capacità di creare e gestire database relazionali, modificandone lo schema e le istanze (25% della prova)
- l'interrogazione di database relazionali tramite linguaggio SQL (60% della prova)
- la definizione di vincoli complessi sulla base di dati (trigger) (15% della prova)
La prova pratica consiste nella realizzazione di un piccolo progetto con relativo elaborato.

Prova orale opzionale:
Due domande aperte che possono spaziare su tutto il programma dell'insegnamento

---
VALUTAZIONE
---
Il voto complessivo deriva dalla media dei due voti pesati, rispettivamente: 2/3 per la prova scritta e 1/3 per la prova pratica.

La prova orale è opzionale, volta a verificare le conoscenze teoriche e può aggiungere o togliere al voto complessivo max. 2 punti.

---
TEMPI
---
La durata della prova scritta è di 2 ore.
A metà del corso e durante l'ultima settimana del corso sono previste le due prove intermedie che possono sostituire la prova scritta totale, se superate con voto >= 16/30 entrambe (in caso di voto complessivo <18 la prova orale è obbligatoria).


Le iscrizioni alle prove di esame saranno gestite esclusivamente tramite Esse3, il quale sarà utilizzato per la comunicazione degli esiti entro 10 giorni dalla data dell'esame.
Le prova totali saranno a: giugno, luglio, settembre, gennaio e febbraio.

Risultati attesi

Conoscenza e capacità di comprensione: Tramite lezioni in aula, lo studente avrà solide conoscenze e capacità di comprensione nell'ambito della teoria delle basi di dati relazionali, della raccolta ed analisi dei requisiti, delle metodologie di progettazione concettuale e logica, delle tecniche di interrogazione.

Capacità di applicare conoscenza e comprensione: Tramite esercitazioni in aula ed esercitazioni pratiche al computer, lo studente sarà in grado di applicare le conoscenze acquisite nella progettazione ed implementazione di un database.

Autonomia di giudizio: Grazie alla risoluzione di esercizi individuali ed esercizi pratici in laboratorio, lo studente sarà in grado di valutare criticamente le scelte progettuali e implementative adottate e i risultati ottenuti.

Abilità comunicative: Le domande aperte dell'esame scritto, nonché l’eventuale prova orale, daranno modo allo studente di organizzare e presentare con chiarezza mediante il linguaggio tecnico appropriato, i risultati del proprio lavoro.

Capacità di apprendimento: Le attività descritte consentiranno allo studente di acquisire gli strumenti metodologici per proseguire gli studi e per potere provvedere autonomamente al proprio aggiornamento, particolarmente cruciale in un ambito di gestione dell'informazione, dove le tecnologie sono in continua evoluzione.