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 the SQL language,
conceptual design. Next, we discuss XML, XPath, XQuery.
We see how XML is used for sharing data among different applications in a
distributed environment.
We continue by discussing some of the theoretical
foundations of today's data model: first order logic, datalog.
Finally, we will discuss query execution and query
optimization, as found in today's modern database systems.
These topics will be partially covered by papares.
Course Format
The class
meets two times a week for lectures. Some, but not all of the
material is covered in the textbook. In addition there will be a
number of reading assignments. There will be 2 homework assignments
(the first will involve programming, the second will involve theory)
and a programming project, which is designed as a mini research
project. You can usually find copies of the slides used in the
lecture on the web site, on the day of the lecture.
Lectures
Mon/Wed 12:00 pm - 1:30 pm, EE 025
Final Exam
June 10, 8:30-10:30, EE 025
Instructor Information & Office Hours:
Tuesdays, 1pm-2pm
Database management systems by Raghu Ramakrishnan.
The texts are available in a single shrink wrapped package
from the University Bookstore. The library will have on reserve other
books that you might find useful if you require another explanation of a topic:
Foundations of Databases (Abiteboul, Hull & Vianu)
Database Systems: the complete book (Ullman, Widom and
Garcia-Molina)
Parallel and Distributed DBMS (Ozsu and
Valduriez)
Transaction Processing (Gray and Reuter)
Data and Knowledge based Systems (volumes I, II) (Ullman)
Data on the Web (Abiteboul, Buneman, Suciu)
Readings in Database Systems (Stonebraker and
Hellerstein)
Proceedings of SIGMOD, VLDB, PODS
conferences.
Programming and Homework
This is not a programming class! Nevertheless, some programming
will be necessary, both in the first homework and in the project.
For the first homework you need to work with a relational database
system (you have a choice of SQL Server or Postgres) and with the
Galax XQuery interpretor (which you have to download from here). Depending on the
topic, the projects will involve programming in a general-purpose
language (C++, Java, etc), and/or using a query processor (SQL,
XQuery). The bulk of the programming will be for the class project.
Late Policy
Assignments
are due at the beginning of class on the due date, unless otherwise
announced. Barring unusual circumstances, late homework will not be
accepted.
Tentative Grading
Breakdown
Homework: 25%
Project: 30%
Paper reviews: 20%
Final: 25%
Attendance
I hope you will
attend every lecture. If you miss a lecture, talk to a friend who
was present, and be sure to check the Web site for class messages.
Tools
The World-Wide Web and e-mail will be used extensively to
provide you with course information, such as the schedule mentioned
above, homework assignments and solutions, class messages and many
other things.
Computer
Systems
For the required hands-on homework, students
need accounts on cubist, which is running PostgreSQL.
Computer Use Policy
Some excerpts from
the campus policies. Take
them seriously: "You must use all UW [computing] resources in strict
accordance with local, state, and federal laws. These laws cover
such areas as illegal access to computer systems, networks, and
files; copyright violations; and harassment issues... Software and
information resources provided through the university for use by
faculty, staff, and students may be used on computing equipment only
as specified in the various software licenses. Unauthorized use of
software, images, or files is regarded as a serious matter and any
such use is without the consent of the University of Washington...If
abuse of computer software, images, or files occurs, those
responsible for such abuse will be held legally accountable."
Academic Misconduct
All work turned in is expected to be your own. Although
students are encouraged to study together, each student is expected
to produce his or her own solution to the homework problems. Coping
or using sections of someone else's program, even if it has been
modified by you, is not acceptable. The University has very clear
guidelines for academic misconduct and the staff of CSE 544 will be
vigorous in enforcing them.