Instructor: Dr. Narain Gehani
Office: GITC 4304
Phone: 973-596-2318
Email: gehani@njit.edu
------------------------------------------------------------
********* This is Site will be updated in the coming days **********
-----------------------------------------------------------
Course: CIS 431-002
Course
Meeting Time: Tues/Thurs 1:00-2:25pm
Room: Kuprian 203
Website: http://www.cs.njit.edu/gehani/classes.htm
Advising: Room GITC 4400, Tues/Thurs 2:30 pm – 4:00 pm
TA: Yoo Jung An, yoojungan@gmail.com, GITC 4214, Tues/Thurs 3:00 pm – 4:30 pm or by appointment via email
Prerequisite: CIS 114 Introduction to Computer Science II (Data Structures)
Textbook: The
Database Book: Principles & Practice Using MySQL by Narain
Gehani
(Draft of book being written will be
provided by instructor for copying)
Academic
Integrity and NJIT Honor Code: Please
familiarize yourself with the NJIT Honor Code (http://integrity.njit.edu). Violations of
the honor code will be dealt with seriously and reported immediately to the
Dean of Students.
This course aims to teach database concepts and fundamentals as traditionally given to people learning how to build database systems. The focus is on understanding concepts as opposed to implementing algorithms that implement the concepts. For example, I will talk about B-tree indexes and discuss how they work and show you when and how to use them, but I will not discuss or show algorithms that implement B-trees.
The course will focus on relational databases covering the complete range of database topics. It will start from the basics such as discussing the need for databases, relational algebra, the relational database query language SQL, transactions, database integrity, triggers, indexes, design of good relations, views, database security, replication, logs, database design and tuning, and applications.
The course will require several practical projects done in teams. Included will be writing project requirements.
We will use the MySQL database for the course.[1] For your PCs, you can download the latest version from
www.mysql.com
and install it.
On the university computers, you can request an account for MySQL
http://web.njit.edu -> Databases -> mySQL
.
Midterm Exam: 33%
Final Exam: 34%
Homework: 33%
Students found cheating, plagiarizing, or collaboration (collaboration is allowed for those working together in approved team projects) will be immediately referred to the Dean of Students and the NJIT Committee on Professional Conduct and subject to Disciplinary Probation, a permanent marking on the record, possible dismissal, and an ‘F’ grade in the course. All submitted assignments will be checked for similarities, and plagiarism and guilty students identified.
|
Date |
Topic |
Comments |
1 |
T 1/17/06 |
Introduction, Syllabus, Book |
|
2 |
R 1/19/06 |
Project 1: get MySQL access / Database Models |
|
3 |
T 1/24/06 |
Interacting with a database / Disk vs. Main Memory Databases; Project 2 start |
|
4 |
R 1/26/06 |
The Everest Books Database Requirements |
|
5 |
T 1/31/06 |
MySQL: Single User vs. Client-Server |
|
6 |
R 2/2/06 |
Project 2 Requirements Presentation |
1 or 2 teams to volunteer to discuss their requirements |
7 |
T 2/7/06 |
Relational Databases |
|
8 |
R 2/9/06 |
The Everest Books Database Tables |
|
9 |
T 2/14/06 |
Relational Algebra |
|
10 |
R 2/16/06 |
Normal Forms |
|
11 |
T 2/21/06 |
SQL basics |
|
12 |
R 2/23/06 |
SQL basics continued |
|
13 |
T 2/28/06 |
Everest Books Database Queries |
|
14 |
R 3/2/06 |
Mid Term |
|
15 |
T 3/7/06 |
Mid Term Review / Project 2 due / presentation; Project 3 start |
1 or 2 teams to volunteer to discuss how they did project 2 |
16 |
R 3/9/06 |
Transactions / Locks & Deadlock |
|
|
3/13/06 – 3/19/06 |
Spring Break – No class |
|
17 |
T 3/21/06 |
Transaction Isolation Levels |
|
18 |
R 3/23/06 |
Transactions in MySQL |
|
19 |
T 3/28/06 |
Project 3 Requirements Presentation |
1 or 2 teams to volunteer to discuss their requirements |
20 |
R 3/30/06 |
Constraints |
|
21 |
T 4/04/06 |
Triggers |
|
22 |
R 4/06/06 |
Objects |
|
23 |
T 4/11/06 |
Indexes |
|
24 |
R 4/13/06 |
Views |
|
25 |
T 4/18/06 |
Spatial Databases |
|
26 |
R 4/20/06 |
Security |
|
27 |
T 4/25/06 |
Logs & Recovery |
|
28 |
R 4/27/06 |
Tuning / Is your DB Truly Relational / Project 3 due. |
|
29 |
Final Exam Week |
Final Exam |
|
[1] You can use Oracle instead (NJIT should have given you an Oracle account automatically) but there will be MySQL specific items in the course. It will be your responsibility to address the few differences, from a course perspective, that you will find between Oracle and MySQL.