CS4432.
Database Systems II
Class Meetings
Term: A-2015
Room: Salisbury Labs 104
Date/Time: 4 Times M T R F 10:00am - 10:50am.
Instructor/Office Hours
Prof.
Mohamed Eltabakh, FL-235, meltabakh@cs.wpi.edu
Office Hours: Monday
12:00pm - 1:00pm, and
Friday, 3:00pm - 4:00pm. (Students are also welcomed to
schedule other meeting times by email.)
TAs/Office Hours (in FL-A22)
Junyu Zhu, jzhu1@wpi.edu
Office Hours: Monday & Wednesday 3:00pm - 4:00pm
Xiao Qin, xqin@wpi.edu
Office Hours: Tuesday & Thursday 3:00pm - 4: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 stop by our
offices to set up some alternate agreed-upon meeting time.
Course Highlights (Catalog Info)
-- This course is the second-level database management
system course. Therefore, it is expected that you already took DB-I (CS3431) or you have equivalent knowledge.
-- This course does not cover How to use DBMS, but it covers How a DBMS works.
-- Topics cover the Storage Layer of
DBMSs, Buffer Management, Indexing Techniques, Query Optimization,
Transaction Management, and Recovery and Concurrency Control.
-- Students will be expected to design
and implement components of a DBMS and advanced applications.
Purpose of Course
In this digital age, data of every increasing volumne is beginning
generated daily. This overload of data is putting those that know how
to effectively manage and extract information from such mountains of
data into a distinct advantage. In many cases, data is mission critical
to an enterprise's economic success. Thus database systems are a
critical component of today's software systems. This second course in
database systems concentrates on the study of the internals of such
database management systems. That is, we will look "under the hood" to
learn about the key techniques and technologies within database
systems. In particular, we will learn about what makes a database
management system efficient so to be able to extract relevant
information out of huge data sets. The principles and theories of
physical storage management, query processing and optimization, and
index structures for relational databases, transaction processing, and
concurrency control will be covered. Time permitting, a selected subset
of issues from database recovery, security, web database systems, or
client server systems, may be discussed. The knowledge gained should be
useful not only for building software systems that have to handle data
of huge volumes, but also for effectively using a commercial DBMS
system.
Who Should Take the Course
The intended audience is computer science and computer engineering
majors. In this class, you will assume that you already know how to use
a database system, such as Oracle or SQL Server. And, thus that you are
familiar with concepts such as the relational data model, relational
query languages such as SQL and database database design such as ER
modeling. Any student taking this class is expected to have sufficient
programming experience. This means that you should be comfortable with
a high-level programming language (more specifically Java).
Recommened Background
Beginning database design knowledge such as gained in
CS3431 or in a job (in particular, knowledge of the relational data
model and SQL) and some knowledge of software development (such as
gained in CS3733) are recommended. If you are in doubt about your
background being sufficient, please discuss this with the instructor of
the course.
** Keep in mind that this course does not cover How to use DBMS (that is covered in CS3431). It covers How a DBMS internally works.
BS/MS Graduate Credits
This course may be taken for graduate credit by
students in the BS/MS CS program. In order to receive graduate credit
(equal to 2 graduate credits) for this course, students that are signed
up for this program need to get permission from the professor. Hence,
discuss your plan with the professor at the start of the class. This
course has significant overlap with the graduate version CS542.
Course Load & Grading Policy
The details can be found in [Here].
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.