CSc 8710. Deductive Databases and Logic Programming
Fall 1999, Monday 7.15 to 9.45 PM, Room: 305 Sparks Hall
Computer Number: 1722

Course Overview: An introduction to area of deductive databases and logic programming. Topics include: Logic programming and Prolog, Syntax of logic programs and deductive databases, Model-theoretic, Proof-theoretic and Fixpoint semantics, Operational semantics such as bottom-up evaluation and SLD-resolution techniques, Query optimization in deductive databases, Negation in deductive databases, Applications of deductive databases, Constraint checking in deductive databases.

Textbooks
  1. Logic programming and databases by Ceri, Gottlob and Tanca, Springer-Verlag, 1990.
  2. Oracle Programming -- A Primer by R. Sunderraman, Addison-Wesley, 1999.
Grading Policy: The grading will be based on the following components:
  1. Three exams worth 20% each
  2. Homework assignments worth 20%.
  3. Programming projects worth 20%.
Detailed Course Syllabus
  1. Preliminaries:
    • Relational Databases (relational algebra, SQL, embedded-SQL, JDBC, SQLJ)
    • Logic Programming in Prolog
  2. Deductive Databases and Logic Programming--Basics:
    • Syntax of logic programs and deductive databases
    • Semantics: Model-theoretic, Proof-theoretic, Fixpoint semantics
    • Evaluation Strategies:
      • Bottom-up evaluation (Naive,Semi-Naive)
      • Top-down evaluation (SLD-resolution)
  3. Deductive Databases--Advanced Topics:
    • Query optimization
    • Negation in deductive databases
    • Applications of deductive databases
    • Constraint checking in deductive databases