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 understandingThis 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 understandingLectures 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.
None, although basic programming skills are helpful.
Strongly recommended. Attending and actively participating in the classroom activities will contribute positively towards the overall assessment.
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
R. Elmasri and S. Navathe, "Fundamentals of Database Systems", 7th Edition, Pearson, 2016.
Instructor’s notes
| Argomenti | Riferimenti testi | |
|---|---|---|
| 1 | Relational model (part 1) | |
| 2 | Relational model (part 2) | |
| 3 | Relational algebra (part 1) | |
| 4 | Relational algebra (part 2) | |
| 5 | Relational algebra exercises | |
| 6 | SQL basic concepts (part 1) | |
| 7 | SQL basic concepts (part 2) | |
| 8 | SQL exercises | |
| 9 | SQL aggregate operators | |
| 10 | SQL transactions and views | |
| 11 | NoSQL |
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.
The written test consists of:
Written test simulations will be carried out during the course.