This is the study programme for 2019/2020. It is subject to change.

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

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 following standard methodology
  • Develop queries to the database using SQL
  • Develop a program that uses the database

General competency:
  • Apply a database as a 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 to set 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 that 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 previous knowledge

DAT100 Object-oriented Programming, DAT200 Algorithms and Datastructures


Weight Duration Marks Aid
Written exam1/14 hoursA - FValid calculator.

Coursework requirements

Through the semester students work individually on a 3-part project designing a database. All obligatory 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 as soon as possible to the laboratory personnel. One cannot expect that provisions for completion of the lab assignments at other times are made unless prior arrangements with the laboratory personnel have been agreed upon.

Course teacher(s)

Course teacher
Mina Farmanbar
Course coordinator
Antorweep Chakravorty , Tomasz Wiktorski
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 additional 6-8 hours a week on self-study, group discussions, and development work (open laboratory).

Overlapping courses

Course Reduction (SP)
Database systems (BID190_1) 10
Data modelling (BID120_1) 6
Data modelling (TE0569_1) 6

Open to

Bachelor studies at the Faculty of Science and Technology.

Master studies at the Faculty of Science and Technology.

Course assessment

Form and/or discussion.


Database Management Systems, 3rd Edition, Ramakrishnan and Gehrke. 2002. ISBN 9780072465631 or 9780071231510

This is the study programme for 2019/2020. It is subject to change.

Sist oppdatert: 27.06.2019