CS3431.
Database Systems I
Class Meetings
Term: C-2017
Room: Fuller Upper Perreault
Date/Time: Mon., Tues., Thur. , and Fri. 4:00pm - 4:50pm.
Instructor/Office Hours
Prof.
Mohamed Eltabakh, FL-235, meltabakh@cs.wpi.edu
Office Hours: Monday 2:00 - 3:30pm,
Wednesday 1:00 - 2:30pm,
Friday 3:00pm -
4:00pm. Students are also welcomed to
schedule other meeting times by email.
TAs/Office Hours (Location: Fuller A-22)
Nichole Etienne, netienne@wpi.edu
Office Hours: Tuesday & Thursday 10:00am - 11:30am
Liang Zhang, lzhang6@wpi.edu
Office Hours: Monday & Wednesday 10:30am - 12:00pm
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 willing and 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 we
suggest that you 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. Other students may even be able to
answer your questions. (b) Second, go to the office hours, as they are
set up solely for this purpose. (c) Only when the above two means do
not work for you, then feel free to email to the staff of this course
explaining your problem. Also, if there is specific issue that cannot
be addressed in the above manner, you are welcome to drop by our
offices to set up some alternate agreed-upon meeting time.
Course Highlights (Catalog Info)
-- This course introduces
the student to the design, use, and application of database management
systems.
-- Topics include the relational data
model, relational query languages, design theory, and conceptual data
design and modeling for relational database design. Techniques that
provide for data independence, and minimal redundancy will be discussed.
-- Students will be expected to design
and implement database system applications.
-- Undergraduate credit may not be
earned both for this course and for CS 4431 or CS 542.
-- Recommended background: CS 2022 and
either CS 2102 or CS 2118.
Course Objectives
This course teaches you how to use a relational database system such as
Oracle or SQL Server, for your application.
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), (f) SQL DML which include queries for representing
relational algebra, and data modification statements for making changes
to the data, and (g) DB application development concepts such as stored
procedures (PL/SQL), and JDBC and related concepts. Other issues
important to SQL systems such as triggers and constraints, and views,
as well as an overview of indexes, transactions, logging and security
will also be covered.
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 should be comfortable with programming and be
able to program well in at least one of these languages.
Course Load & Grading Policy
This course will have 3-4 homeworks, 1 Project (multiple phases), and
midterm and final exams. We will also have 3-4 short quizzes. The division of the course grade is given
below.
Items |
Percentage |
Homeworks
|
20%
|
Projects |
20%
|
Midterm |
20%
|
Final Exam |
20%
|
Quizzes
|
20%
|
WPI E-System
This course will use blackboard.wpi.edu. You can use this system for electronic submission of homeworks and/or projects, and for checking your grads.
Discussion Board
Please use the discussion board available at blackboard.wpi.edu. for any course-related posts and discussions.