Database Systems (DAT220)
This course introduces students to the fundamentals of database systems. The course includes basic database theory, data modeling, relational database, SQL and transactions. The course teaches how to design a good database and how to apply a database system.
Course description for study year 2024-2025. Please note that changes may occur.
Course code
DAT220
Version
1
Credits (ECTS)
10
Semester tution start
Spring
Number of semesters
1
Exam semester
Spring
Language of instruction
English
Content
A database is a system for storing and retrieving data, typically working with large amounts of data. A user of computer systems rarely directly interacts with a database since it is more often used by an application that the user is using rather than directly by the user. However, almost all applications nowadays use some form of a database. Understanding databases is thus important both for those who create databases and those who use them in their applications.
This course discusses data modelling, use of relational and non-relational databases, query optimization, transactions, as well as basic indexing structures and search algorithms. 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 and non-relational databases allow using more flexible data models. Query optimization is a set of methods for designing more efficient queries. Transactions enable more users to use database systems at the same time.
Learning outcome
Knowledge:
- 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
Skills:
- Create a data model using ER diagrams
- Design a relational database based on a data model using standard methodology
- Design efficient SQL queries
- Develop an application that uses a database
General competence:
- Apply a database as part of a software development process
Required prerequisite knowledge
Recommended prerequisites
Exam
Form of assessment | Weight | Duration | Marks | Aid |
---|---|---|---|---|
Written exam | 1/1 | 4 Hours | Letter grades | Valid calculator |
Digital exam
Coursework requirements
Throughout the semester students work individually on assignments as well as on a practical group project. Both assignments and group projects are mandatory and must be passed within the announced deadline so that the student has the right to take the exam.
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 teacher:
Petra GaluscakovaCourse coordinator:
Petra GaluscakovaCoordinator laboratory exercises:
Rodrigo Queiroz SaramagoHead of Department:
Tom RyenMethod of work
Overlapping courses
Course | Reduction (SP) |
---|---|
Database systems (BID190_1) | 10 |
Data modelling (BID120_1) | 6 |
Data modelling (TE0569_1) | 6 |