CS3431. Database Systems I, 2012 B Term

http://web.cs.wpi.edu/~cs3431/b12/

Class Meetings

Venue: FL 320
Date/Time: Monday, Tuesday, Thursday, and Friday at 3:00pm - 3:50pm

Teaching Staff

Professor: Elke A. Rundensteiner , FL-238, x5815
Office Hours: Tuesday: 5:30pm - 6:30pm, Fri: 10:00am - 11:00am

TA: Xika Lin (xika)
Office Hours: Mon: 11:00am - 12:00am, Wed: 2:30pm - 3:30pm.
Location: In Fuller Labs sub-basement in room FL-A22.



Regarding when and by what means to approach the instructor or TAs with questions outside of class, please keep in mind the following. We are always eager to answer your questions, and would like you to master the topics covered in a timely manner. There are different venues for bringing questions outside the lecture hours: (a) First please utilize the discussion boards on mywpi - as we will be monitoring those daily. Plus other students could likely benefit from your questions and our answers. Some students may answer your questions faster than we will be able to. (b) Second, go to the office hours, as they are set up for this purpose. (c) When the above two means do not work for you, then feel free to email to the staff of this course explaining your problem. Or, you are welcome to drop by our offices to set up some alternate agreed-upon meeting time.

Objectives

This course teaches you how to use a relational database system such as Oracle or SQL Server for your database application development.

The specific topics you will study in this course include (a) conceptual models, such as ER (Entity Relationship) model for representing your application requirements formally (b) relational model: structures and constraints, and how to represent them using SQL DDL (c) algorithms for translating your ER model to relational model (d) understanding any defects in your relational design, and rectifying them using normalization theory (e) relational algebra for operations on relational model (i.e., how to query data from a relational database), and (f) SQL DML which include queries for representing relational algebra, and data modification statements for making changes to the data. Other issues important to SQL systems such as triggers and constraints, and views, will also be covered. Time permitting, we may also provide an overview of indexing, transactions, logging and/or security.

This course will NOT cover database system implementation details (e.g., how to build a database system that processes SQL queries efficiently). These topics will be covered in CS4432. We recommend all students to take this class after CS3431 to get a complete understanding of how database systems are implemented and used.

Background Material

The core mathematical principles behind relational databases is that of sets, relations and functions. An understanding of these concepts is necessary. A recap of these concepts can be obtained here.

Also for one part of the project, you will integrate the SQL knowledge you learn in this class with other programming languages, such as Java, C, Perl etc. Therefore you must be able to program in at least one of these languages.

Grading Policy

Items

Percentage

Homeworks

20%

Projects

30%

Exams (Mid+Final)

45%

Participation

5%

 

Homework and project assignment descriptions will be announced in class, and will also be made available from the course web site or mywpi. Students are responsible to be aware of all assignments. Failing to check the course web site is not an acceptable excuse for late submission or for missing exams. For projects, you must submit your source code on time via mywpi, and demonstrate the system on the assigned demonstration time period.

Academic Honesty Policy

Unless explicitly noted, all work is to be done on an individual basis. You are encouraged to discuss with others about ideas and material in the course, in preparing for exams, in understanding project statements, etc. However, all homeworks and exams are to be written individually, and the solutions should be your own. Projects require teamwork; meaning you are expected to work closely with your partner/(s) to solve problems and prepare a commonly agreed-upon solution.

Any violation of the WPI's guidelines for academic honesty will result in no credit for the course and referral to the Student Affairs Office. More information on definitions, responsibilities and procedures regarding the WPI academic honesty policy can be found here.

Discussion Board

For your questions concerning the course material, clarifications on the homework, questions on the project, and so on, please use the discussion board available at myWPI.