CSU 430: Database Design

Summer II 2005


Instructor

Rui Wang

Hours

Lecture: Mondays, Tuesdays, Wednesdays and Thursdays 9:50am-11:30am (from June 28 to August 11)

Instructor's Office Hours: Thursday 2:30pm-4:00pm

Office: 466 WVH
Phone: 4605
Email: bradrui@ccs.neu.edu

News

Click on the Class News Link below for updates: assignments, information on software, URLs, answers to email questions, etc.

Emailed questions and their answers will be posted here. If you send an email question, the answer will be (1) sent to you and (2) posted. If you ask a question which has already been posted, you will be sent email telling you to consult the webpage Class News Link.

Class News Link

Preliminaries

On the first day of class you will be asked to give me your email adress. This will be used to communicate with you using a csu430 alias. If you prefer some other email address, give that instead. You need to have a ccis username in order to do the assignments and to get an MS SQL and ASP account.

Text

Database Principles, Programming and Performance, Second Edition

by Patrick O'Neil and Elizabeth O'Neil, Morgan-Kaufmann, publishers.

ISBN: 1-55860-438-3

Schedule

June 28(T) chapter 1 & part of chapter 2 introduction & relational algebra
June 29(W), 30(Th) chapter 2 relational algebra; homework 1 ready on June 30
July 4(M) N/A no class, independence day
July 5(T) N/A basic architecture, DDL, simple insert and delete, and BCP utilities; homework 1 due
July 6(W) N/A explaining homework 1
July 7(Th), 11(M), 12(T) chapter 3 SQL: basic, join, nested, order by, group by, data cube; re-address DML; homework 2 ready on July 11
July 13(W), 14(Th), 18(M) part of chapter 4.4 procedural T-SQL, stored procedure, UDF, cursor, constraint, trigger, view, advanced query; homework 2 due on July 14, homework 3 ready on July 18
July 19(T) N/A explaining homework 2
July 20(W) part of chapter 10.1, 10.4, 10.5 transaction, re-address T-SQL, trigger and constraint; homework 3 due
July 21(Th) N/A explaining homework 3; review for midterm
July 25(M) N/A midterm
July 26(T) online web application programming I; web-homework 1 ready
July 27(W) N/A explaining midterm
July 28(Th), August 1(M) chapter 6.1, 6.2 ER diagram; homework 4 ready
August 2(T) chapter 6.5, 6.6, 6.8 BCNF
August 3(W) online web application programming II; web-homework 2 ready; web-homework 1 due
August 4(Th) N/A team project announcement; homework 4 due
August 8(M) N/A explaining homework 4; web-homework 2 due; team project design document due
August 9(T) N/A off for team project
August 10(M) N/A demo of team project; team project due
August 11(Th) N/A final review
August 15/16 (TBD) N/A final exam

Description

The purpose of this course is to introduce relational database management systems as a class of software systems. This course has five parts.

The first part is the relational algebra, which partly forms the foundation of relational database theory and is used in research literature. The homework 1 is on this.

The second part is the standard query language SQL. We will use Query Analyzer of MS SQL to run SQL queries. The homework 2 is on this.

The third part is the procedural SQL, which is used to construct more complicated programs running inside DBMS. This involves stored procedure, user defined function, trigger and cursor. The homework 3 is on this.

The fourth part is on Entity-Relationship diagrams and their corresponding relational tables and foreign keys. These topics are important for the logical design of an enterprise database. The homework 4 is on this.

The fifth part is on ASP.NET programming to access MS SQL Server. The web-homework 1 and 2 are on this.

In the end, we will put all parts, except the first, together with team projects to model a simple application and then to construct a web-based solution.

Use of software

One goal is to learn MS SQL and ASP.NET. Other systems, e.g. ORACLE and IBM's DB2 have similar capabilities. If you already know these other systems, your homework will be easier than if you know no systems. Also, ASP.NET is very similar to JSP and other software. I would like to stick to one system for the class.

Please follow the link software environment to set up the your account in ccis-windows and MS SQL Server.

Grading

We have six homework assignments including two web-homework assignments. There will be a team project close to the end of this term. You will get some more information about how to submit assignments later.

Any late assignment has a 20% penalty and is not accepted after the class explaining the solutions begins. No assignments are accepted after the final exam.

During exams, ONE PAGE (two-sided, 8.5X11 inches) of notes may be used. No other notes or texts are to be used.

You must obtain at least a C average on the exams to obtain a C or above in the course. Also, failing grades on the in-class exams will mean a failing grade in the course, regardless of the programming homework and team project.


POLICY ON I'S

If you have taken the midterm with a C average or better and done all your homework and you have a written medical excuse for not taking the final exam, you may be eligible for an I. In this case, you must write a contract with the instructor spelling out how the incomplete will be resolved. After a year, an incomplete becomes an F.

Travel to foreign countries is NEVER an excuse for missing the final exam. The final exam time is ALWAYS announced early. The exam period is from August 15 to 16. If you must be out of the country on the day of the final exam, DO NOT TAKE THIS CLASS as you WILL get an F for your final grade.

Academic Honesty

Northeastern University is committed to the principles of intellectual honesty and integrity. All members of the Northeastern Community are expected to maintain complete honesty in all academic work, presenting only that which is their own work in tests and assignments. If you have any questions regarding the proper attribution of the work of others, contact your professor prior to submitting the work for evaluation.