George Mason University
  Department of Computer Science

CS 450 - Database Concepts

Dr. Jessica Lin

Fall 2015

 

HOME


 News & Announcements
9/4: HW1 posted. Due date 9/10.
9/12: HW2 posted. Due date 9/22.
9/24: HW3 posted. Due date 9/29. Note this homework will not be graded so you do not need to submit it.
10/2: Project posted. Due date 10/20.
10/8: HW4 posted. The zipped file contains the testbed. Due date 10/15.
10/12: Updated HW4 file is here. The content is the same as the previous one, but more UNIX-friendly.
10/23: HW5 posted. Please note that the due date is on Saturday (10/31) at 11:59pm.
10/28: If you want to practice SQL using the Sailor database, you can download it here.
10/28: SQL4 slides updated with a new slide on DBMS_OUTPUT.PUT_LINE.
11/12: Project updated with information for Phase 3. Please note the new due date, 12/12 at 11:59pm.
11/14: Sample JDBC code and JDBC Driver (the driver is needed if you want to run the program locally on your computer. Also available for download on Oracle website).
11/17: HW6 posted. Due date 11/24.
12/2: HW7 posted. Note this last homework will not be graded, but we will go over the solutions on 12/10.
12/11: Final study guide can be found here.

Course Description

This course covers basics to intermediate knowledge for the design, implementation, and use of relational database systems. The main topics include the relational data model, Entity-Relationship (ER) model for database design, Relational Algebra, SQL, database programming, functional dependencies and normalization, and indexing. Students will practice to design, develop, and implement a relational ORACLE database and use the database for queries, transaction processing, and report generation.

Instructor:

Dr. Jessica Lin 

Office: Engineering Building 4419
Phone: 703-993-4693
Email: jessica [AT] cs [DOT] gmu [DOT] edu
Office Hours:  Wednesday 2-3pm, Thursday 1:30-2:30pm

TA

 Yuyang Gao
 ygao13 [AT] gmu [DOT] edu
 Office Hours: Tuesday 12-1:15pm, Wednesday 3-4:30pm, Thursday 7:15-8:30pm
 Location: Engineering Building 5321

Classes

Tuesday/Thursday
3-4:15pm
Innovation Hall 206

Course Outcomes

  • Knowledge of fundamental concepts of file and database management.
  • Knowledge of database design principles, and ability to model real-world environments using the ER model.
  • Knowledge of the formal principles of the relational database model and its query languages, and ability to design relational databases and express queries in the relational algebra and calculus.
  • Knowledge of the Structured Query Language (SQL) and database programming principles, and ability to author SQL queries and implement Java database applications using the Oracle database system.
  • Knowledge of the basic principles of the mathematical theory of database design, and ability to design databases that adhere to Boyce-Codd Normal Form.
  • Experience in the complete database creative process: from database design, to database constuction, to database programming.

Prerequisites:

C or better in CS 310 (Data Structures) and CS 330 (Formal Methods and Models)

Grading

Assignments: 20%
Project: 15%

Midterms: 30%
Final: 35%


Exams

There will be two midterm exams and one final exam covering lectures and readings. All exams are in class, closed-book. The final exam is comprehensive. Exams must be taken at the scheduled time and place, unless prior arrangement has been made with the instructor. Missed exams cannot be made up.

Honor Code Statement

The GMU Honor Code is in effect at all times. In addition, the CS Department has further honor code policies regarding programming projects, which are detailed here. Any deviation from the GMU or the CS department Honor Code is considered an Honor Code violation. All assignments for this class are individual unless otherwise specified.


Textbooks

 Required: Database System Concepts, 6th Edition, by Silberschatz, Korth and Sudarshan.

Recommended: Oracle 10g Programming: A Primer by Sunderraman, Addison-Wesley, 2008

Topics
 
Part 1: Relational Databases

Ch.1: Introduction
Ch.2: Introduction to the Relational Model
Ch.3-5: SQL
Ch.6: Formal Relational Query Languages (Relational Algebra)

Part 2: Database Design

Ch.7: Database Design and the E-R Model
Ch.8: Relational Database Design
Ch.9: Application Design and Development
Ch.11: Indexing and Hashing

Note: If time permits, more chapters will be added.



 (Tentative) Schedule 
  
No Dates Topics Due
Notes
1 9/1
9/3
Introduction (Ch. 1)
ER Model 1 (Ch. 2.1-2.4, 7.1-7.5)


HW1 posted (due 9/10)
2 9/8
9/10
ER Model 2
ER Model 3 (Ch. 7.7-7.8)

HW1
 
HW2 posted
3 9/15
9/17
Relational Model 1 (Ch. 3.1-3.2, 3.9)
Relational Model 2 (Ch. 7.6)




4 9/22
9/24
Relational Algebra 1 (Ch. 6.1)
Relational Algebra 2
HW2
 

HW3 posted

5 9/29
10/1
TBD
Midterm 1
HW3

Project posted
6 10/6
10/8
post-midterm review / Relational Algebra 3
SQL 1


HW4 posted

7 10/13
10/15
No Class
SQL 2 (Ch. 3)

HW4
 

8 10/20
10/22
SQL 3
SQL 4 (Ch. 4.1-4.5.5, 5.3)
Project Phase 1


HW5 posted
9 10/27
10/29
SQL 5
Review

HW5 (due 10/31 at 11:59pm)

Project Phase 1 returned
10 11/3
11/5
Review
Midterm 2



11 11/10
11/12
Database Programming
Functional Dependencies
Project Phase 2


12 11/17
11/19
Post-midterm review
Functional Dependencies 2


HW6

13 11/24
11/26
Review
No Class (Thanksgiving)
HW6


14 12/1
12/3
Decomposition and Normal Forms
Decomposition and Normal Forms

HW7 posted

15 12/8
12/10
TBD
Final review

Project phase 3 (12/12)

16 12/15
12/17
No Class
Final Exam (1:30-4:15pm)