BASI DI DATI - MOD.2
- Anno accademico
- 2024/2025 Programmi anni precedenti
- Titolo corso in inglese
- DATABASE SYSTEMS - PART 2
- Codice insegnamento
- CT0006 (AF:451310 AR:256603)
- Lingua di insegnamento
- Italiano
- Modalità
- In presenza
- Crediti formativi universitari
- 6 su 12 di BASI DI DATI
- Livello laurea
- Laurea
- Settore scientifico disciplinare
- INF/01
- Periodo
- II Semestre
- Anno corso
- 2
- Sede
- VENEZIA
- Spazio Moodle
- Link allo spazio del corso
Inquadramento dell'insegnamento nel percorso del corso di studio
L'insegnamento contribuisce agli obiettivi formativi del corso di studio, in particolare sviluppando competenze metodologiche e pratiche nell'uso e nella gestione delle basi di dati relazionali e non relazionali.
Risultati di apprendimento attesi
- Conoscere i principi fondamentali della teoria della normalizzazione delle basi di dati.
- Comprendere le principali tecniche di amministrazione delle basi di dati relazionali.
- Conoscere i concetti di base relativi ai modelli di dati non relazionali (NoSQL).
Capacità di applicare conoscenza e comprensione:
- Applicare la teoria della normalizzazione per progettare schemi relazionali efficienti.
- Configurare e amministrare una base di dati relazionale, implementando trigger, procedure e politiche di sicurezza.
- Sviluppare applicazioni in grado di interfacciarsi con basi di dati relazionali e non relazionali.
Capacità di giudizio:
- Valutare l’efficienza e la coerenza di un database relazionale in termini di normalizzazione e amministrazione.
Abilità comunicative:
- Comunicare le proprie scelte progettuali e tecniche legate alla gestione e all’uso delle basi di dati.
Prerequisiti
- Competenze di programmazione imperativa e rudimenti di programmazione a oggetti.
- Conoscenza del linguaggio SQL e delle basi della modellazione concettuale di una base di dati (offerte dal Modulo 1).
Contenuti
- SQL avanzato per l’amministrazione di basi di dati (creazione di trigger, procedure, gestione della sicurezza).
- Sviluppo di applicazioni che si interfacciano con una base di dati tramite linguaggi di programmazione (es. Python, Java).
- Introduzione ai modelli di dati non relazionali (NoSQL) e panoramica dei principali DBMS NoSQL.
Testi di riferimento
H. Garcia-Molina, J. Ullman, J. Widom - Database Systems: The Complete Book, 2008
Modalità di verifica dell'apprendimento
Per il Modulo 1 (contribuisce per il 50% del voto finale):
1) la capacità di progettare lo schema concettuale di una base di dati e l'acquisizione della metodologia per trasformare lo schema concettuale in uno schema relazionale,
2) l'abilità di effettuare query in SQL.
Per il Modulo 2 (contribuisce per il 30% del voto finale)::
3) la conoscenza delle nozioni e degli algoritmi relativi alla teoria della normalizzazione,
4) la capacità di amministrare in maniera adeguata una base di dati tramite la definizione di trigger, procedure ed opportune pratiche di sicurezza,
5) la capacità di scrivere codice applicativo che si interfaccia con una base di dati e di rappresentare conoscenza tramite modelli non relazionali.
Il progetto contribuisce per il rimanente 20% sul voto finale del corso.
La prova scritta può essere sostituita dal superamento di due prove intermedie (la prima durante la sessione invernale e la seconda in concomitanza con il primo appello della sessione estiva). La prima prova intermedia verifica le abilità 1) e 2) mentre la seconda prova intermedia valuta le conoscenze 3), 4) e 5). Le prove intermedie si ritengono superate se entrambe hanno conseguito un punteggio maggiore o uguale a 17. Chi non supera una delle due prove intermedie dovrà affrontare l'intera prova scritta in uno degli appelli successivi. Durante la prova scritta non è ammesso l'uso di libri, appunti, supporti elettronici.