Basi di dati e di conoscenza

Docente: Paola Vocca

Comunicazioni

Esame orale del 16-02-2024

31-01-2024 20:02

A causa della concomitante sessione di laurea, l'orale di BDC del 16-02-2024 alle ore 14, sempre in aula 19


06-01-2024 17:48

Tutto il materiale didattico è pubblicato sulla pagina Teams del corso


Lezioni

205-10-2023

Introduzione alle basi di dati

102-10-2023

Introduzione al corso- Programma, testi e modalità d'esame


Materiale didattico

Data base di prova per esercizi

Sql base 

Algebra relazionale

Progettazione Logica completa

Progettazione di una base di dati

Esercitazione sulla progettazioen concettuale e logica

Installazione e primi comandi in MySQL

Progettazione Logica

Progettazione concettuale e schema Entity-Relationship

Vincoli d'integrità

Modello relazionale

Modelli per la rappresentazione dei dati

Introduzione alle basi di dati

Itroduzione e presentazioen del corso

Informazioni

Anno accademico2023-2024
Crediti12
SettoreINF/01
Anno2
Semestre1-2
PropedeuticitàMatematica discreta. Programmazione dei calcolatori con laboratorio.

Programma

Presentazione 

Il Corso di Basi di Dati e di Conoscenza ha lo scopo di far acquisire allo studente una buona conoscenza dei principi che governano la progettazione di basi di dati e di conoscenza sia tradizionali sia più avanzati come database distribuiti e NoSQL ed interazione con applicativi. Il Corso propone i concetti basilari dell’algebra e del calcolo relazionale e li declina nello studio del modello Entità-Relazione e, più in generale, delle tematiche relative alla progettazione di basi di dati relazionali. Inoltre, obiettivo formativo del Corso è fornire allo studente una conoscenza nel dettaglio sul funzionamento dei sistemi di gestione delle basi di dati fondati sul linguaggio SQL (Standard Query Language) e l’impiego di quest’ultimo come linguaggio di definizione e manipolazione della base di dati.

 

Programma dettagliato

Introduzione alle basi di dati e modello relazionale dove sono affrontati i seguenti argomenti: Introduzione al corso; Basi di Dati e Sistemi di Gestione di Basi di Dati; Modelli dei Dati e Linguaggi delle Basi di Dati; Modello Relazionale dei Dati.

 

Progettazione concettuale e logica dove sono affrontati i seguenti argomenti: progettazione concettuale di una base dati; progettazione logica di una base dati

 

Esercitazione: Progettazione di un modello E-R a partire da un caso di studio

 

Algebra relazionale sintassi dell'algebra realazionale come linguaggio per la scrittura di Interrogazioni.

 

Calcolo relazionale sintassi del calcolo relazionale come linguaggio d’interrogazione.

 

Esercitazione: Progettazione concettuale e logica di una base dati a partire dal modello E-R derivante da un caso di studio, interrogazioni in algebra relazionale.

 

Linguaggio SQL ed introduzione alla progettazione dove sono affrontati i seguenti argomenti: introduzione al linguaggio SQL; caratteristiche evolute del SQL; SQL per le applicazioni; metodologie e modelli per la progettazione di una base dati.

 

Progettazione fisica e normalizzazione dove sono affrontati i seguenti argomenti: progettazione fisica di una base dati, normalizzazione.

 

Esercitazione: Progettazione fisica e normalizzazione di una base dati a partire dal progetto concettuale e logico derivante da un caso di studio.

 

Interrogazioni e transazioni dove sono affrontati i seguenti argomenti: organizzazione fisica e gestione delle interrogazioni; gestione delle transazioni.

 

Esercitazione sul linguaggio SQL: installazione del software DBMS, creazione e popolamento di un database, interrogazioni semplici ed annidate.

 

Sviluppo applicazioni dove sono affrontati i seguenti argomenti: metodi e librerie per lo sviluppo di applicazioni fondate su basi di dati.

 

Ottimizzazione delle prestazioni: Il processo di ottimizzazione delle query SQL, Tecniche di accesso ai dati dei DBMS relazionali, Tecniche di ottimizzazione, Interpretazione dei piani di esecuzione. Calcolo del costo di esecuzione per query SQL.

 

