Università degli Studi di Napoli "Parthenope"

Scheda dell'insegnamento

Anno accademico: 
2017/2018
Tipologia di insegnamento: 
Caratterizzante
Tipo di attività: 
Obbligatorio
Corso di afferenza: 
Corso di Corso di Laurea Magistrale in INFORMATICA APPLICATA
Settore disciplinare: 
INFORMATICA (INF/01)
Crediti: 
9
Anno di corso: 
1
Ciclo: 
Secondo Semestre
Ore di attivita' frontale: 
72

Obiettivi

Il corso si propone di fornire le competenze essenziali per ottimizzare la gestione di una Base di Dati tramite un Database Management System di tipo relazionale e una visione generale di diverse tipologie di DBMS (ad oggetti, distribuito, NOsql, Data Warehouse) in modo da operare una scelta consapevole della tecnologia più adatta ad ogni caso d'uso.
Ulteriore obiettivo è l'acquisizione di conoscenze per comprendere, secondo una prospettiva manageriale, il significato ed il ruolo del sistema informativo in azienda.

La parte preponderante del corso riguarda la progettazione fisica, ovvero lo studio delle tecniche atte a migliorare le prestazioni di una base di dati relazionale esistente. Si presume che lo schema relazionale sia dato, e si illustra come sia possibile migliorare anche di ordini di grandezza il tempo di accesso ai dati in esso contenuti. Oltre questo, si presenta una panoramica su tecnologie non strettamente relazionali, dai DB Object Relational, ai Data Warehouse, ai sistemi NoSQL.

Saranno fornite inoltre conoscenze conoscenze inerenti: i) i principali tipi di sistemi informativi e sul loro utilizzo in azienda, con particolare riferimento ai sistemi informativi integrati (ERP); ii) le principali trasformazioni gestionali abilitate dai sistemi informativi; iii) strumenti per analizzare, visualizzare, organizzare e comprendere i dati aziendali: data warehouse, Business Intelligence, sistemi DSS ed ESS, sistemi CRM. Il Corso intende anche fornire una overview degli applicativi SAP.

A fine corso, l’abilità principale acquisita sarà quella di decidere se, quando e in che modo usare le principali tecniche di ottimizzazione (indicizzazione, multidimensional clustering, range partitioning, viste materializzate, caching) o decidere una strategia di partizionamento dei dati (Sharding) in ambiente distribuito, ovvero tutto ciò che sta sotto l’ombrello del Database tuning. Dal punto di vista pratico, si miglioreranno nelle lezioni di laboratorio le capacità operative sul DBMS Oracle attraverso esempi ed esercizi di funzioni avanzate non trattate nel corso di primo livello e l'approfondimento del linguaggio PL/SQL. Saranno introdotti inoltre i rudimenti della tecnologia JSP – quanto basta per sviluppare una semplice applicazione web di tipo gestionale.

Per superare l'esame è richiesto lo sviluppo di un progetto individuale, che partendo da un caso verosimile di Base di Dati reale, la doti di tutte le funzionalità avanzate trattate nelle lezioni di laboratorio e metta alla prova sia la capacità di astrazione, ragionamento e risoluzione di problemi, sia la capacità operativa su di un software complesso come il DBMS Oracle.

Conoscenza e capacità di comprensione:
Lo studente deve dimostrare di muoversi con autonomia nella gestione di Basi di Dati relazionali, immaginando ed implementando funzionalità evolute e padroneggiando il linguaggio PL/SQL e i rudimenti di JSP. Deve inoltre dimostrare buona comprensione del ruolo dei sistemi informativi aziendali e degli strumenti per analizzare, visualizzare, organizzare e comprendere i dati aziendali

Capacità di applicare conoscenza e comprensione:
Lo studente deve dimostrare di saper dotare una Base di Dati relazionale preesistente di funzionalità evolute e di saper sviluppare una web application completa di tipo gestionale partendo da un Database Preesistente (tipicamente il DB sviluppato come progetto in BDI).
Abilità comunicative:
lo studente deve essere in grado di documentare opportunamente il database sviluppato come progetto, partendo dalla descrizione delle funzionalità aggiunte fino al codice PL/SQL, avvalendosi del linguaggio visuale UML e usando correttamente la terminologia propria delle Basi di Dati.

