EECS 484: Overview

EECS 484 (Database Management Systems) EECS 498-002 (Database Design and Querying) EECS 498-003 (Database Algorithms and Implementation), Fall 2009

Overview

Schedule/Notes

 

Course Description

EECS 484 provides basic introduction to relational database management systems (DBMSs). This course is designed to provide you with both an external and an internal view of relational DBMSs. It is recommended that you take both parts if you are a CS major. You may choose to take only the external view by registering for 498-002 in the first half semester. You may choose to take only the internal view by registering for 498-003 in the second half semester. These two 498 courses are 2 units each and together are exactly equivalent to 484. If you register for one of the 498 classes, you will be in the same class room as 484 students and learn exactly the same material. Neither 498 may be taken for credit if you have taken or will take 484. Also, 498-002 is not really appropriate for CS and CE majors -- the topics CS/CE employers tend to care the most about are in 498-003. Topics related to the external view, covered in 498-002, will cover concepts that will allow you to use a relational DBMS. You will need some Java or C++ programming knowledge, comparable to EECS 280 or EECS 282, to take this class. Whereas course projects will involve a specific commercial database (Oracle), the purpose of this course is not to learn the details of how to use any specific commercial database system, and we will minimize product-specific issues that you need to learn. If you are interested in the details of SQL programming, or the operation of a specific commercial database system, you will be able to pick this up after you have taken this course. Topics related to the internal view, will be covered in 498-003. This course is designed to cover the fundamental database concepts and the implementation techniques that are used in relational database engines. Using the course project, you will actually build a few key components of a database engine. This course will allow you to better understand how a relational DBMS works, making you a more sophisticated database user. You will need the understanding provided by this course if you expect to be a decent database administrator, even if you have no plans to write code inside a database engine.

Prerequisites

For 498-002: ((EECS 280 or EECS 282) and EECS 203) or graduate standing
For 498-003: (EECS 281 and EECS498-002) or graduate standing
For 484: EECS 281 or graduate standing
EECS 485 currently has EECS 484 as a prerequisite. EECS 498-002 will provide enough background to satisfy this prerequisite for EECS 485.

Teaching Staff and Office Hours

Instructor: H. V. Jagadish, jag [AT] eecs.umich.edu
Office Hours: W 12-12.30, T 3.30-4.00 in Room 4601 CSE

GSI: Yongjia Wang, eecs484 [AT] gmail.com
Office Hours: Th 4.30-6.30 in Room 1637 CSE


Lecture Time and Place

Lectures: MW 10:30 - 12:00, 1504 GGBL.
Discussion: F 10:30-11:30, 1504 GGBL. You must plan on attending all discussion sessions.

Textbook

Database Management Systems (3rd edition) - by Raghu Ramakrishnan and Johannes Gehrke, McGraw Hill, 2003, ISBN: 0-07-115110-9. The book has a supporting website, where you can find answers to odd-numbered exercises.

Resources

CTools

We will use CTools for several purposes in this course. Please try logging in during the first few days of class, and send e-mail to the GSI if you encounter difficulty.

Oracle Accounts

First half assignment requires you to use an Oracle database. Each student will receive an Oracle account from CAEN during the first few weeks of class. (CAEN will send you information about this directly.)

Course Requirements and Grading

Exam 1: TBD 27%
Exam 2: TBD 27%
Quizzes: Two paper assignments, 3% each
Assignments: 4 programming assignments, 10% each

The examinations are *not* cumulative, and each applies to one half of the EECS 484 course.
Exactly half of the above exams and assignments apply in each half of the course. Score it out of 50 to get the correct percentage distribution for each 498 class.

Projects, Partners, and Late Days

Teams of two for each programming assignment. Written assignments are individual. One free late day in each half semester. 1% of full semester grade (or 2% of half semester grade) for each permitted late day beyond that.

Honor Code

All students (including LS&A and Engineering) are required to observe the Engineering Honor Code in all assignments and exams. A copy of the honor code can be found here. Please make sure that you clearly understand what constitutes cheating. If you are not sure in any specific case, you should ask the teaching staff. The University takes honor code violations seriously, and penalties can be severe.

Disabilities

Students with disabilities that are documented with the Services for Students with Disabilities (SSWD) Office must contact the professor during the first two weeks of class to make appropriate arrangements.