Classe delle lauree in: Ingegneria dell’Informazione (L-3) Tipo di attività formativa: Caratterizzante Titolo dell’insegnamento: BASI DI DATI E SISTEMI INFORMATIVI Ambito disciplinare: Ingegneria Informatica Codice dell’insegnamento: [2185] Corso di Laurea in: Ingegneria Informatica e dell'Automazione Settore scientifico disciplinare: ING-INF/05 Tipo di insegnamento: Obbligatorio per il curriculum Sistemi e Applicazioni Informatiche Anno accademico: 2015 - 2016 CFU: 9 Anno: terzo Semestre: secondo DOCENTE: Ing. Giuseppe Loseto (Docente a contratto) ARTICOLAZIONE IN TIPOLOGIE DIDATTICHE: 48 ore di lezioni teoriche, 24 ore di esercitazioni e seminari specialistici PREREQUISITI: Buona conoscenza dei fondamenti e delle nozioni di base 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. Sono illustrati temi emergenti quali le tecnologie NoSQL, fornendo le basi teoriche e applicative per affrontare questi nuovi paradigmi. Il corso infine copre gli aspetti di base della ricerca di informazioni non strutturate. CONTENUTI: (8h) Progettazione di Basi di dati Modello concettuale ed Entità-Relazione (E-R) (10h) Basi di dati relazionali: modello e linguaggi Modello logico: il modello relazionale ed i suoi elementi Analisi delle ridondanze Eliminazione delle generalizzazioni Vincoli di integrità (4h) Algebra e calcolo relazionale (4h) La normalizzazione: teoria e metodi (10h) Il linguaggio SQL per Relational Data Base Management System (RDBMS) (10h) SQL: caratteristiche evolute Asserzioni Viste Trigger e Basi di dati attive Controllo dell'accesso Transazioni (3h) Sviluppo di applicazioni per Basi di dati SQL Embedded: cursori e SQL dinamico Call Level Interface (CLI) Stored Procedures (5h) Introduzione alla programmazione PL/SQL Variabili e tipi Logica condizionale Procedure e funzioni (3h) Organizzazione fisica e gestione delle interrogazioni (3h) Architetture distribuite Basi di dati distribuite: architetture e tecnologie Protocollo di commit a due fasi (4h) Architetture per l'analisi dei dati Architettura di un DataWarehouse Rappresentazione multi-dimensionale dei dati Il processo di Data Mining (4h) Database NoSQL Caratteristiche e principali implementazioni Database basati sul modello a grafo: Neo4j (4h) Elementi di Information Retrieval (IR) Processo di IR e rappresentazione formale Modello booleano e vettoriale Valutazione di un IRS: precision e recall Indicizzazione di documenti con Apache Lucene 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 le principali tecnologie NoSQL e strumenti per l'indicizzazione dei dati. SUPPORTI ALLA DIDATTICA: Materiale didattico fornito dal docente CONTROLLO DELL’APPRENDIMENTO E MODALITÀ D’ESAME: Esame scritto riguardante i contenuti del corso TESTI DI RIFERIMENTO PRINCIPALI: 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) ULTERIORI TESTI SUGGERITI: --ALTRE INFORMAZIONI: Dipartimento di Ingegneria Elettrica e dell'Informazione, Politecnico di Bari Lab. di Sistemi Informativi Tel. 080 5963515 e-mail: [email protected] Sito URL del gruppo di ricerca: http://sisinflab.poliba.it Degree class: Information Engineering (L-3) Type of course Characterizing Title of the course: Database and Information Systems Disciplinary area: Computer Science Engineering Code: [2185] First level (three years) degree: Computer Science and Automation Engineering Scientific Discipline Sector: ING-INF/05 Type of course: Required subject for Computer Science Systems and Applications curriculum Academic year: 2015 - 2016 ECTS Credits: 9 Year: rd 3 Semester: nd 2 LECTURER: Dr. Giuseppe Loseto HOURS OF INSTRUCTION: 48 hours of theory, 24 hours of examples and specialized seminars PREREQUISITES: Good knowledge of basic computer science AIMS: The course introduces information systems for structured data management through DataBase Management Systems(DBMS), data modeling and query of databases. It also describes the main features of SQL language and provides theoretical and practical knowledge about data storing within relational databases (RDBs). Main NoSQL technologies are also introduced, provinding theoretical and practical knowledge on such topic. Finally, it copes with basic elements about retrieval of unstructured information. CONTENTS: Database design Entity-Relationship Model Relational Databases: model and languages Relational Model: main features Anomalies and Decomposition Integrity constraints Relational algebra Database normalization SQL for Relational Data Base Management System (RDBMS) Assertions, Views, Triggers Transactional databases Programming database applications SQL Embedded Call Level Interface (CLI) Stored Procedures Programming with Oracle PL/SQL Variables and Data types Conditions Functions and procedures Secondary Storage Management Index Structures Distributed Architecture: Parallel and Distributed Databases Two-Phase Commit and Locking procedures On-Line Analytic Processing Data Warehouse architectures Multi-dimensional data modeling Introduction to Data Mining NoSQL Databases Main features and implementations Graph-based database: Neo4j Information Retrieval (IR) Boolean and vector-space model Precision e recall Document indexing with Apache Lucene TEACHING METHODS: Lectures supported by slides and videoprojector. Practice exercises aiming to develop a RDBMS and to define SQL queries. EXPECTED OUTCOME AND SKILLS: Students will be able to: use and manage main elements of an informative system; model and query a database through the SQL language; use most important NoSQL technologies and basic IR tools. TEACHING AIDS: Lecture notes provided by the lecturer. EXAMINATION METHOD: Written exam regarding all course topics. BIBLIOGRAPHY: 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) FURTHER BIBLIOGRAPHY: --FURTHER INFORMATIONS: Department of Electrical and Information Engineering, Politecnico di Bari (http://dee.poliba.it) Information Systems Laboratory Tel. 080 5963515 e-mail: [email protected] Website of the research group: http://sisinflab.poliba.it