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 studying database design, covering the ODL and entity relationship
models. We will then cover the relational data model and relational algebra.
Next, we consider the usage of database systems through the SQL query and
manipulation language. We cover active aspects of database systems, recursion
and preliminaries of object-oriented systems. Throughout the course we
often consider the insides of a database system and briefly look at issues
such as data storage and query optimization. Finally, we consider
emerging issues in database systems including the processing of XML
data and integration of data from multiple database systems.
Course Format
The class meets on Thursdays, 6:30-9:20pm in Sieg 322, and will be broadcast to MS.
We will follow parts of the textbook (see below) and read several key papers in the field. There will be one programming project and a few small homework assignments. The project should be done in pairs.
Instructor Information & Office Hours (subject to change -- check
Web site)
Database Systems - The Complete Book by H. Garcia-Molina, J. D. Ullman, J. Widom, 2002.
The library will have on reserve three other books that you might find
useful if you need additional explanation of a topic:
Fundamentals
of Database Systems by Elsmasri and Navathe.
Database
Management Systems by Raghu Ramakrishnan.
Foundations of
Database Systems by Abiteboul, Hull and Vianu.
Late Policy
Assignments are due at the beginning of class on the due date, unless
otherwise announced. Barring usual circumstances, late homework will not
be accepted.
Tentative Grading Breakdown
Paper homeworks: 30%
Programming project: 30%
Final: 30%
Intangibles: 10%
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. This software is available in the NT lab (Sieg 232).
Additional software may be required for the project.
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 594 will be vigorous in enforcing them.