Search | Directories | Reference Tools
UW Home > UWIN > Student Guide > Course Catalog 

Instructor Class Description

Time Schedule:

Dan Suciu
CSE 544
Seattle Campus

Principles of Database Systems

Data models and query languages (SQL, datalog, OQL). Relational databases, enforcement of integrity constraints. Object-oriented databases and object-relational databases. Principles of data storage and indexing. Query-execution methods and query optimization algorithms. Static analysis of queries and rewriting of queries using views. Data integration. Data mining. Principles of transaction processing.

Class description

The class covers both relational databases and semistructured data (XML). Students learn mathematical foundations of data models and their query languages, both relational and semistructured (XML), will learn how to use a real database system and run SQL queries, both ad-hoc and via JDBC, and will learn some aspects related to database implementations, such as physical operator evaluation and optimizations.

Student learning goals

General method of instruction

There are two weekly lectures. We will not follow the textbook too closely, but students are encouraged and sometimes required to read chapters from the textbook as they complement and expand the material taught in class. There will be some reading assignments of research papers.

Recommended preparation

Everyone taking this class should be familiar with Java and/or C++, and should have written at least a few thousand lines of code in the past. A Theoretical background in Algorithm, Data structures, and Computational Complexity is expected. Most notions will be defined in class, but if students unfamiliar with most of the following will have trouble following the class: sorting, O(n log n), O(n^2), dynamic programming, search trees, B trees, hash tables, PTIME, NP, undecidable, first order logic, quantifier, finite automata, regular expression.

Class assignments and grading

the first homework will be a small database application project, and will require Java programming with SQL and JDBC. All other homeworks will be theoretical. The project will be a small research project, most likely involving XML processing.

The final grade is a weighted average of the homeworks, project, and final. The final is usually difficult.


The information above is intended to be helpful in choosing courses. Because the instructor may further develop his/her plans for this course, its characteristics are subject to change without notice. In most cases, the official course syllabus will be distributed on the first day of class.
Last Update by Dan Suciu
Date: 03/27/2002