Institute for Informatics
Georg-August-Universität Göttingen

Databases and Information Systems

dbis
Uni Göttingen

Database Theory
WS2013/14

Prof. Dr. Wolfgang May may@informatik.uni-goettingen.de
Daniel Schubert schubert@informatik.uni-goettingen.de

Date and Time (changed!):

  • Wednesday 10-12, Friday 10-12 ct, IFI SR 2.101.

Lecture and Exercises mixed (see announcements on this page).
If (and as long as) non-german-speaking participants attend, the course will be given in english.

Module CS.M.inf.1241:
The module's home is the MSc studies in Applied CS. It can also be credited in the BSc studies in Applied CS, and in several other studies:
6 ECTS credits (Studies in Applied Informatics and in MSc Wirtschaftsinformatik),
Maths (Dipl, MSc), Teaching, Magister, PhD GAUSS, ...

Note: participants are required to have successfully attended the module Databases.

Note: the course is a prerequisite for "Semantic Web" (prospectively in SS2014) since it provides the necessary basic knowledge in logics.

Enrolment: there is no official enrollment for DBT. Students may freely decide to attend the lecture. Only at the end, for the exams, there is a registration (with FlexNever).
In general, I don't use StudIP (it is a lot of additional work, and past misfunctions of it resulted in severe problems). You find all relevant information about the lecture at this Website.

Course Description

The course combines theoretical aspects with their applications in databases and knowledge representation:

  • First-Order Logic
  • The first-oder-logic-based twin to the relational algebra: Relational Calculus; domain-independence, safeness; translation of queries between Algebra and Calculus
  • Model Theory, Reasoning and Query Answering in First-Order Logic: Resolution and Tableau Calculus
  • Conjunctive queries (Datalog queries)
  • Deductive Databases - Positive Recursive Datalog
  • Advanced Datalog: Datalog with Negation, Well-Founded Semantics, Stable Semantics
  • Practical Exercises will be done with XSB Prolog/Datalog and smodels.
  • The running example is the "Mondial" database. SQL queries against Mondial can be stated via a Web interface.

Dates & Topics

Exams

  • Oral exams, between 10.2.2014 and 9.5.2014
    • Individual appointments
    • Exam period in February: 10.2.-12.2.
    • Exam period in March: 3.3.-11.3.
    • Exam period in April: 8.4.-12.4.
    • Exam period after Easter: 28.4.-2.5. (maybe 23.4.-9.5.)
      (Summer term lectures start on Apr 22 which is Easter Tuesday; Thursday May 1st is a holiday)
    • Please contact may at informatik.uni-goettingen.de for the individual appointments/slots.
    • The exams take place in my office, Room 2.107, Inst.f.Informatik.
  • Exam procedure: about 30-40 minutes. Candidates start with talking about a topic of their choice (5-10 minutes), then questions+answers, including sketches on paper develops dynamically.
    Languages: German, English.
  • Registration via FlexNever:
    • Exam regulations (Allgemeine Prüfungsordnung BSc/MSc Göttingen (2013), Par.10b):
      Registration is possible until 7 days before begin of the exam period (here: the respective exam period). Deregistration is only possible during registration period.
    • According to the 4 above slots, 4 entries will be provided by FlexNever; for each of them, registration+deregistration end 7 days before the beginning of the period.
      Choose the appropriate entry for registering.
    • Contact may at informatik.uni-goettingen.de for a concrete appointment in the slot. We try do have several exams on single days during each period.

Resources

  • All slides of DBIS lectures can be found here.
  • Some topics of the course are closely related to chapters of the book Foundations of Databases by Serge Abiteboul, Richard Hull, and Victor Vianu that can be found as pdf here.
  • A comprehensive course in logics (incl. slides and a skriptum) can be found at Formale Systeme, Prof. Dr. P.H.Schmitt, Karlsruhe (im wesentlichen Kapitel 4 und 5).

Software/Playground

  • SQL-Queries on the Mondial database can be stated via this web form.
  • Mondial in Datalog is available here.
  • The Datalog sample programs from the slides are available here.
  • For experimenting with Datalog, the XSB system is installed in the IFI CIP-Pool:
    Add
       alias xsb='rlwrap ~dbis/LP-Tools/XSB/bin/xsb'
    
    to your ~/.bashrc and then source .bashrc. Then call
     may@pc01> xsb
    
    The xsb prompt is then ?- .
    To leave XSB, press CTRL-D.
    Enter
     ?- [mondial].
    
    to "load" mondial into XSB. Query with e.g.
     ?- country(A,B,C,D,E,F).
    
    returns the first answer. Press "return" once to leave answers, press any other key and "return" to get next answer.
  • Download of XSB Prolog/Datalog from Stony Brook University.
  • For experimenting with stable models, smodels and its lparse frontend are installed in the CIP pool:
    Add
       alias smodels='~dbis/LP-Tools/smodels-2.34/smodels'
       alias lparse='~dbis/LP-Tools/lparsebin/lparse'
    
    to your ~/.bashrc and then source .bashrc. Then call
     may@pc01>  lparse -n 0 porq.s|smodels
     may@pc01>  lparse -n 0 -d none winmove.s|smodels
     may@pc01>  lparse -n 0 -d none --partial winmove.s|smodels
    
    where -n 0 indicates to show all stable models (any number can be given 0 means "all"). Option -d none omits the EDB predicates from the models. Option --partial also outputs the partial stable models, where an output of p'(...) then means that p(...) is a least undefined.
    See lparse -help and smodels -help for further options.
  • Download smodels and lparse from Helsinki University of Technology.
    • gunzip both, unpack with tar xvf.
    • cd into smodels-X.YZ, run make, creates smodels binary.
      Assign an alias for calling it.
    • cd into lparse-X.Y.Z, edit INSTALLATION_PATH in Makefile, read INSTALL text, and do what is recommended.
      Assign an alias for calling it.