BASI DI DATI

[079IN]
a.a. 2025/2026

3° Anno - Secondo Semestre

Frequenza Non obbligatoria

  • 9 CFU
  • 72 ore
  • ITALIANO
  • Sede di Trieste
  • Obbligatoria
  • Convenzionale
  • Orale
  • SSD ING-INF/05
Curricula: INFORMATICA
Syllabus

Conoscenza e capacità di comprensione.
◦ Conoscere cosa significa persistere i dati.
◦ Conoscere i principali metodi per persistere dati.
◦ Conoscere i modelli logici esistenti e le differenze tra di loro.
◦ Conoscere il linguaggio SQL, la sua sintassi e i suoi usi.
◦ Conoscere i concetti di Prepared Statement, Stored Procedure e Trigger.
◦ Conoscere gli strumenti per accedere ai dati.
◦ Comprendere come rappresentare cocnettulamente una base di dati.
Capacità di applicare conoscenza e comprensione.
◦ Progettare, sviluppare ed unitlizzare una base di dati, relazionale o no-SQL.
Autonomia di giudizio.
◦ Decidere quale rappresentazione concettuale è adatta per persistere dati.
◦ Giudicare quale è lo schema logico più adatto per persistere dai.
Abilità comunicative.
◦ Descrivere le motivazioni alla base delle scelte di progetto di una base di dati.
◦ Comprendere, formulare e descrivere le specifiche per una base di dati.
Capacità di apprendimento.
◦ Imparare ad usare, attraverso la documentazione del software e gli esempi di utilizzo, un qualsiasi DMBS.
◦ Imparare le basi di linguaggi e metodi per interrogare le basi di dati.

-Architetture dei Calcolatori

-Fondamenti di Informatica

-Algoritmi e Strutture Dati

-Reti di Calcolatori

◦ Concetti Fondamentali

◦ Progettazione delle Basi di Dati

◦ Progettazione Concettuale

◦ Progettazione Logica

◦ Modello Relazionale

◦ Linguaggio SQL

◦ SQL nei Linguaggi di Programmazione

◦ Normalizzazione delle Basi di Dati

◦ Tecnologia delle Basi di Dati

◦ Strutture Fisiche in Memoria Secondaria

◦ No-SQL

-P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone, “Basi di Dati – Modelli e Linguaggi di Interrogazione”, 3a ed., McGraw-Hill

-J.D. Ullman, “Principles of Database and Knowledge-Base Systems”, Jackson

Altri Testi:

-H. Garcia-Molina, J.D. Ullman, J.D. Widom, “Database Systems: The Complete Book”, Prentice Hall

-H. Garcia-Molina, J.D. Ullman, J.D. Widom, “Database System Implementation”, Prentice Hall

◦ Concetti Fondamentali. Sistemi informativi e gestione di basi di dati. Archivi e basi di dati: problemi e soluzioni. Sistema di gestione di basi di dati (DBMS). Livelli di astrazione e indipendenza dei dati. Linguaggi e utenti delle basi di dati. Requisiti di un DBMS.

◦ Progettazione delle Basi di Dati. Ciclo di vita dei sistemi informativi. Formalismi per la progettazione delle basi di dati. Fasi della progettazione delle basi di dati: progettazione concettuale, progettazione logica, progettazione fisica. Modello Entità/Relazione. Entità, relazione, attributo e generalizzazione.

◦ Progettazione Concettuale. Progettazione di schemi di basi di dati mediante il modello E/R. Requisiti degli schemi di basi di dati. Progettazione di basi di dati di tipo top-down, bottom-up e ibrida.

◦ Progettazione Logica. Fasi della progettazione logica di basi di dati. Traduzione dal modello E/R al modello relazionale.

◦ Modello Relazionale. Struttura di una base di dati relazionale. Relazione, relazione con attributi, schema di una relazione, schema di una base di dati. Tuple. Istanza di relazione e istanza di base di dati. Integrità referenziale. Chiavi interne e chiavi esterne. Linguaggi di interrogazione di basi di dati procedurali e dichiarativi.

◦ Linguaggio SQL. Definizione di schemi. Aggiornamento di schemi e istanze. Query e operazioni in SQL. Definizione di viste. Definizione di vincoli. Controllo degli accessi ai dati.

◦ SQL nei Linguaggi di Programmazione. SQL nei linguaggi di programmazione: principi e modelli di programmazione. Programmazione delle basi di dati con SQL embedded.

◦ Normalizzazione delle Basi di Dati. Ridondanze e anomalie. Dipendenze funzionali. Forme normali: forma normale di Boyce-Codd, terza forma normale. Decomposizione in forma normale.

◦ Tecnologia delle Basi di Dati. Transazioni e proprietà ACID.

◦ Strutture Fisiche in Memoria Secondaria. Modelli di accessi ai dati. Strutture dati per supportare accesso dati efficiente: funzioni Hash, indici, B-tree.

◦ Basi di dati orientate alle tecnologie No-SQL. Paradigma BASE e basi di dati a documenti, a grafi e a colonne.

Lezioni frontali su slide preparate dal docente su ogni argomento trattato nel corso.

Esercitazioni pratiche da svolgere in maniera autonoma dagli studenti, sulla base di guide ed indicazioni fornite dal docente.

http://delorenzo.inginf.units.it/

Eventuali cambiamenti alle modalità qui descritte, che si rendessero necessari per garantire l'applicazione dei protocolli di sicurezza legati all'emergenza COVID19, saranno comunicati nel sito web di Dipartimento, del Corso di Studio e dell'insegnamento.

Progetto e prova orale; progetto completo sulla progettazione e lo sviluppo di un'applicazione di gestione di database.
Test scritto con domande a risposta multipla.

In ogni tipologia di contenuto prodotto dallo studente per essere ammesso o per partecipare ad una prova d’esame (progetti, relazioni, esercizi, test), l’eventuale uso di strumenti Large Language Model (ChatGPT e simili) deve essere dichiarato esplicitamente. Questo requisito deve essere rispettato anche in caso di uso parziale.

A prescindere dalle modalità di verifica dell'apprendimento, il docente si riserva comunque la possibilità di approfondire con un esame orale l’effettivo contributo dello studente in ogni tipologia di contenuto prodotto.

Industria, innovazione e infrastrutture

icona 9