Bachelor/Master-Praktikum: Datenbanksysteme

Recent News 2017:

The first organizational meeting was on January 30th, 2017, 9.15 am, room MI02.09.014. All those who are interested in the course could inform themselves here. Here you find the shown slides.
The assignment of the places through the matching system was done; all students are informed. If you are interested in a place on the waiting list please contact Angelika Reiser by email. The first meeting of the lab course will take place on April 26th, 2017, 4.15 pm in room MI 02.09.014. All participants registered through the matching and those (especially from the waiting list) who want to take their chance to get a place due to withdrawal of others must come to this meeting!
The weekly meetings during the semester will be on Wednesdays, 4 - 6 pm in room MI 02.09.014.

Information:

The practical course on database systems consists of a meeting of 2 hours every week. Here we present the basics that are necessary to process the weekly assignments. Students work in teams of two for the assignments and in teams of six for the final project of a web application. It is expected that you handle every assignment successfully; there will be about ten assignments including the final project. In addition you prepare an extensive E/R-model, prepare and present an integrated E/R-model in a team, and present a UML model also in a team. At the end there will the presentation of your web application project. There is a small exam in the middle of the semester which assures that the single members of the teams all have worked properly in the course.

The learning targets for the lab course are the following:

  1. Modelling and Database Design
  2. SQL as a Data Definition, Data Manipulation, und Authorisation Language
  3. Programming in Java with Database Access via JDBC
  4. Connecting to Databases via the Internet
  5. Modelling and Implementing a Database Application
Moreover we also proceed more general objectives like e.g. estimating the pro and cons of the applied methods (like E/R, SQL, or JSP), the ability to cooperate, your intellectual curiosity and creativity, the capability to discuss and criticize, a responsible handling in professional life, and the capability to present and visualize complex facts.
The learning targets mentioned above shall be achieved by processing the weekly assignments, attending the weekly meeting, as well as presenting and discussing the developed database design.
In the weekly meetings we will at first deal with entity/relationship modelling, discuss 'good' and 'bad' examples, then deal with the integration of E/R-designs, the transformation to a relational model and its optimization. Afterwards it's about database administration (registering users with different rights) and database definition language (DDL), especially creating and deleting relations, indexes, and constraints. Then we deal with database manipulation language (DML), especially queries, subqueries, null values, updating (inserting, deleting) tupels, with meta data (catalogs) and with views.
For programming complex database applications we use Java with a connection to the database via JDBC. We program transactions at different isolation levels and use Java servlets and Java server pages to connect to databases via the web. We also deal with aspects of database tuning, synchronisation, and recovery.
In the weekly assignments we practice the above described matters, especially modelling a part of a complex application, integrating different parts to a complete model, construction of a database and querying and updating it including meta data, views, indexes, constraints, triggers, and user defined types and functions. At the end you will program complex applications with Java, JDBC, and JSP using the MVC pattern.
We use the PostgreSQL database management system.

Prerequisites:

Master students must not have a bridging course data bases left open.

Organization:

    In the frame of te practical course we will have a weekly meeting. Here we will usually discuss a new assignment. The assignment and the slides for the meeting can be found in Moodle.
    The assignment is to be solved within one week; it's usually done in a group of two.
    The assignments are handed in to Moodle.
    Presentations: There will be presentations of the students on the E/R model, the UML model, and one for the project (final assignment).
    In the middle of the semester there is a written exam in which the concepts of modelling, of SQL and JDBC will be tested.
    The practical course is successfully completed if the meetings are attended regularly, all assignments are solved properly, the three presentations as well as the exam are successful. The single parts contribute in the following way to the overall grade:
    • Final assignment: 20%
    • all other assignments together: 20%
    • E/R presentation: 10%
    • UML presentation: 10%
    • Final presentation: 10%
    • Exam: 30%

    Withdrawal from the course