Piano del Corso di "Basi di Dati e Sistemi Informativi"
Corso di laurea: Laurea Triennale in Ingegneria Informatica e dell'Automazione – D.M. 270/04
Anno accademico: 2015 - 2016
Ambito disciplinare (settore scientifico disciplinare): Sistemi di Elaborazione delle Informazioni (INGINF/05)
CFU: 9
Titolo dell’insegnamento: Basi di Dati e Sistemi Informativi
ARTICOLAZIONE IN TIPOLOGIE DIDATTICHE:
48 ore di lezioni teoriche, 24 ore di esercitazioni
CONOSCENZE PRELIMINARI:
Fondamenti dell’Informatica
OBIETTIVI FORMATIVI:
Il corso ha lo scopo precipuo di introdurre ai sistemi informativi su elaboratore per la gestione di dati strutturati
basati su DataBase Management Systems (DBMS), fornendo elementi per la modellazione e l’interrogazione di
basi di dati. Il modulo del corso introduce al linguaggio SQL, coprendo inoltre gli aspetti teorici e pratici per la
memorizzazione di informazioni in basi di dati relazionali.
Il corso inoltre introduce ai linguaggi principali del Web e dei sistemi informativi Web-based. Copre gli aspetti
teorici e pratici della ricerca di informazioni non strutturate e in ultimo sono illustrati temi emergenti, quali il
Semantic Web, fornendo le basi teoriche e applicative per affrontare questi nuovi paradigmi.
PROGRAMMA:
Basi di Dati (6 CFU*)
 Progettazione di Basi di dati
o Raccolta e analisi dei requisiti
o Modello concettuale di una base di dati
o Modello Entità-Relazione (E-R)
 Basi di dati relazionali: modello e linguaggi
o Modello logico: il modello relazionale ed i suoi elementi
o Ristrutturazione di schemi E-R
 Analisi delle ridondanze
 Eliminazione delle generalizzazioni
 Scelta degli identificatori principali
o Traduzione verso il modello relazionale
o Vincoli di integrità
 Algebra e calcolo relazionale
 La normalizzazione: teoria e metodi
o Ridondanze e anomalie
o Dipendenze funzionali
o Forma normale di Boyce-Codd
o Proprietà delle decomposizioni
o Terza forma normale
 Il linguaggio SQL per Relational Data Base Management System (RDBMS)
o Data Definition Language (DDL)
o Data Manipulation Language (DML)
 SQL: caratteristiche evolute
o Asserzioni
o Viste
o Trigger e Basi di dati attive
 Definizione e uso dei trigger in SQL-3
 Applicazioni delle basi di dati attive
o Controllo dell'accesso
o Transazioni





 Commit e Rollback
 Proprietà acide delle transazioni
Sviluppo di applicazioni per Basi di dati
o SQL Embedded: cursori e SQL dinamico
o Call Level Interface (CLI)
 ODBC e le soluzioni proprietarie Microsoft
 JDBC e architetture di riferimento
o Stored Procedures: introduzione a Oracle PL/SQL
Organizzazione fisica e gestione delle interrogazioni
o Memoria principale, memoria secondaria e gestione del buffer
o Strutture primarie per l'organizzazione dei file
o Strutture ad albero
o Strutture fisiche e indici
Gestione delle transazioni
o Controllo di affidabilità: organizzazione e scrittura del file di log
o Controllo di concorrenza: meccanismi per la gestione dei lock
Architetture distribuite
o Basi di dati distribuite: architetture e tecnologie
o Protocollo di commit a due fasi
Architetture per l'analisi dei dati
o Architettura di un Data Warehouse
o Rappresentazione multidimensionale dei dati
o Il processo di Data Mining
Sistemi Informativi (3 CFU)
 Introduzione alle reti di calcolatori
o Architettura del World Wide Web
o Elementi di base del World Wide Web: URI, URL e URN
 Markup descrizionale XML (eXstensible Markup Language)
o Namespace XML
o Validazione di file XML: DTD e XML Schema
o Cenni a linguaggi basati su XML: XPath e XQuery
 Architetture Service Oriented (SOA)
o Il concetto di Web Service
o Tecnologie e linguaggi per SOA
o Il protocollo SOAP
 Formato dei messaggi
 Codifica e regole di elaborazione
 Tipologie di interazione
o Il linguaggio WSDL
 Struttura dei messaggi
 Tipi di interazione e Binding
 Pattern di scambio dei messaggi
o Lo standard UDDI
 Operazioni di un directory service
 Modello dei dati
 Il Web Semantico
o Fondamenti ed evoluzione del Web
o Linguaggi per la creazione del Web Semantico
 RDF e RDF Schema: Statement e serializzazioni RDF
 Il linguaggio SPARQL
o Dati per il web semantico e Linked Open Data
 Five Star Rating e licenze d'uso
 Elementi di Information Retrieval (IR) e Web IR
o Processo di IR e rappresentazione formale
o Architettura generale e operazioni sui testi
o Indicizzazione

o Modello booleano e vettoriale
o Valutazione di un IRS: precision e recall
o Introduzione al Web IR
o Algoritmo Page Rank
Database NoSQL
o Caratteristiche e principali implementazioni
o Esempi di utilizzo: introduzione a Neo4j
* Il programma relativo alla prima parte (Basi di Dati) può essere utilizzato come riferimento per l'esame di
"Sistemi Informativi" (6 CFU - Ord. 509)
METODI DI INSEGNAMENTO:
Lezioni ed esercitazioni in aula supportate da videoproiettore.
Esercitazioni di supporto mirate alla progettazione di basi di dati e alla definizione di query in linguaggio SQL.
CONOSCENZE E ABILITÀ ATTESE:
Gli allievi saranno in grado di utilizzare e gestire elementi organizzativi, applicativi e tecnologici di un sistema
informativo. Saranno in grado di modellare ed interrogare una base di dati sfruttando il linguaggio SQL.
Acquisiranno infine le competenze di base per utilizzare i principali linguaggi del Web e saranno in grado di
realizzare semplici Web application.
TESTI DI RIFERIMENTO PRINCIPALI:
Materiale didattico fornito dal docente
ULTERIORI TESTI SUGGERITI:
 P. Atzeni, S. Ceri, P. Fraternali, S. Paraboschi, R. Torlone. Basi di dati - Modelli e linguaggi di
interrogazione 4/ed, Mcgraw-Hill, 2013 (ISBN: 9788838668005)
 T. Di Noia, R. De Virgilio, E. Di Sciascio, F. M. Donini, Semantic Web - Tra ontologie e Open Data,
Apogeo, 2013.
Bari, 29 Febbraio 2016
Il docente del corso
Ing. Giuseppe Loseto