Basi di dati distribuite: Concetti di basi di dati distribuite, controllo della concorrenza e recovery delle base di dati distribuite. Architetture delle basi di dati distribuite.

 

Basi di dati NoSQL. Modelli dati non relazionali (Document-based, Graph-based, Column oriented). Architetture per DBMS non relazionali. Cluster, Sharding e persistenza. Modellazione dei dati in DBMS NoSQL. 

 

Gestione dei Big Data. Trattamento di grandi quantità di dati. Map Reduce e Hadoop. Hadoop Distributed File System. Spark SQL.

 

Prerequisiti Lo studente deve aver sostenuto gli esami di

1. Matematica discreta.

2. Programmazione dei calcolatori con laboratorio.

 

Modalità d'esame

La prova d’esame consiste:

1. Realizzazione di un progetto (40%)

2. Prova scritta (40%)

3. Prova orale sul programma del corso. (20%)

Si potrà accedere alla prova orale solo previa consegna del progetto e una valutazione positiva dello scritto. I voti verranno assegnati in base a una valutazione complessiva delle conoscenze, competenze, capacità di presentazione e discussione delle tematiche trattate. I range di voti corrispondono possono essere descritti come segue:

18-23: preparazione e capacità di analisi sufficienti ma relative ad un numero limitato di argomenti affrontati nel corso, utilizzo di un linguaggio complessivamente corretto;

24-27: preparazione tecnicamente adeguata ma con alcuni limiti rispetto agli argomenti trattati, capacità di analisi buone, anche se non particolarmente articolate, espresse in un linguaggio corretto;

28-30: ottima conoscenza di un ampio numero di temi affrontati nel corso, buone capacità di analisi e di critica, padronanza della terminologia specifica;

30L: conoscenza eccellente e molto approfondita ed esaustiva dei temi affrontati nel corso, capacità di analisi critica e di collegamento, padronanza della terminologia specifica.

 

Testi di riferimento 

Atzeni, Ceri, Fraternali, Paraboschi, Torlone Basi di dati -Modelli e Linguaggi di interrogazione- ed. McGraw-Hill 4nd edition

 

Materiale del corso on-line Il materiale del corso è disponibile alla pagina del corso

 

Per informazioni o domande, è possibile scrivere per posta elettronica alla Prof.ssa Paola Vocca paola.vocca@uniroma2.it, oppure durante l’orario di ricevimento il lunedì dalle 11:00 alle 12:00 presso lo studio.


Testi di riferimento

Testi di riferimento 

Atzeni, Ceri, Fraternali, Paraboschi, Torlone Basi di dati -Modelli e Linguaggi di interrogazione- ed. McGraw-Hill 4nd edition


Ricevimento studenti

 

Per informazioni o domande, è possibile scrivere per posta elettronica alla Prof.ssa Paola Vocca paola.vocca@uniroma2.it, oppure durante l’orario di ricevimento il lunedì dalle 11:00 alle 12:00 presso lo studio.


Modalità di esame

Modalità d'esame

La prova d’esame consiste:

1. Realizzazione di un progetto (40%)

2. Prova scritta (40%)

3. Prova orale sul programma del corso. (20%)

Si potrà accedere alla prova orale solo previa consegna del progetto e una valutazione positiva dello scritto. I voti verranno assegnati in base a una valutazione complessiva delle conoscenze, competenze, capacità di presentazione e discussione delle tematiche trattate. I range di voti corrispondono possono essere descritti come segue:

18-23: preparazione e capacità di analisi sufficienti ma relative ad un numero limitato di argomenti affrontati nel corso, utilizzo di un linguaggio complessivamente corretto;

24-27: preparazione tecnicamente adeguata ma con alcuni limiti rispetto agli argomenti trattati, capacità di analisi buone, anche se non particolarmente articolate, espresse in un linguaggio corretto;

28-30: ottima conoscenza di un ampio numero di temi affrontati nel corso, buone capacità di analisi e di critica, padronanza della terminologia specifica;

30L: conoscenza eccellente e molto approfondita ed esaustiva dei temi affrontati nel corso, capacità di analisi critica e di collegamento, padronanza della terminologia specifica.