Schedule, syllabus and examination date

Choose semester

Course content

This course is about database systems, focusing on relational databases. It covers advanced use of such systems, including advanced SQL, SQL query optimization, and use of indexes. The course also covers the architecture and internals of database systems. This part of the course covers how database systems handle transactions, with algorithms for serialization and avoidance or handling of conflicts, deadlocks, and faults. Finally, the course gives an introduction to alternative data models.

Learning outcome

After taking this course you'll:

  • know what a database management system (DMBS) does, how it works and how it is implemented;
  • have an in-depth understanding of the theoretical and practical problems connected to operating DMBSs;
  • know how to use advanced SQL and how to optimize queries;
  • understand the basic principles of transaction management;
  • know the types of transaction management (isolation levels) offered by modern DBMSs and the strength and weaknessess of each isolation level;


Students who are admitted to study programmes at UiO must each semester register which courses and exams they wish to sign up for in Studentweb.

If you are not already enrolled as a student at UiO, please see our information about admission requirements and procedures.


Formal prerequisite knowledge

In addition to fulfilling the Higher Education Entrance Qualification, applicants have to meet the following special admission requirements:

  • Mathematics R1 or Mathematics (S1+S2)

The special admission requirements may also be covered by equivalent studies from Norwegian upper secondary school or by other equivalent studies. Read more about special admission requirements (in Norwegian).

IN2090 – Databaser og datamodellering/INF1300 – Introduction to Databases (continued)

Recommended previous knowledge

The course is based on IN2010 – Algorithms and Data Structures/INF2220 – Algorithms and Data Structures (continued) and IN1150 – Logical Methods/INF1080 – Logical Methods for Computer Science (continued).

Knowledge of hashing, search trees and graphs (from IN2010/INF2220) and set theory, 1st order logic and proof by induction (from IN1150/INF1080) is assumed known and will not be reviewed.

Overlapping courses

8 credits overlap with INF3100 – Database Systems (continued)


4 hours of lectures and 2 hours of exercises each week. Submission of compulsory assignments is required.


4 hours written digital exam. All mandatory assignments must be approved before you can take the exam.

Examination support material

No examination support material is allowed.

Language of examination

You may write your examination paper in Norwegian, Swedish, Danish or English.

Grading scale

Grades are awarded on a scale from A to F, where A is the best grade and F is a fail. Read more about the grading system.

Explanations and appeals

Resit an examination

Students who can document a valid reason for absence from the regular examination are offered a postponed examination at the beginning of the next semester.

Re-scheduled examinations are not offered to students who withdraw during, or did not pass the original examination.

Withdrawal from an examination

It is possible to take the exam up to 3 times. If you withdraw from the exam after the deadline or during the exam, this will be counted as an examination attempt.

It will also be counted as one of your three attempts to sit the exam for this course, if you sit the exam for one of the following courses: INF3100 – Database Systems (continued)

Special examination arrangements

Application form, deadline and requirements for special examination arrangements.

Facts about this course






Every spring


Every spring

Teaching language

Norwegian (English on request)