Project Description

Obiettivi

Il Corso ha l’obbiettivo di introdurre i formalismi, le metodologie e le tecnologie per la gestione dei Dati con una particolare enfasi per gli standard industriali legate alle Basi di Dati Relazionali. Nel Corso vengono anche introdotte le prassi principali in ambito industriale, relative ai linguaggi di progettazione (ER) e definizione dei dati (ER, SQL) sino agli standard di progettazione applicativa in ambito Web, come JDBC e PHP. Tra gli argomenti avanzati cenni sulle nozioni di Object-oriented DB design, ORM, e sulle evoluzioni non relazionali (noSQL) utilizzate negli scanri di Big Data Analytics.

Programma

1 Introduction
Introduction to database systems. Data management. Historical overview. File System and DBSM. DBSM advantages. DBSM queries. Transactions management. DBSM structure.
2 Relational model
Introduction to the Relational model. Relation Keys and Constraints of integrity. Constraints integrity application. Relational database query. Introduction to the Views.
3 Relational algebra
Introduction. Relational algebra. Selection and projection. Operations on sets. Join. Examples of algebraic queries.
4 SQL
Introduction to SQL. Basic SQL queries. UNION, INTERSECT and EXCEPT operations. Inserted queries. Related inserted queries. Comparison operators between sets. Aggregation operator: GROUP BY and HAVING conditions. Null value. External Joins. Complex integrity constraints in SQL. Statements on many tables. Trigger and active databases. Constraints and Triggers.
5 Entity-Relationship model
Databases and ER diagrams design. Entity, attributes and sets. Relation and sets of relations. Extensions of ER model. Key constraints. Participation constraints. Weak entities. Class hierarchies. Aggregations. Conceptual design with ER model. Conceptual design for big groups.
6 Logical design: from the ER model to the Relational one
From entities and relations sets to tables. Relation sets translation with key constraints. Relation sets translation with participation constraints. Weak entities sets translation. Class hierarchies translation. ER diagrams translation with aggregation.
7 Normalization (*)
Introduction to schema refinement. Data redundancy problems. Decompositions. Functional dependences. Normal forms. Boyce-Codd normal form. Decompositions properties. Normalization. Schema refinement in database design.
8 Traditional applications
Application access to databases. Encapsulated SQL. Pointers. Dynamic SQL. Introduction to JDBC. JDBC class and interfaces. SQL command execution. SQLJ. Stored procedure.

9 Internet application
Introduction to the computer network and Web. HTML documents. XML documents. Introduction to XML. Three-tier application architecture. Presentation level. Intermediate level.
10 File and indexes
External data storage. File organization and indexing. Data structures for indexes. Hash indexes. Tree-structured indexes. Comparison between file organizations. Performances improvement and indexes. SQL:1999 definition of indexes.
11 Queries execution
Catalog system. Introduction to operator evaluation. Access paths. Relational operations algorithm. Introduction to queries optimization. Queries evaluation plans.
12 Advanced topics
Object Oriented programming and databases. Object Relational Modeling. Introduction to NoSQL paradigms. Metadata and multimedia DB.
(*) Chapters marked with (*) are optional: students are advised to read them although they are not part of the programme.

0 crediti
60 ore di lezione
0° Anno
Laurea Magistrale
0° semestre
dal 03/10/2016 al 28/01/2017