The learning outcomes of this teaching activity, expressed in terms of the Dublin Descriptors, are the following:
Knowledge and understanding
This course will provide students with the knowledge and understanding of the relational data model. In particular, the techniques and methodologies to design, build, query and manage a relational database are described, using the SQL language. In addition to the relational model, the course also presents the basics of the data models falling within the so-called NoSQL family.
Applying knowledge and understanding
For each topic of the course, a number of examples and practical exercises will be presented in class, so that the students gain the basic skills both for designing a database, and for understanding an existing model written in the SQL language. Part of the exercises will be carried out using software packages employed in professional contexts.
Students will be able to evaluate the different alternatives when designing and querying a database. The basic knowledge of the models falling in the NoSQL paradigm will allow the student to assess in which cases one of these models can be preferred to the relational model.
The design of the conceptual model of a database for a given application requires the capability of translating the requirements expressed by the user in natural language, into the formalism of the relational model. The students will learn the basic communication capabilities needed to interact with non-technical users in order to clearly define the application requirements.
The student will learn the basic principles behind the design and use of relational and non-relational models, providing them with the essential tools for extending their knowledge on more advanced technical aspects and on different database management system implementations.
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.
None, although basic programming skills are helpful.
Strongly recommended. Attending and actively participating in the classroom activities will contribute positively towards the overall assessment of the oral exam.
Fundamentals of Database Management Systems (DBMS)
Relational Model: basic concepts, integrity constraints and keys.
SQL language: data definition, data modification, queries, views, transactions.
NO-SQL database: MongoDB
R. Elmasri and S. Navathe, "Fundamentals of Database Systems", 7th Edition, Pearson, 2016.
|Relational model (part 1)
|Relational model (part 2)
|Relational algebra (part 1)
|Relational algebra (part 2)
|Relational algebra exercises
|SQL basic concepts (part 1)
|SQL basic concepts (part 2)
|SQL aggregate operators
|SQL transactions and views
|NoSQL (part 1)
|NoSQL (part 2)
The final exam will consist of two parts:
Learning assessment 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.
At the oral discussion, students will be asked questions on how they implemented the database specifications and queries in the written test. In case of mistake on the written test, students will be asked to find, explain and correct their mistakes.