Computer Science Course Information
Back to CS Home Page


Computer Science Course Information


Level >Graduate >FALL_2005 >List >

Data Management Systems Design

Course No. CIS 631
Sections 261
Title Data Management Systems Design
Course Website
Prerequisite(s) Knowledge of algorithms and programming languages
Instructor David Medvigy
  • Office Room No. : Camden
  • Office Phone : 973-596-3366
  • Fax : 973-596-5777
  • Email : david.medvigy@njit.edu
  • Website: http://web.njit.edu
  • Lab :
  • Instructor Office Hours


    Description The objective of the course is to introduce database systems. The course focuses on the following issues: Relational Database Model, Formal and Commercial Database Languages (Relational Calculus and SQL), Database Design, Storage (File Organizations, External Hashing, Indexing), Query Processing and Optimization, Formal Database Design (Normalization) and Transaction Processing and Concurrency Control. If time permits Directories utilizing a Relational Database will be introduced.

    The students will learn how to design and implement a database application through a project. They will get hands-on experience with commercial database management systems (DBMS) by writing application programs that involve the commercial DBMS query language SQL.


    Topics Tentative Lecture Schedule
    Lecture # In Text Book Content HW Assignment
    Week 1- Sept 7 Chap. 1, 2 Introduction to Databases, Database System Architecture 1.7, 1.8, 1.9, 1.10, 1.11, 2.11
    Week 2- Sept 14 Chap. 3, 4 Entity-Relationship Model, Extended Entity Relationship Model 3.16, 3.19, 3.23, 4.20, 4.23
    Week 3- Sept 21 Chap. 5 The Relational Data Model 5.10, 5.14, 5.15
    Week 4- Sept 28 Chap. 6 Formal Query Languages- Relational Algebra and Calculus Assignment 1, 6.16, 6.30
    Week 5- Oct 5 Chap. 7 Relational Database Design- ER- Relational Mapping 7.3, 7.4
    Week 6- Oct 12 Chap. 8 Commercial Query Languages- SQL – Data Definition and Simple Queries. Assignment 1-Due, 8.7, 8.9, 8.11, 8.12, 8.13, 8.17, Project Deliverable 1
    Week 7- Oct 19 Chap. 1-8 Midterm
    Week 8- Oct 26 Chap. 9 SQL – Complex Queries, Updates, Views, Constraints 9.7 (use JAVA), 9.12, 9.15
    Week 9- Nov 2 Chap. 9, 24 SQL – Embedding SQL into a host Language, Active Databases and Triggers 9.7 (use JAVA), 9.12, 9.15, 24.15, 24.18, 24.19, Assignment 2, Project Deliverable 2
    Week 10- Nov 9 Chap. 10 Functional and Other Dependencies, Normal Forms 10.17, 10.18, 10.20, 10.22, 10.24
    Week 11- Nov 16 Chap. 11 Schema Decomposition, Normalization Assignment 2-Due, Assignment 3, 11.15, 11.30
    Week 12- Nov 23 Chap. 13.14 Primary File Organizations, External Hashing, Indexing 13.26, 13.28, 14.17
    Week 13- Nov 30 Chap. 17, 18 Transaction Processing, Concurrency Control, Project Presentations Assignment 3-Due, 17.14, 17.21
    Week 14- Dec 7 Slides Real World Applications of Data Management Systems- Directories and Information Engineering, Project Presentations TBA
    Week 15- Dec 14 Review, Topic(s) of Student Interest, Course Wrap-Up Review for Exam
    Final’s Week All Chap. Final (Exact date TBA- Most likely Dec 21st)
    Tentative Lecture Schedule:
    Lecture # In Text Book Content HW Assignment
    Week 1- Sept 7 Chap. 1, 2 Introduction to Databases, Database System Architecture 1.7, 1.8, 1.9, 1.10, 1.11, 2.11
    Week 2- Sept 14 Chap. 3, 4 Entity-Relationship Model, Extended Entity Relationship Model 3.16, 3.19, 3.23, 4.20, 4.23
    Week 3- Sept 21 Chap. 5 The Relational Data Model 5.10, 5.14, 5.15
    Week 4- Sept 28 Chap. 6 Formal Query Languages- Relational Algebra and Calculus Assignment 1, 6.16, 6.30
    Week 5- Oct 5 Chap. 7 Relational Database Design- ER- Relational Mapping 7.3, 7.4, Project Deliverable 1
    Week 6- Oct 12 Chap. 8 Commercial Query Languages- SQL – Data Definition and Simple Queries. Assignment 1-Due, 8.7, 8.9, 8.11, 8.12, 8.13, 8.17
    Week 7- Oct 19 Chap. 1-8 Midterm
    Week 8- Oct 26 Chap. 9 SQL – Complex Queries, Updates, Views, Constraints 9.7 (use JAVA), 9.12, 9.15, Project Deliverable 2
    Week 9- Nov 2 Chap. 9, 24 SQL – Embedding SQL into a host Language, Active Databases and Triggers 9.7 (use JAVA), 9.12, 9.15, 24.15, 24.18, 24.19, Assignment 2
    Week 10- Nov 9 Chap. 10 Functional and Other Dependencies, Normal Forms 10.17, 10.18, 10.20, 10.22, 10.24
    Week 11- Nov 16 Chap. 11 Schema Decomposition, Normalization Assignment 2-Due, Assignment 3, 11.15, 11.30
    Week 12- Nov 23 Chap. 13.14 Primary File Organizations, External Hashing, Indexing 13.26, 13.28, 14.17
    Week 13- Nov 30 Chap. 17, 18 Transaction Processing, Concurrency Control, Project Presentations Assignment 3-Due, 17.14, 17.21
    Week 14- Dec 7 Slides Real World Applications of Data Management Systems- Directories and Information Engineering, Project Presentations TBA
    Week 15- Dec 14 Review, Topic(s) of Student Interest, Course Wrap-Up Review for Exam

    Text Book(s) • Fundamentals of Database Systems, 4th Edition,
    R. Elmasri and S.B. Navathe
    Addison Wesley, © 2004.
    ISBN: 0-321-12226-7

    • Oracle 9i Programming, A Primer,
    R. Sunderraman
    Addison Wesley, © 2004.
    ISBN: 0-321-19498-5

    Other books (not required)
    GENERAL TEXTBOOKS
    • Raghu Ramakrishnan, Johannes Gehrke:
    Database Management Systems, 3rd Edition
    WCB/McGraw-Hill, 2003.
    • Michael Kifer, Arthur Bernstein and Philip Lewis
    Database Systems: An Application-Oriented Approach, Introductory Version, 2nd Edition
    Addison-Wesley, © 2005.
    • Abraham Silberschatz, Henry F. Korth, S. Sudarshan:
    Database System Concepts, 5th Edition
    McGraw-Hill Book Company, 2005.
    • C. J. Date:
    An Introduction to Database Systems, 8th Edition
    Addison-Wesley, © 2004.
    DATABASE THEORY

    • Serge Abiteboul, Richard Hull, Victor Vianu:
    Foundations of Databases.
    Addison-Wesley, 1995.
    DBMS IMPLEMENTATION

    • Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom:
    Database Systems, The Complete Book.
    Prentice-Hall, © 2002.
    • Philip Lewis, Arthur Bernstein, Michael Kifer:
    Databases and Transaction Processing. An Application oriented approach
    Addison Wesley, © 2003.
    SQL

    • Jim Melton, Alan R. Simon:
    SQL:1999 - Understanding Relational Language Components.
    Morgan Kaufmann, 1999.
    • Jim Melton, Andrew Eisenberg:
    Understanding SQL and Java Together.
    Morgan Kaufmann, 2000.



    Time & Place DAY- WEDNESDAYS (START DATE = 9/7/05)
    TIME- 5:20 - 8:20 PM
    ROOM- ROHER CENTER = ROOM 201
    Camden County College

    In addition to class time I will be using WebCT

    Other Info Project
    In the project, the students will be asked to design a small database, create and populate this database, and write a number of application programs to access the database. The projects will be done in groups of three. The students should form their own groups. And they will be required to demonstrate their programs. They should treat these demonstrations as if they were giving them to their customers. They will also submit a typed project report. This report should minimally cover (a) a summary of the system requirements and any additions they may have made, (b) the entity-relationship design, (c) the (relational) logical database design, and (d) the application program design. For each of these, they should identify the major design decisions that they faced and the decisions with justifications for those decisions. Also they should include, as an appendix, a list of the relational instances they have used to populate the database and some of the programs.
    A project to design and implement a database using the ORACLE database management system will be assigned. It will proceed progressively through conceptual design, logical design, populating the database, and implementing application programs. The methodology for database development learned in class should be used. The application will be written using Java. For the GUI please use SWING or AWT, though SWING is preferred. The newest version of Java, Java 5.0 can be found here: http://java.sun.com/j2se/1.5.0/download.jsp. The IDE, NetBeans is useful once you learn how to use it (just search for tutorials) but you can use any text editor. When designing the GUI, please keep in mind best practices for GUI design. I would recommend going to the library and doing some research on Human Computer Interfaces (HCI). Two courses at NJIT that has this material are CIS 270 and CIS 447. You can find steaming lectures for CIS 447 here: http://cpe.njit.edu/dlvideos/CIS/CIS447/. I can, with permission, make available some Lecture notes from CIS 270. If interested please contact me.
    You can use NJIT’s Oracle system, or your own. BUT please mind your project MUST work on the PC in the classroom. I do not know the condition of the Oracle installation there and it will be your responsibility to ensure your project is functioning the day of your demonstration.
    Project final submission guidelines will be available via WebCT and will describe the final report format.


    Project groups

    Groups of at most 3 students are required. You can choose the classmates you want to work with. You can also work by yourselves if you prefer. Please post the groups in WebCT. If you do not express any preference, I will put you in a group randomly.

    Project phases

    The project has three phases that cover the areas described below. Each phase has a different weight in the course grade. A report for each phase has to be handed in by the due date shown below. Each group will demonstrate the project on or about week 13/14 of the semester.

    Phase Description Percentage in the course grade
    Phase 1 Analysis & Conceptual Design 5 %
    Phase 2 Logical Design 5 %
    Phase 3 Implementation and Testing 15 %

    Project Resources

    The project can be done using Oracle at NJIT. Database services for the fall 2004 semester have been significantly changed at NJIT from previous years. There is now a database server prophet.njit.edu in NJIT to support coursework.

    Prophet uses internal Oracle authentication. This means that a user will need to log onto Oracle with an Oracle userid and password. The userid will generally be the user's UCID, but the password will NOT be the user's AFS password. Upon Oracle account creation an email will be sent to the user containing all of the necessary login information, including the password.

    Students registered for CIS 631 will be given accounts on prophet.njit.edu. The accounts will be added no later than Monday, August 31, 2005. Students should test their accounts as soon as possible and report any problems to sys@oak.njit.edu.

    Users will _NOT_ be able to log onto prophet.njit.edu. Users will need to access Oracle via clients.

    SQL*Plus is a program of Oracle that provides a convenient interactive environment with the Oracle database server. You can type commands directly at the SQL> prompt or have SQL*Plus execute commands stored in files.

    The most convenient and easiest Sql*Plus client to use is the web client, iSql*plus. To access iSql*plus point your web browser to http://prophet.njit.edu/isqlplus. Enter the username and password you received in the email notification you received when your account was created. The "Connection Identifier" is "course."

    Sql*plus clients are available on all solaris AFS clients. To access your Oracle account on prophet enter /usr/ucs/bin/sqlplus on the command line.

    You can access Oracle on prophet from outside NJIT using a modem to connect to AFS. Information and phone numbers can be found at http://telecom.njit.edu/dialup/. Once connected, type sqlplus.

    For further information please see http://web.njit.edu -> Databases -> Oracle and check the page for prophet.njit.edu.

    You can also install to your PC the personal edition of Oracle 9i which is available for free download from the Oracle web site.

    A quick Oracle guide including SQL*Plus (by Ramakrishnan and Gehrke).

    The SQL*Plus User's Guide and Reference can be accessed by clicking here.

    Complete Oracle9i Database Online Documentation, Release 2 (9.2) at NJIT.

    Some Oracle/SQL tutorials and JDBC issues at NJIT.

    Oracle resources and services (registration is free) from Oracle Technology Network.

    Underground Oracle FAQ.


    Grading
    Assignments: 23%
    Mid-term: 20%.
    Final: 32%.
    Project: 25%


    Course organization:

    The slides for each lecture are available before the class on the class WebCT page. A good practice is to read from your book the material to be taught in class and to come prepared. After the theory on a certain topic is presented, you can also download the corresponding questions and exercises, which you should try to solve. Most of them are discussed in class in subsequent lectures and on WebCT. Alongside your assigned homework you should work in groups on a project. Other relevant material (e.g. diagrams and solutions of exercises) will be available for downloading in due time.
    Assignments are due the following lecture that it is assigned unless otherwise noted. The preferred way is submission via WebCT. Late assignments will have the score reduced by 15% every 24 hours after it is due, and will receive no credit by the next class.

    Attendance and Participation
    Participation is highly encouraged to make the class on WebCT more interactive. Class participation is taken into consideration by the instructor for the evaluation of the students. Experience shows that students that students that do not participate in the on-line discussions do not perform well in the mid-term and final exams. So I strongly encourage all the students to get involve in online discussions. In any case visit the course WebCT page to get lecture notes, explanations, assignments, deadlines and announcements. It is a "living document" and you have to visit it at least once a day.

    Important Dates:

    September 1 Fall Semester Begins
    September 7 Last Day to Add a Course
    September 8 W Grade posted for Withdrawals
    September 14 Last Day for a Refund Based on Partial Withdrawal
    October 19 Last Day for a Refund Based on Complete Withdrawal
    November 2 Withdrawal Deadline
    November 7 Spring Registration Begins
    November 24-27 Thanksgiving Recess
    December 15-21 Final Exams
    December 13-14 Reading Days


    Academic Integrity

    Violations of the academic integrity in this class will not be tolerated. Cheating in assignments or exams will result in an 'F' grade for the student and will be reported to the Dean of Students. Read the Academic Honor Code of NJIT.

    Academic Honor Code

    The NJIT academic honor code
    (http://www.njit.edu/academics/honorcode.php)applies in full to this
    class. Note in particular that copying programs, in full or in part, is
    forbidden. You may discuss ideas and concepts with your fellow
    students, but you may NOT copy any code.

    Registrar's Website