CPS 196.3: Introduction to Database Systems
Course Information


Index


Course Description

This course is intended to give students a solid background in databases, with a focus on relational database management systems. Topics include data modeling, database design theory, data definition and manipulation languages, storage and indexing techniques, query processing and optimization, concurrency control and recovery, and database programming interfaces. In addition to these traditional topics, this course covers a sample of emerging topics such as XML and Web data management as well as advanced topics such as data warehousing and data mining. Programming projects are required.

Prerequisites: Familiarity with Unix and Java or C++. A good understanding of algorithms and data structures.


Time and Place

TTH 2:15pm-3:30pm, D344 LSRC


Books

Required:


Staff

Instructor: Jun Yang
Web: http://www.cs.duke.edu/~junyang/
Email: junyang@cs.duke.edu
Office hours: TTH 3:30pm-5:00pm D327 LSRC


Web, Newsgroup, and Blackboard

Most of the course materials, including the syllabus, lecture notes, reading assignments, homeworks, programming FAQ's, etc., will be available through the course Web page (http://www.cs.duke.edu/courses/fall02/cps196.3/).

The newsgroup duke.cs.cps196-3 is useful for posting questions that are likely to be of interest to the rest of the class. We very much encourage students in the class to post responses to questions. We will monitor the the newsgroup regularly, and post responses to questions that have not previously been asked or answered. Before posting a question, please do make sure that you've read all previous messages and that your question has not yet been discussed.

We will use the Blackboard course management system (https://courses.duke.edu/bin/common/course.pl?course_id=_2794_1&frame=top) for grades. Log onto Blackboard and verify that it has your correct email address. Please check your emails regularly, as important course announcements will be sent via email.


Grading

Homeworks30%
Project30%
Midterm20%
Final20%

There are four homeworks, with a mix of written and programming problems. Late homeworks will not be graded.

There is one course project, details of which will be available in the second week of the class.


Honor Code

Under the Duke Honor Code, you are expected to submit your own work in this course, including homeworks, projects, and exams. On many occasions when working on homeworks and projects, it is useful to ask others (the instructor, the TA, or other students) for hints or debugging help, or to talk generally about the written problems or programming strategies. Such activity is both acceptable and encouraged, but you must indicate in your submission any assistance you received. Any assistance received that is not given proper citation will be considered a violation of the Honor Code. In any event, you are responsible for understanding and being able to explain on your own all written and programming solutions that you submit. The course staff will pursue aggressively all suspected cases of Honor Code violations, and they will be handled through official University channels.


Tentative Syllabus

WeekDate TopicReference*
12002-08-27 Introduction
2002-08-29 Relational model and relational algebra GMUW 3.1, 5.1, 5.2
22002-09-03 More relational algebra
2002-09-05 Database design using E/R model GMUW 2, 3.2, 3.3
32002-09-10 Relational database design: keys, FD's, BCNF GMUW 3.4-3.6
2002-09-12 SQL: schema definition and basic queries GMUW 6.6.1, 6.6.2, 6.1.1-6.1.4, 6.1.7, 6.2, 6.4.1, 6.4.2
42002-09-17 SQL: subqueries and aggregates GMUW 6.3, 6.4.3-6.4.6
2002-09-19 SQL: NULL's, modifications, constraints, and triggers GMUW 6.1.5, 6.1.6, 6.5, 7.1, 7.2, 7.4
52002-09-24 SQL: indexes, views, and transactions GMUW 6.6.5, 6.6.6, 6.7, 8.6
2002-09-26 Database application programming GMUW 8.1-8.5
62002-10-01 SQL3 recursion GMUW 10.4
2002-10-03 More relational database design: decomposition, 3NF, 4NF GMUW 3.7
72002-10-08 Data warehousing and data mining GMUW 20.4-20.6
2002-10-10 Midterm exam
82002-10-15 Fall break
2002-10-17 XML and DTD W3C XML/DTD standards
92002-10-22 XPath and XQuery W3C XPath and XQuery standard
2002-10-24 XSLT W3C XSLT standard
102002-10-29 XML application programming
2002-10-31 XML and relational databases
112002-11-05 Physical data organization GMUW 11.2, 11.3, 12
2002-11-07 Indexing GMUW 13
122002-11-12 Query processing GMUW 15.1-15.6
2002-11-14 Query optimization GMUW 16.2, 16.4-16.6
132002-11-19 Concurrency control GMUW 18.1-18.5
2002-11-21 Recovery GMUW 17.1-17.4
142002-11-26 Web search
2002-11-28 Thanksgiving break
152002-12-03 Web search GMUW 13.2.4
2002-12-05 Review
162002-12-13 Final exam (Friday, 7:00pm-10:00pm)

* GMUW refers to the required textbook by Garcia-Molina, Ullman, and Widom.