Skip to content

Free University of Bozen-Bolzano

Introduction to Databases

Semester 1 · 76209 · Bachelor in Computer Science · 6CP · DE


Students attending this course will have acquired the techniques and methods to address problems of database design, and to make use of the basic functionalities (definition, update, and querying of the database) of database management systems in the context of development and deployment of information systems. In addition, students will be able to develop applications that programmatically interact with a database management system. The course explicitly refers to relational databases and to the corresponding database management systems based on the SQL language. However, the taught methods and principles are of a more general nature, and can be applied also in those contexts where data models and database systems different from relational ones are adopted.

Lecturers: Diego Calvanese

Teaching Hours: 40
Lab Hours: 20
Mandatory Attendance: Attendance is not compulsory, but non-attending students have to contact the lecturer at the start of the course or before starting their studies and the project work to agree on the modalities of the independent study.

Course Topics
- Relational data model and relational algebra - The SQL language - Using SQL in database applications: API, embedded SQL - The Entity Relationship model - Conceptual database design - Logical database design

Teaching format
The course includes frontal lectures, exercises, and project work.

Educational objectives
Knowledge and Understanding - D1.4 Understand the key principles, the structures and the organization of relational databases and methods for designing and developing databases. Applying knowledge and understanding - D2.5 Be able to apply the own knowledge to the , design, development and testing of information systems which satisfy given requirements -D2.12 Be able to design, develop and query relational databases Ability to make judgments - D3.1 Be able to collect and interpret useful data and to judge information systems and their applicability. - D3.2 Be able to work autonomously according to the own level of knowledge and understanding. Communication skills - D4.1 Be able to use one of the three languages English, Italian and German, and be able to use technical terms and communication appropriately. - D4.5 Be able to work in teams for the realization of IT systems. Learning skills - D5.1 Have developed learning capabilities to pursue further studies with a high degree of autonomy. - D5.2 Have acquired learning capabilities that enable to carry out project activities in companies, public institutions or in distributed development communities. - D5.3 Be able to follow the fast technological evolution and to learn cutting edge IT technologies and innovative aspects of last generation information systems.

Assessment
For both attending and non-attending students, assessment consists of a project aimed at testing the ability to apply knowledge and communicate effectively, carried out individually or as a group of two and presented orally. In addition, a written exam includes verification questions as well as questions designed to assess both knowledge and understanding, and the ability to apply that knowledge.

Evaluation criteria
For both attending and non-attending students, the assessment consists of two components: a project (30% of the final mark) and a written exam (70% of the final mark). The project evaluates the ability to work in teams, apply knowledge in practical contexts, and summarize concepts in one’s own words. The written exam assesses clarity of responses, the ability to recall principles and methods used in database systems, and the skill to apply knowledge through tasks such as developing and querying databases. To carry out the project, students must agree with the lecturer on the topic and scope, preferably during the early stages of development, based on an initial draft of the conceptual schema, to minimize the risk of having to redo work. Attending students can discuss their project during dedicated lab sessions, while non-attending students must make arrangements during office hours or by scheduling an appointment with the lecturer. The project is usually discussed two to three working days before the scheduled written exam, and must be submitted by the deadline announced on MS Teams, typically two days before the discussion date. In order to be admitted to the written exam, the project must be discussed and positively evaluated. Without passing the project, students are not allowed to take the written exam. The written exam, which lasts at least two hours, requires students to design a database based on a given specification, formulate SQL queries, and possibly respond in writing to questions on topics covered in the course. To pass the course, both the project and the written exam must be passed. The final grade is calculated as a weighted average of the project (30%) and written exam (70%) marks. A positive project mark remains valid for all three regular exam sessions within the same academic year, meaning that if a student fails or does not sit the written exam, the project evaluation is retained and only the written exam needs to be retaken.

Required readings

- course lecture notes, available on the Microsoft Teams course page;

- instructions for carrying out the project, available on the course Web page.



Supplementary readings

Raghu Ramakrishnan and Johannes Gehrke. Database Management Systems. McGraw-Hill, Boston, 3rd edition, August 2002. ISBN 978-0-07-246563-1. 



Further information
- PostgreSQL (https://www.postgresql.org) - RADB (Java relational algebra interpreter) (https://users.cs.duke.edu/~junyang/radb/) - Java (https://openjdk.org)


Download as pdf

Sustainable Development Goals
This teaching activity contributes to the achievement of the following Sustainable Development Goals.

4

Request info