CS3/MSc Database Systems
2nd term, 2002

Latest News
  • Homework answers posted

Time and Place
 Mondays 11-12  Jan 28 onwards  Lecture Th 1, Ashworth Building
 Wednesdays 9-10  All term Lecture Th B, JCMB

   Peter Buneman ()

     Handout 1:
  Lectures 1 & 2.  Introduction, relational model, relational algebra - [pdf] [gzipped postscript]
Homework 1:
[pdf] [gzipped postscript].  Homework 1 solutions - [pdf] [gzipped postscript]
    Handout 2:
Lectures 3-5.  SQL Database design with E-R diagrams - [pdf] [gzipped postscript]
Homework 2:
  • [pdf] [gzipped postscript]. The US states for this homework. 

  • Part solution for homework 2 [pdf] [gzipped postscript]
        Handout 3:
    Lectures  6 & 7.  Relational database design and functional dependencies - [pdf] [gzipped postscript]
    Homework 3:
    [pdf] [gzipped postscript].   Homework 3 solutions - [pdf] [gzipped postscript]
         Handout 4:
    Lectures 9 & 10.  Storage and Indexing - [pdf] [gzipped postscript]
         Handout 5:
    Lecture 12 Transactions - [pdf] [gzipped postscript]
         Handout 6:
    Lecture 13 Embedded SQL and PHP - [pdf] [gzipped postscript]
    Homework 4:
    [pdf] [gzipped postscript].    Homework 4 solutions - [pdf] [gzipped postscript]
         Handout 7:
    Lecture 14: Implementing Relational Operations - [pdf] [gzipped postscript]
         Handout 8:
    Lectures 15-18: XML - [pdf] [gzipped postscript]
    Homework 5:
    [pdf] [gzipped postscript].    Homework 5 solutions - [pdf] [gzipped postscript]


    Predicate  calculus
    For those  who have not seen any first-order predicate calculus, the lecture notes by Charles R. Dyer are useful.   Just go over the first part: http://www.cs.wisc.edu/~dyer/cs540/notes/fopc.html
    Running SQL
    - Here are some quick notes on how to get up and running with SQL
    - And some excellent additional notes and examples from Peter Thanisch
    - The postgreSQL user guide
    - The postgreSQL tutorial
    - PLEASE BE CAREFUL: views are seriously brain-damaged in postgreSQL.  Use `CREATE TABLE' instead (see notes on getting up and running with SQL)
    - Account numbers and passwords are available  from the ITO office in JCMB if you didn't pick them up in class.

    PHP , HTML and Web interfaces to databases
    - An introduction by Alin Stefanescu: Quick notes on web database integration

    - XML Specification http://www.w3.org/TR/REC-xml
    - Annotated standard http://www.xml.com/axml/axml.html
    - General: http://www.oasis-open.org/cover/xml.html
    - Simple tutorials: http://www.w3schools.com/xml/default.asp and http://www.spiderpro.com/bu/buxmlm001.html
    - General articles on XML, XSL, XQuery, etc.: http://www.w3.org/TR/REC-xml

    XQuery and XPath
    - XQuery Specification (includes XPath): http://www.w3.org/TR/xquery
    - XML Query use cases http://www.w3.org/TR/xmlquery-use-cases
    - Straightforward tutorial: http://www.brics.dk/~amoeller/XML/querying/
    - XQuery and types: http://www.research.avayalabs.com/user/wadler/papers/xquery-tutorial/xquery-tutorial.pdf

    Raghu Ramakrishnan and Johannes Gehrke, Database Management Systems (Second Edition) McGraw-Hill 2000.

    Course Description
    Databases are crucial to maintaining the information base in almost all modern business enterprises and to electronic commerce.  They are also becoming increasingly important as a fundamental tool in much scientific research. Some knowledge of databases is now essential in any of these areas.  The study of databases draws on several areas of computer science: logic, algorithms, programming languages and operating systems.
    This module is an introduction to the principles underlying the design and implementation of databases and database management systems. It will cover the languages that have been developed for relational databases, their implementation and optimisation.  It will also introduce some recent developments in databases including object-oriented, object-relational systems, semistructured data and the relationship between databases and XML.  The bare essentials of transaction processing will also be covered.
    Students intending to take this option should note that background  reading is essential.  Some topics in database systems are far too pedestrian to be treated in detail in lectures, but a grasp of those topics is essential for an understanding of the rest of the material.  Also, all students are expected to have had a basic course in logic and discrete mathematics.


    Assessed Coursework

    It is expected that two practical coursework exercises will be set.  Firstly, there will be a practical exercise involving the use of a relational database management system.  The second exercise will involve programming with databases on the  web.  There will also be regular homeworks.