Database Systems Prof. Dr. Jens Dittrich, Christian Schön, Immanuel Haffner

News

20.11.2020

GitLab & Project Registration

Dear students,

some teams seem to misunderstand the description for the team registration phase. The Milestones 0 & 1 clearly mention that we cannot assign you to your team's repository if you haven't logged in to GitLab at least once before, as your accounts are... Read more

Dear students,

some teams seem to misunderstand the description for the team registration phase. The Milestones 0 & 1 clearly mention that we cannot assign you to your team's repository if you haven't logged in to GitLab at least once before, as your accounts are invisible up to that point. This requirement does not only affect the team member sending the mail, but also all other team members.

As we expect all participants of this course to actively work on the project, we also expect every student to have a GitLab account which we can properly link to the team's repository. Therefore please check that each team member has logged in at least once before sending your team registration by mail. All teams that have already sent a mail, should check for all team members that everyone has been assigned correctly to the team's repository. In case you can not see your repository after logging in to GitLab, get in contact with Immanuel by sending an email including "[dbsys20]" in the subject. Please mention your team name as well as your full name, matriculation number and student email address in the mail content as described in Milestone 1.

We might not grade the project for students which do not have a GitLab account properly linked to the team's repository. As the project is not deemed to be done by a single student for the whole team, we consider this as a minimum requirement for project participation which every student must fulfill. If you have any problems signing in to GitLab, let us know through the forum or by mail, we will try to solve these problems.

Hope to see you in the Lab at 12:15 pm on Discord or in the tutorials next week on Zoom (links will follow in the calendar).

Best regards

Christian

18.11.2020

Assignment 2 & Milestone 1

Dear Students,

we have just released the Assignment 2 as well as Milestone 1 for the project.

Unfortunately, not all students registered in the CMS have also registered with a team for the project. Keep in mind that you can not pass the course without the... Read more

Dear Students,

we have just released the Assignment 2 as well as Milestone 1 for the project.

Unfortunately, not all students registered in the CMS have also registered with a team for the project. Keep in mind that you can not pass the course without the project. Therefore please check if you can  1) log in to Gitlab sucessfully and 2) see your team's repository. If either of these two steps failed, you have not yet correctly registered for the project. In that case, please follow exactly the registration steps given in Milestone 1. We will then try to (re-)assign you to your repository after receiving your mail.

Besides the registration steps, Milestone 1 also contains all necessary information to get you going for the first part of the project in which you will implement a row as well as a column store. Please read the instructions carefully! The deadline for this first milestone is on December 8th, 23:59 UTC+1.

The Vagrant file is now also available in the Materials section of the CMS if you need an easy to set up virtual machine for the project. An instruction on how to use Vagrant is also linked under Information.

The Assignment 2 covers the content of this week's lecture. We highly recommend to work on these assignments as an exam preparation (e.g. in the upcoming Lab on Friday). The solutions will be presented in next week's tutorials.

As always, feel free to use the forum whenever you have questions regarding assignment sheets or project milestones. Our Discord server is available 24/7 if you need a platform to discuss assignments or milestones within your team. Just create a team voice channel and join it with all your team members. Consider locking the voice channel after all members joined it to avoid non-team-members to also join your channel. Keep in mind that sharing solutions across teams is not allowed and will be considered a fraud.

We wish you good luck for the first project part and hope to see many of you in the next Lab on Friday.

Best regards

Christian

16.11.2020

Tutorials moved to Zoom

Dear students,

the tutorials have been moved to the video conference tool Zoom. Although invitations can be accepted by just clicking on a link, you will need the Zoom client to be able to join a meeting. Please follow the official documentation to install and... Read more

Dear students,

the tutorials have been moved to the video conference tool Zoom. Although invitations can be accepted by just clicking on a link, you will need the Zoom client to be able to join a meeting. Please follow the official documentation to install and setup Zoom. After installing the client, you can test Zoom and familiarize yourself with the tool in advance by joining a test meeting on their website.

