Teaching in italian
Subject area
Reference degree course
Course type
Laurea Magistrale
Teaching hours
Ore Attività frontale: 81.0
Academic year
Year taught
Course year
Reference professor for teaching
BOCHICCHIO Mario Alessandro

Teaching description

Good knowledge of Object Oriented Languages (at least 1), techniques and tools. Elements of computer networks and Web technologies.

The aim is to provide the basics about the main database theories, techniques and tools to design / implement databases and database applications.



•Database, relational databases, NoSQL and NewSQL;

•DataBase Management Systems;

•Relational Model and Relational Algebra;

•SQL: data definition and manipulation;

•Basics of Human-Computer Interaction and interface design for DB;

•Architectural aspects: Clients, Servers, Peers, Devices, IoT, …

•Big data, data lakes, data analytics, machine learning, AI;

Acquired skills

Students will be able to design and understand data models, to create and manage databases and to design and implement data-centric applications.

Teaching method

Frontal lessons and lectures, for theoretical aspects, will be followed by participatory learning sessions and hands-on sessions to reinforce the comprehension and to acquire the abilities relevant to the field of database design.

Students evaluation

•Written test: on all aspects covered by the program 

•Oral Test:

  1. All theoretical aspects covered by the program

      2. Presentation and discussion of a project

Office Hours

By appointment; contact the instructor by email or at the end of class meetings.

Fundamental of Database Systems, Elmasri-Navathe: 7th edition
- 1: Databases and Database Users
- 2: Database System Concepts and Architecture
- 3: Data Modeling Using the Entity–Relationship (ER) Model
- 4: The Enhanced Entity–Relationship (EER) Model
- 5: The Relational Data Model and Relational Database Constraints
- 6: Basic SQL
- 7: More SQL: Complex Queries, Triggers, Views, and Schema Modification
- 8: The Relational Algebra and Relational Calculus
    8.1: Unary Relational Operations: SELECT and PROJECT
    8.2: Relational Algebra Operations from Set Theory
    8.3: Binary Relational Operations: JOIN and DIVISION
    8.4: Additional Relational Operations
    8.5:  Examples of Queries in Relational Algebra
- 9: Relational Database Design by ER- and EER-to-Relational Mapping
- 10: Introduction to SQL Programming Techniques
- 11: Web Database Programming Using PHP
- 12: Object and Object-Relational Databases
- 14: Basics of Functional Dependencies and Normalization for Relational Databases
    14.1: Informal Design Guidelines for Relation Schemas
    14.2: Functional Dependencies
    14.3: Normal Forms Based on Primary Keys
    14.4: General Definitions of Second and Third Normal Forms
    14.5: Boyce-Codd Normal Form
- 16: Disk Storage, Basic File Structures, Hashing, and Modern Storage Architectures
- 17: Indexing Structures for Files and Physical Database Design
- 20: Introduction to Transaction Processing Concepts and Theory

- 21: Concurrency Control Techniques


- Teaching material: more concepts on requirement elicitation and database application design and implementation, multidimensional analisys, datawharehouse, big data, big data management, database security, database administration, NoSQL, NewSQL, distributed databases.

R. Elmasri, S. Navathe, Fundamental of Database Systems, 7a edizione, Pearson ed.

Primo Semestre (dal 23/09/2019 al 20/12/2019)

Exam type

Type of assessment
Orale - Voto Finale

Course timetable

Download teaching card (Apre una nuova finestra)(Apre una nuova finestra)