Prerequisiti

E' necessario avere acquisito i fondamenti delle Basi di Dati relazionali e le competenze di strutture dati trasmesse dal corsi di Basi di Dati I e Algoritmi e Strutture Dati della laurea triennale in Informatica.

Contenuti

Il corso approfondisce la progettazione fisica delle Basi di Dati relazionali fornendo tutti gli elementi necessari per operare un tuning consapevole delle performance di una base di dati relazionale preesistente;
inoltre fornisce una panoramica delle tecnologie alternative, anche in ambiente distribuito, per operare una scelta consapevole della soluzione di persistenza più adeguata per ciascun caso d'uso; infine fornisce una visione secondo una prospettiva manageriale del significato e del ruolo del sistema informativo in azienda.

Metodi didattici

Lezione frontale alla lavagna ed esercitazioni pratiche al PC in laboratorio. In particolare non si distribuiscono slide, ma si incoraggiano gli studenti a partecipare attivamente alla lezione e a prendere appunti.

Verifica dell'apprendimento

L’esame prevede la verifica delle competenze acquisite in base a tre coordinate: la prova scritta; la realizzazione di un progetto; la verifica orale.
La prova scritta verte sulla progettazione fisica, e dato un semplice schema relazionale prevede la soluzione di tre esercizi sui costi di accesso e sull’ingombro di varie configurazioni di indici e query; il progetto prevede l’aggiunta di funzionalità evolute ad un database esistente e la predisposizione di alcune pagine gestionali tramite tecnologia JSP; la verifica orale prevede la discussione del progetto seguita da alcune domande di approfondimento.
Per ciascun esercizio della prova sarà valutato il grado di completamento in una scala da 1 a 10. Il punteggio finale sarà la media pesata dei punti rappresentanti la difficoltà di ciascun esercizio con i gradi di completamento, arrotondata all’intero più vicino. La prova scritta e il progetto sono valutati con un punteggio massimo di 30/30 e di 5/5 ed un punteggio minimo di 16/20 e 3/5 rispettivamente.

Testi

Principali riferimenti:
Shamkant B. Navathe Ramez A. Elmasri. Sistemi di Basi di Dati - Complementi. Addison Wesley, 4 edition, 2005.
Shamkant B. Navathe Ramez A. Elmasri. Sistemi di Basi di Dati - Fondamenti. Addison Wesley, 6 edition, 2011.
Tom Nadeau Sam Lightstone, Toby Teorey. Physical Database Design. Morgan Kaufmann, 2007.
Michael McLaughlin Scott Urman, Ron Hardman. PL/SQL programming. Oracle press, 2004.
Sistemi Informativi d'Impresa, A cura di Giampio Bracchi, Chiara Francalanci, Gianmario Motta, McGraw-Hill, 2010.
Appunti della prof. C. Metallo.

Riferimenti per alcuni argomenti specifici:
Antonio Albano. Costruire sistemi per Basi di Dati. Addison Wesley, 1 edition, 2001. [Cel14] Joe Celko. Joe Celko’s complete guide to NoSQL. Morgan Kaufmann, 1 edition,
2014.
Annalisa Franco Dario Maio, Stefano Rizzi. Esercizi di progettazione di Basi di Dati. Progetto Leonardo, 2 edition, 2005.
Andrea Steelman Joel Murach. Java servlets and JSP. Murach and associated, 2 edition, 2008.
Dario Maio Paolo Ciaccia. Lezioni di Basi di Dati. Progetto Leonardo, 1 edition,
1995.

Tutte le lezioni di teoria sono fruibili in streaming come video in formato mov attraverso la piattaforma di e-learning del Dipartimento di Scienze e Tecnologie, dove è possibile trovare tracce d'esame e note per il laboratorio.

Altre informazioni

Ulteriori dettagli sono sulla piattaforma di e-learning.