Presentazione

Organizzazione della Didattica

DM270
STATISTICA PER L'ECONOMIA E L'IMPRESA ORD. 2014


6

Corsi comuni

 

Frontali Esercizi Laboratorio Studio Individuale
ORE: 32 0 10 69

Periodo

AnnoPeriodo
I anno2 semestre

Frequenza

Facoltativa

Erogazione

Convenzionale

Lingua

Italiano

Calendario Attività Didattiche

InizioFine
26/02/201801/06/2018

Tipologia

TipologiaAmbitoSSDCFU
caratterizzanteInformatico-matematico applicatoING-INF/056


Responsabile Insegnamento

ResponsabileSSDStruttura
Prof. MELUCCI MASSIMOING-INF/05Dipartimento di Ingegneria dell'Informazione

Altri Docenti

DocenteCoperturaSSDStruttura
MutuazioneN.D.
MutuazioneN.D.

Attività di Supporto alla Didattica

Non previste.

Bollettino

Non e' richiesta una conoscenza preliminare delle basi di dati, ma e' importante conoscere i concetti elementari dell'architettura e del sistema operativo di un calcolatore illustrati in Sistemi di elaborazione 1. Sara' reso disponibile un glossario dei concetti ritenuti indispensabili.

S'intende formare una figura professionale in grado di descrivere, raccogliere, organizzare e gestire grandi moli di dati mediante rigorose metodologie informatiche. A questo scopo, s'intende promuovere la conoscenza dei principali metodi e strumenti di gestione delle basi di dati, con speciale attenzione alla progettazione e interrogazione di una base di dati. S'intendono poi delineare - anche solo per via d'accenno - i concetti relativi ai sistemi informativi automatizzati e le problematiche di natura informatica derivanti dalla gestione di grandi moli dati.

L'attivita' di apprendimento principale si svolge in aula in forma di lezioni frontali tenute in italiano con l'ausilio della lavagna e del video proiettore. Attivita' altrettanto importante e' lo studio individuale e in particolare lo svolgimento di temi d'esame e la soluzione di problemi posti a lezione, autonomamente o in gruppo. Si raccomanda di approfittare del ricevimento per presentare al docente gli esercizi svolti e ottenere suggerimenti utili alla preparazione per l'esame. Sebbene la frequenza delle lezioni sia facoltativa, si consiglia di partecipare alle lezioni comunque. Nel caso in cui si decida di prepararsi autonomamente, si consiglia di svolgere i temi d'esame e risolvere i problemi posti a lezione. In particolare, nel caso in cui si decida malauguratamente di non partecipare alle lezioni di laboratorio, si suggerisce di installare e utilizzare sul proprio calcolatore un SGBD relazionale come, ad esempio, MySQL o MariaDB; va bene anche PostgreSQL, ma si faccia attenzione alle differenze di sintassi di SQL e dei comandi di gestione del server.

