Skip to main content

Database Systems DAT220

This course introduces students to the fundamentals of database systems. The course includes basic database theory, data models, data modeling, relational database, SQL and transactions. The course teaches how to apply a database system and how to design a good database.

Course description for study year 2021-2022

Course code




Credits (ECTS)


Semester tution start


Number of semesters


Exam semester


Language of instruction

English, Norwegian

Learning outcome


  • Describe what a relational database is and explain the basics of how a relational database works
  • Describe what a transaction is, what properties it has and explain why databases use transactions
  • Characterize different kinds of database systems
  • Compare and debate different database concepts


  • Create a data model using ER diagrams
  • Design a relational databases based on a data model using standard methodology
  • Develop queries to the database using SQL
  • Develop a program that uses the database

General competency:

  • Apply a database as part of a software development process

A database is a system for storing and retrieving data, sometimes large amounts of data. As a user of computer systems you rarely see the database since it is used by the application that you are using rather than directly by the user. Almost all applications nowadays use some form of a database. Knowledge about databases is important both for those who create databases and those who use them.

This course includes data modeling, use of relational databases, query optimization and transactions. Data modeling means setting up a model or overview of the data that one wants to store. Relational databases are the most commonly used form of database system today. Query optimization is how to make sure your queries run as quickly as possible. Transactions are important for all database systems that can be used by more than one user at the same time.

Required prerequisite knowledge
Recommended prerequisites
DAT100 Object-oriented Programming, DAT200 Algorithms and Datastructures
Form of assessment Weight Duration Marks Aid
Written exam 1/1 4 Hours Letter grades Valid calculator

Coursework requirements

Throughout the semester students work individually on a 3-part project designing a database. All compulsory assignments (part of the project) must be passed within the announced deadline so that student has the right to take exam.

Completion of mandatory lab assignments is to be made at the times and in the groups that are assigned and published. Absence due to illness or for other reasons must be communicated to the laboratory personnel as soon as possible. One cannot expect that provisions for completion of lab assignments at other times are made unless prior arrangements with the laboratory personnel have been agreed upon.

Course teacher(s)
Course coordinator: Antorweep Chakravorty
Coordinator laboratory exercises: Rodrigo Queiroz Saramago
Head of Department: Tom Ryen
Method of work
The work will consist of 6 hours of lecture, scheduled laboratory, supervised group work per week. Students are expected to spend an additional 6-8 hours a week on self-study, group discussions, and development work (open laboratory).
Open for
Computer Science- Bachelor's degree programme in computer science Admission to Single Courses at the Faculty of Science and Technology Exchange programme at Faculty of Science and Technology
Course assessment
Form and/or discussion.
Overlapping courses
Course Reduction (SP)
Database systems (BID190) 10
Data modelling (BID120) 6
Data modelling (TE0569) 6
The syllabus can be found in Leganto