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.
Their principles and fundamental techniques are being extended today to
the Web and to novel kinds of data, like XML. The purpose of this
course is to provide an introduction to the principles of database systems.
We begin by studying database design, covering the entity relationship model. We will then cover the relational data model,
relational algebra and SQL. As an newer model, we will cover XML and some XML
query languages. We will take a deeper look at database query languages and
their connection with logic and with complexity classes. In the second half of
the course we will discuss some database implementation issues: storage,
indexes, query processing, and query optimization.
Course Format
The class meets two times a week for lectures. We won't meet in the computer
lab except perhaps very occasionally. Most of the material is covered in the
textbook, but we will follow a different order. There will be 4 homework assignments
(the first will involve
light programming). In addition, there will be 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
Tu-Thu 10:30 pm - 11:50 pm, EE1 025
Instructor Information & Office Hours: Tue,
12-1pm (subject
to change -- check Web site)
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 three other books that you might find
useful if you require another explanation of a topic:
Foundations of Databases (Abiteboul, Hull &
Vianu)
Pair of books by 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. There will be some mandatory SQL programming for setting up
and querying a database in the first homework. Such queries are usually short compared to typical
programs in other languages. 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: 35%
Project: 20%
Final: 40%
Intangibles: 5%
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 access to Microsoft SQL
Server.
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 444 will be vigorous in enforcing them.