- Docente: Marco Di Felice
- Credits: 11
- SSD: INFO-01/A
- Language: Italian
- Moduli: Marco Di Felice (Modulo 1) Angelo Di Iorio (Modulo 2)
- Teaching Mode: In-person learning (entirely or partially) (Modulo 1); In-person learning (entirely or partially) (Modulo 2)
- Campus: Bologna
- Corso: First cycle degree programme (L) in Information Science for Management (cod. 6060)
-
from Sep 16, 2026 to Dec 16, 2026
-
from Sep 15, 2026 to Dec 18, 2026
Learning outcomes
At the end of the course, the student: - knows the main logical data models (relational, NoSQL) and the constructs of the SQL language; - is able to design and develop a database; - is capable of developing a project for the development of Web applications and integrating database components, front-end, and back-end.
Course contents
The course is organized into two modules, hereafter referred to as Module 1 and Module 2.
Module 1 is devoted to the principles, methodologies, languages, and tools for the design, modeling, and management of databases, with particular emphasis on scalability, persistence, reliability, and data integrity.
Module 2 covers the architectures, languages, and platforms for the design and development of modern Web applications, with particular emphasis on their integration with the database management systems introduced in Module 1.
Note. The contents of Module 2 build upon the topics covered in the Web Technologies course. While the latter introduces the languages and technologies underlying the World Wide Web, Module 2 focuses on server-side and client-side Web application development. To facilitate the understanding of the course contents, students are strongly encouraged to attend the Web Technologies course during the same semester.
A detailed description of the two modules is provided below.
Module 1 is organized into two main sections.
Following a general introduction to the fundamental concepts of the course (data, information, databases, and Database Management Systems), the first section introduces the principles of modeling and managing structured data based on the relational model and relational Database Management Systems (RDBMSs). It then presents the SQL language in detail, covering data definition, data manipulation, and querying (SQL DDL and DML). Finally, alternative data management paradigms are introduced, including document-oriented and column-oriented NoSQL databases, together with an overview of Big Data technologies.
The second section focuses on methodologies and tools for database design, starting from system requirements analysis. It presents the classical phases of database engineering, including requirements analysis, conceptual design, logical design, physical design, performance analysis, and normalization techniques.
MODULE 2: WEB APPLICATIONSModule 2 addresses the languages, architectures, and tools for developing modern Web applications and is further divided into two sections.
The first section focuses on backend development, analyzing the internal architecture of server-side applications, the processing of HTTP requests and responses, the design and implementation of Web APIs, and the overall organization of backend applications.
The second section is devoted to frontend development, with particular emphasis on component-based frameworks such as Vue, React, and Angular. The objective is to identify the common architectural principles underlying these frameworks, their core components, and the techniques used to integrate them into modern Web applications.
The module also introduces widely adopted full-stack technology stacks, including LAMP and MERN.
COURSE TOPICS
Introduction
- Data, information, databases, and Database Management Systems (DBMSs).
- The relational model: fundamental concepts, integrity constraints, and keys.
- Relational algebra.
- Relational Database Management Systems (RDBMSs): the MySQL DBMS.
- SQL: Data Definition Language (DDL), Data Manipulation Language (DML), queries, views, and transactions.
- Alternative approaches to the relational model: NoSQL databases and Big Data technologies (overview). Examples include MongoDB and Cassandra.
- Conceptual design: the Entity–Relationship (ER) model, requirements collection and analysis, conceptual design methodologies, and quality assessment.
- Logical design: restructuring ER schemas, mapping to the relational model, and quality analysis.
- Normalization techniques: Boyce–Codd Normal Form (BCNF), Third Normal Form (3NF), and schema decomposition.
- Physical design: indexing techniques and data structures for efficient data management.
- Web application architectures.
- Backend development: processing HTTP requests and responses and integrating applications with database systems.
- Full-stack Web development: LAMP, MERN, and other technology stacks.
- Component-based client-side frameworks: introduction to Vue, React, and Angular.
- Web programming languages: JavaScript and TypeScript.
Readings/Bibliography
The reference textbook for Module 1 is:
- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone, Database Systems (Basi di dati), 5th Edition, Pearson, 2018, ISBN: 9788838694455.
For Module 2, there is no single reference textbook. Lecture notes, slides, and additional teaching materials will be made available through the Virtuale e-learning platform.
Teaching methods
The course is delivered through in-person lectures conducted in the classroom, supported by computer-based presentations and multimedia projection. SQL programming exercises are carried out during class using the CodeRunner tool integrated into the Virtuale e-learning platform.
Assessment methods
Student assessment consists of a written examination (mandatory), a project (mandatory), an oral examination(optional), and optional homework assignments.
Written ExaminationThe written examination lasts 2 hours and 30 minutes. The use of books, notes, or any other supporting material is not permitted. Students must register in advance through the AlmaEsami portal.
The examination consists of exercises covering the topics presented during the course. The grade, expressed on a 30-point scale, contributes two-thirds (2/3) of the final grade. The written examination grade remains valid indefinitely.
ProjectThe project consists of the design and implementation of a complete Web application, including the database, back-end, and front-end, and contributes one-third (1/3) of the final grade.
Projects must be completed in groups of two to three students. Project submissions must be uploaded through the Virtuale e-learning platform, while project discussions take place on the dates published on the AlmaEsami portal. Projects must be submitted at least three days before the scheduled discussion date.
Project specifications are provided by the instructors through the course page on Virtuale, where submission guidelines and deadlines are also published.
The project grade remains valid indefinitely. Students may complete the written examination and the project in either order.
Oral ExaminationThe oral examination is optional and consists of theoretical questions and practical exercises covering the course material. Its purpose is to supplement the overall assessment of the student's knowledge and competencies.
Homework AssignmentsOptional homework assignments may be proposed during the course. These individual assignments provide students with the opportunity to earn bonus points, up to a maximum of one additional point, which will be added to the final grade.
Final GradeThe final grade is computed as the weighted average of the written examination, the project, and, where applicable, the oral examination. Any bonus points earned through the homework assignments are then added to the resulting grade.
Students with Specific Learning Disabilities (SLD) or Temporary/Permanent Disabilities
Students with Specific Learning Disabilities (SLD) or temporary or permanent disabilities are encouraged to contact the University's dedicated support office as early as possible:
https://site.unibo.it/studenti-con-disabilita-e-dsa/it
The office will evaluate individual needs and, where appropriate, propose suitable accommodations. Any accommodations must be submitted to the course instructor at least 15 days in advance for approval. The instructor will assess their suitability in relation to the intended learning outcomes of the course.
Use of Artificial Intelligence (AI) Tools
The use of Artificial Intelligence (AI) tools is not permitted in any component of the course assessment, including the written examination, the project, and homework assignments.
Any unauthorized use of AI tools constitutes a violation of the University's principles of academic integrity and will be treated accordingly.
Teaching tools
All teaching materials, including lecture slides, source code, exercises, project materials, and any additional resources presented during the lectures, will be made available to students through the University's Virtuale e-learning platform.
Office hours
See the website of Marco Di Felice
See the website of Angelo Di Iorio
SDGs
This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.