Database Systems (Winter 2008-2009)

Course Information

Instructor Information

  • Tova Milo, Professor
    Office Hourse: TBA
  • Rubi Boim, Teaching Assistant
    Office Hourse: TBA

Course Goals

Databases are at the heart of modern commercial application development. Their use extends beyond this to many applications and environments where large amounts of data must be stored for efficient update and retrieval. The purpose of this course is to provide an introduction to the design and use of database systems, as well as an appreciation of the key issues in building such systems.

We begin by covering the relational model and the SQL language. We then study methods for database design, covering the entity relationship model. Time permitting we will then study XML as a data model and languages for querying it, and see how XML is used for sharing data among different applications in a distributed environment. We then inspect the architecture of a database system, and discuss efficient storage of data, execution of queries and query optimization. Finally, we touch on some advanced topics in database systems.

Course Format

The class meets once a week for 3 lecture hours. There will be 2-3 homework assignments (some of which will involve programming). In addition, there will be a programming project. You can usually find copies of the slides used in the lecture on the web site, a couple of days before the lecture.

Course Grading

  • Homework - 25%
  • Project - 30%
  • Final Test - 40%
  • Intangibles - 5%

Textbooks

Database Systems: The Complete Book, by Garcia-Molina, Ullman and Widom, 2002.
For SQL: SQL for Nerds, by Philip Greenspun.

Additional Texts (can be found at the library):

  • A First Course in Database Systems, by Ullman and Widom (or earlier variants of this book by Ullman)
  • Fundamentals of database systems, by Elsmasri and Navathe
  • Database management systems, by Raghu Ramakrishnan
  • Foundations of database systems, by Abiteboul, Hull and Vianu