IN4020 – Database Systems
Course description
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 as well as data mining and data warehouses.
Learning outcome
After taking this course you will :
- 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;
- have in-depth knowledge of the architecture of database systems, the interplay of their layers, and the interaction of the basic internal mechanisms.
Admission to the course
Students admitted at UiO must?apply for courses?in Studentweb. Students enrolled in other Master's Degree Programmes can, on application, be admitted to the course if this is cleared by their own study programme.
Nordic citizens and applicants residing in the Nordic countries may?apply to take this course as a single course student.
If you are not already enrolled as a student at UiO, please see our information about?admission requirements and procedures for international applicants.
Recommended previous knowledge
The course is based on IN2010 – Algorithms and Data Structures/INF2220 – Algorithms and Data Structures (continued), IN2090 – Databases and Data Modellering/INF1300 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
- 10 credits overlap with IN3020 – Database Systems.
- 8 credits overlap with INF3100 – Database Systems (continued).
Teaching
4 hours of lectures and 2 hours of exercises each week. Submission of compulsory assignments is required.
Examination
4 hours?written digital exam?counts 100% of the final grade. All mandatory assignments must be approved before you can take the exam.
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: IN3020 – Database Systems/INF3100 - Database Systems (continued)
Examination support material
No examination support material is allowed.
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.
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.
More about examinations at UiO
- Use of sources and citations
- Special exam arrangements due to individual needs
- Withdrawal from an exam
- Illness at exams / postponed exams
- Explanation of grades and appeals
- Resitting an exam
- Cheating/attempted cheating
You will find further guides and resources at the web page on examinations at UiO.