Programma 2013-14 N.O. - Basi di Dati e Sistemi

Piano del Corso di Basi di Dati e Sistemi Informativi
Corso di laurea: Laurea Triennale in Ingegneria Informatica – D.M. 270/04
Anno accademico: 2013 - 2014
Ambito disciplinare (settore scientifico disciplinare): Sistemi di Elaborazione delle Informazioni (INGINF/05)
CFU: 9
Titolo dell’insegnamento: Sistemi informativi - 1° Modulo: Sistemi informativi
ARTICOLAZIONE IN TIPOLOGIE DIDATTICHE:
52 ore di lezioni teoriche, 40 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:






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
Introduzione alle reti di calcolatori
o Architettura del World Wide Web
o Elementi di base del World Wide Web: URI, URL e URN
Linguaggi e tecnologie per il Web
o Standard di codifica del testo: Unicode
o Il linguaggio HTML e le pagine Web
o Fogli di stile CSS
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
Sistemi Informativi distribuiti
o Architettura di un sistema informativo distribuito
o Introduzione ai middleware: vantaggi e limiti
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
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 inoltre in grado di modellare ed interrogare una base di dati sfruttando il linguaggio SQL.
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.
Il docente del corso
Prof. Eugenio Di Sciascio