DATA BASE AND BIG DATA ANALYTICS
Modulo DATA BASE

Academic Year 2024/2025 - Docente: SIMONE PALAZZO

Risultati di apprendimento attesi

General objectives

1. Equip students with a comprehensive understanding of both relational data models, focusing on the principles of design, querying, and management using SQL and NoSQL paradigms.
2. Develop practical skills through hands-on exercises, enabling students to design and interpret database models effectively using professional software tools.
3. Enhance the ability to critically evaluate database design alternatives and choose appropriate models, including assessing when NoSQL solutions may be preferable.
4. Foster communication skills to translate user requirements into database designs, ensuring effective interaction with non-technical stakeholders and precise definition of application needs.

Synthetic general description

This course offers foundational knowledge of relational and NoSQL data models, focusing on database design, querying, and management using SQL. Students engage in practical exercises to develop skills in database design and evaluation, enhancing their ability to communicate technical concepts to non-experts and laying the groundwork for advanced learning in database systems.

Expected learning results

Knowledge and understanding

This course covers the relational data model, focusing on designing, building, querying, and managing databases using SQL. It also introduces basic NoSQL data models.

Applying knowledge and understanding
The course includes practical examples and exercises to help students design databases and understand SQL models, using software tools common in professional settings.

Making judgements
Students will learn to evaluate design and query alternatives, and decide when to use NoSQL models over the relational model based on basic knowledge of both.

Course Structure

Lectures and hands-on exercises.

Should teaching be carried out in mixed mode or remotely, it may be necessary to introduce changes with respect to previous statements, in line with the programme planned and outlined in the syllabus.

Required Prerequisites

None, although basic programming skills are helpful.

Attendance of Lessons

Strongly recommended. Attending and actively participating in the classroom activities will contribute positively towards the overall assessment.

Detailed Course Content

1. Basics of Data Base Management Systems (DBMS) (1 CFU)
   1.1. Introduction to DBMS
   1.2. Architecture of DBMS
   1.3. Data models
2. Relational Model (1.5 CFU)
   2.1. Basic concepts of the relational model
   2.2. Keys
   2.3. Relational algebra

   2.5. Operators: projection, selection, join
3. SQL (3 CFU)
   3.1. Table definition and constraints
   3.2. Filtering and sorting data
   3.3. Joins and subqueries
   3.4. Aggregate operators
   3.5. Views
   3.6. Transactions
4. Basics of non-relational models (0.5 CFU)
   4.1. When to use relational or non-relational models
   4.2. Types of non-relational models
   4.3. Document-oriented databases

Textbook Information

  1. R. Elmasri and S. Navathe, "Fundamentals of Database Systems", 7th Edition, Pearson, 2016. 

  2. Instructor’s notes

Course Planning

 SubjectsText References
1Relational model (part 1)
2Relational model (part 2)
3Relational algebra (part 1)
4Relational algebra (part 2)
5Relational algebra exercises
6SQL basic concepts (part 1)
7SQL basic concepts (part 2)
8SQL exercises
9SQL aggregate operators
10SQL transactions and views
11NoSQL

Learning Assessment

Learning Assessment Procedures

The final exam consists of solving SQL exercises. An optional oral discussion of the written test may be required, at the teacher's discretion.

Grade criteria:

•    Failed: the student does not know the basic concept of the course and has completed less than 40% of the required assignemnts
•    18-20: the student has a basic knowledge of the topics of the course but he has great difficulties in applying them to practical exercises and problem solving pipelines.
•    21-24: the student has a basic knowledge of the topics of the course and he is able to solve simple problemns and exercises with some guidance from the teacher.
•    25-27: the student has a good knowledge of the topics of the course and can complete the assignemnt in autonomy with minor errors
•    28-30 e lode: The student has full knowledge of the topics of the course and is able to complete in autonomy assignemnts making connections and with only very minimal occasional mistakes.

Exam may also be carried out on line, should the conditions require it.

Examples of frequently asked questions and / or exercises

The written test consists of:

  • Creation of a database
  • Creation of tables, given the specifications
  • Implementation of queries in SQL

Written test simulations will be carried out during the course.

ENGLISH VERSION