To join the tutorial itself, it will then later be sufficient to just click on the corresponding links which are given in our calendar. As the link might change per tutorial, we ask you to check the CMS for updated links before each tutorial. The link for today's tutorial with Immanuel (2:15 pm) is already published, the link for tomorrow will follow later.

Best regards

Christian

13.11.2020

Tutorials

Dear Students,

as most of you noticed today, screen sharing in Discord is limited to 50 persons. Unfortunately, we are currently unable to increase that limit. As our tutorials on Monday and Tuesday might also be affected by this limit (depending on the number of... Read more

Dear Students,

as most of you noticed today, screen sharing in Discord is limited to 50 persons. Unfortunately, we are currently unable to increase that limit. As our tutorials on Monday and Tuesday might also be affected by this limit (depending on the number of participants), we are currently discussing to switch to the video conference tool Zoom. As we have to reorganize the tutorials, I can not provide you the exact credentials for Monday and Tuesday at the moment. Please check our CMS (especially the corresponding events in our calendar) again on Monday before the tutorials start. We will provide you the necessary information by then.

We have also discussed the content for the upcoming tutorials and came to the conclusion that it might be better to already discuss the solutions for assignment 1 next week, i.e. on November 16th and 17th. This allows us to focus  exclusively on the topics of the first week before new content will be introduced in Wednesday's lecture.

Regarding the choice of time slot: We do not plan to assign you to a fixed tutorial at the moment, so you are free to choose the time slot that fits you best.

Best regards

Christian

11.11.2020

Assignment 1 & Milestone 0

Dear students,

we have just released the first assignment sheet and Milestone 0 of the project, you can find both in the menu under Information -- Materials.

As we have already announced in the beginning of the course, you will not need to hand in any of the... Read more

Dear students,

we have just released the first assignment sheet and Milestone 0 of the project, you can find both in the menu under Information -- Materials.

As we have already announced in the beginning of the course, you will not need to hand in any of the weekly assignment sheets as we will not grade them. However, these assignment sheets contain exercises that are similar to those that you will encounter in the exam. We therefore highly recommend to spend some time on solving the exercises. The LABs will be held on Discord starting this Friday 12:15 pm, you will find a corresponding text as well as voice channel there. In each week's LAB, we will start with a short, interactive recap of the lecture before you can team up in small groups to work on the assignment sheet of the week (ideally the groups you already formed for the project, but not necessarily). Our team of tutors will be present in the LAB such that you can ask questions regarding the exercises. The solutions will be presented in the tutorials on Monday and Tuesday. As we want to give you at least a full week to work on the exercises, the solutions for assignment 1 will be discussed on November 23rd and 24th.

Milestone 0 of the project asks you to form teams of three students and to register for the project. The PDF contains all details necessary to prepare for the first (real) project milestone which is scheduled to be published next week's Wednesday. In each of the upcoming milestones, we will ask you to implement a specific component of a database system in a time period of roughly 3 weeks (excluding holidays). As we need to prepare a few things in the background (e.g. your git repositories), we ask you to register your team no later than November 17th. Details on the steps necessary to register are given in the PDF. All further information regarding the database components to implement, the steps required to do so etc. will be described in the corresponding project milestones which are released at a later point in time. The handouts (i.e. publication dates) and deadlines are included in our calendar, if you already want to schedule team meetings.

If you still need team members for the project or have questions regarding the lectures, assignment sheets or project milestones, feel free to use our forum.

Best regards

Christian

03.11.2020

Lecture Start

Dear students,

we will start our course Database Systems with our first lecture tomorrow at 12:15 pm on YouTube. All lectures will be streamed live on Prof. Dittrich's channel. We will publish direct links to each week's lecture in our calendar which you can find... Read more

Dear students,

we will start our course Database Systems with our first lecture tomorrow at 12:15 pm on YouTube. All lectures will be streamed live on Prof. Dittrich's channel. We will publish direct links to each week's lecture in our calendar which you can find in the menu under Information.

If you have questions during the lecture, you can ask them anonymously using an online tool called frag.jetzt for which a link is also provided in the Information section of the menu. The tool's user interface is provided in German and English, you can toggle the language at the bottom of the page. However, we ask to you formulate your questions in English such that all students understand them. Your questions will be moderated, it might therefore take a second for a question to become visible for all.

Besides frag.jetzt, you usually have the opportunity to ask questions in short office hours by Prof. Dittrich during the lecture break or shortly after the lecture. These office hours will be held on Discord. Please follow the Discord Guide linked in the menu under Information to join our server.

In addition, we offer you a forum to ask questions that arise after the lecture or to discuss topics with your fellow students and our team.

All further information regarding the course and its topics will be given in tomorrow's lecture.

Best regards

Christian

Show all
 

Database Systems

Database Systems is a core lecture worth 9 CPs which builds upon the foundations of the Big Data Engineering lecture. If you have never attended an introductory lecture on databases so far, this will most likely not be the right course for you. We also expect you to have profound programming skills in C++.

The topics covered include:

  • How to handle large amounts of data?
  • Which hardware and storage layouts are suitable in which scenarios?
  • How can we speed up data access using index structures?
  • Which optimization tricks can be played to speed up query processing?

The course consists of a weekly lecture, streamed live on YouTube, a weekly lab, where we recap lecture material and you can work on exercises under supervision, weekly tutorials, where we present sample solutions to these exercises, and a software project. The project will be implemented in C++, however an introduction to C++ or programming in general will not be part of this course. We therefore assume students taking this course to have some basic programming experience.

Lecture

The lecture is streamed live on YouTube. We provide a chat to ask the lecturer questions during the stream. The lecture stream is held every Wednesday noon, 12:15 p.m. We will provide you the link to each lecture stream in our timetable which you can find in the menu under "Information".

Lab

In the weekly lab we will recap the content of Wednesday's lecture so you can catch up on content you did not understand and ask questions.  Further, we will provide exercises that you will solve in small groups. These exercises allow you to practice and prepare for the exam.  Although the lab is not mandatory, we highly encourage you to participate.  The lab is your primary source of practice and preparation for the exam. The lab is held on our Discord server.

Tutorials

In the tutorials, we will present sample solutions to the exercises handed out after each lecture on which you will work during the lab. Additionally, you may use the tutorial to ask questions related to the project and get technical support. There are two tutorials at different time slots such that you can choose the one that fits best into your schedule: Monday, 2:15 - 4 pm (Immanuel) and Tuesday, 10:15 - 12 am (Christian). The tutorial is held on our Discord server.

Software Project

The lecture is accompanied by a software project, where you will work in teams of three people to implement specific components of a database system.  The project is split into three milestones, which you will be working on during the lecture period. Each milestone asks you to implement a particular database component, which is integrated into our system mutable. Based on a pre-defined set of tests, your implementation is evaluated for both functional correctness and performance and graded accordingly.  You can achieve up to 5 points per milestone.  This means, you can achieve up to 15 points in the project.  You must achieve at least 50%, i.e. 7.5 points, in the entire project to be admitted to the exams.

Exam

At the end of the course, you have to give a final exam and/or a re-exam.  Each exam takes two hours and you can achieve up to 120 points.  The better of your final and re-exam is counted and makes up 50% of your course grade.  To be admitted to the final or re-exam, you must score at least 50% in the project. You will be notified about your project results at least one week before the exam. The final exam will be held on February 24th, the reexam four weeks later on March 24th.

Final Grade

The final grade for the course is computed from your project and exam score using the following formula:

score = ½ max(exam, reexam) / 120 + ½ project / 15

grade = 1 + 6 * (1 - score)     if score ≥ 0.5
        5.0                     otherwise

Corona Situation

The current Corona virus situation has affected all our daily lives and lectures are no exception.  To protect everyone, we decided to give this course online wherever possible. You must only be physically present to give the exams.  For the exam, you will be seated with reasonable safety distances and we encourage you to wear a mask inside the lecture hall. For more information, consult the Corona virus FAQ of the university.



Privacy Policy | Legal Notice
If you encounter technical problems, please contact the administrators