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)

 

PowerPoint Slides: lectures.pdf lectures2.pdf

 

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.

 

Course Description

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.

 

Database Used for the Course

 

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

 

.

Course Grade Components

 

Midterm Exam: 33%

Final Exam: 34%

Homework: 33%

 

Policy on Collaboration

 

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.

 

Lectures

 

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
5/4 – 5/10

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.