Si dara' una prospettiva storica dell'evoluzione delle tecnologie della comunicazione e dell'informazione e in particolare di quelle delle basi di dati, dal secondo dopoguerra ad oggi. S'introdurranno i concetti di: definizione di sistema informativo, informazione, dato, dato atomico, metadato, dato nullo per assenza, ignoranza o inapplicabilita' dell'informazione. Si presentaranno le definizioni fondamentali della rappresentazione dei dati, cioe' quelle di proprieta', attributo come campo o derivato da una funzione, meccanismo di classificazione, insieme, estensione ed intensione, identita' di un elemento di un insieme. Si procedera' poi ad illustrare i meccanismi di aggregazione, generalizzazione, riuso top-down o bottom-up. Si introdurra' il concetto generale di modello di dati da quello di realta' d'interesse per poi definire quello di schema e di catalogo dei metadati. Si vedranno i tre tipi di modello: concettuale, logico e fisico. Si dara' un cenno al sottoschema (view, vista) materializzato o no. Si presentera' in modo rigoroso il concetto di base di dati e di sistema di gestione di basi di dati (SGBD). Si affrontera' il tema delle operazioni: lettura (interrogazione), scrittura (inserimento, modifica, cancellazione), operazione interattiva e operazione batch con attenzione alla dimensione dei dati, all'efficienza e alla scalabilita' delle operazioni che fanno parte di un'applicazione di basi di dati. S'introdurranno i concetti di utente, tipo di utente e linguaggio di gestione dei dati per passare poi alle caratteristiche di un SGBD: natura autodescrittiva, viste multiple, condivisione, gestione dei conflitti, controllo della ridondanza, indipendenza fisica, indipendenza logica, sicurezza, controllo degli accessi, privilegi, ripristino, backup, mirroring, log file. A partire dai requisiti e dai vincoli che costituiscono la realta' d'interesse, s'introdurra' la progettazione di una base di dati articolata nelle sue fasi: raccolta dei requisiti, analisi dei requisiti, glossario dei termini, lista delle operazioni, definizione del costo computazionale e costo economico. S'illustrera' il modello Entita'-Associazione (Entity-Relationship, ER) e i suoi costrutti: entita', associazione, attributo. Si approfondiranno il grado di un'associazione, le regole di redazione degli schemi ER, il rapporto di cardinalita', l'attributo identificatore, la generalizzazione, l'ereditarieta', le generalizzazioni parziale, totale, esclusiva, sovrapposta, l'associazione ternaria e l'identificatore esterno. Si utilizzeranno gli schemi ER per valutare il costo computazionale di un'operazione in termini di numero di accessi, spazio di memoria e il trade-off tra essi. A tal scopo, si utilizzera' la matrice CRUD. Cio' permettera' di passare alla ristrutturazione dello schema per arrivare poi allo schema logico. Durante la ristrutturazione, si individueranno i dati ridondanti e si utilizzeranno partizionamenti e accorpamenti. Le eventuali generalizzazioni saranno sostituite mediante appositi metodi di sostituzione: accorpamento in entita' generale, accorpamento in entita' specifica, traduzione in associazione. Si presentera' il modello logico e i concetti di campo, tupla, tabella, chiave, chiave esterna, vincolo di integrita' referenziale. Si presentaranno i meccanismi di traduzione delle entita' e delle associazioni con riferimento al costo computazionale e al rapporto di cardinalita'. L'attivita' di laboratorio sara' dedicata all'acquisizione degli strumenti principali di SQL che sono necessari alla gestione delle tabelle e dei dati contenuti in esse con attenzione alla logica dell'interrogazioni per basi di dati di qualsiasi complessita'.

L'esame consiste di una prova scritta e di una prova pratica. La prova scritta verte sulla progettazione di una base di dati di cui sono forniti i requisiti nel tema della prova e potrà includere quesiti su qualsiasi argomento del programma, sia teorico che pratico. La prova pratica e' svolta in laboratorio, al calcolatore e in modo autonomo. Essa consiste nella realizzazione, popolamento e interrogazione, mediante Structured Query Language (SQL) ed un sistema di gestione di basi di dati (SGBD), di una base di dati il cui schema e' fornito nel tema della prova. A scelta dello studente e comunque solo per il primo appello estivo, la prova pratica in laboratorio potra' essere sostituita con un mini-progetto di basi di dati consistente in: * l'analisi dei requisiti di una realtà, anche fittizia, di proprio interesse * il progetto concettuale * il progetto logico * le operazioni SQL Una semplice interfaccia web e la tecnologia e' a scelta, ma si suggerisce una di tipo client-server (ad esempio, MySQL / MariaDB, PostgreSQL).

Per la prova scritta, si valutera' innanzitutto la capacita' di produrre schemi di basi di dati di cui sono stati forniti i requisiti. Oltre all'utilizzo corretto della grammatica del modello ER, si considerera' importante la rispondenza esatta ai requisiti, cioe', che lo schema rispetti tutti e solo i requisiti dati. Si terra' conto anche della calligrafia e dell'ordine di tenuta del foglio d'esame. I criteri di valutazione finale e il numero di crediti restano gli stessi per chi desidera cimentarsi in mini-progetto. Per la prova pratica, si valutera' innanzitutto la correttezza logica e sintattica delle istruzioni SQL. Si terra' conto della capacita' d'uso del calcolatore e di produrre autonomamente i file richiesti dal tema della prova. Inoltre, nel caso di mini-progetto, si valutera' la qualita' del progetto concettuale e logico. L'esame e' superato solo se si supera ciascuna prova con un voto sufficiente. Il voto finale d'esame e' una media ponderata dei voti delle due prove superate; il peso della prova scritta e' 70%. E' possibile rifiutare il voto di una prova senza dover rifiutare il voto dell'altra prova. Una prova puo' essere sostenuta in un appello diverso da quello dell'altra prova. Il voto di una prova rimane valido fino all'ultimo appello previsto per l'anno accademico in cui si e' sostenuta la prova.

Melucci, Massimo, Basi di dati. : Esculapio, 2013 Atzeni, Paolo et al., Basi di dati. : McGraw-Hill, 2009

Saranno resi disponibili i materiali con i contenuti delle lezioni e altri documenti di supporto. Per il laboratorio, ci sono molte guide su SQL e sull'implementazione di MySQL, MariaDB e PostgreSQL. Si suggerisce di far riferimento alla documentazione disponibile sui siti WWW di questi SGBD.