CS 4604: Introduction to Database Management Systems

Fall 2007

CS 4604 is intended to be a first course in database systems for advanced undergraduates in computer science. It offers students an introduction to the design and programming of database systems. In particular, we will cover the ER (entity-relationship) approache to data modelling, the relational model of database management systems (DBMSs) and the use of query languages such as SQL. We will also cover relational algebra and the use of SQL in a programming environment. We will briefly touch upon query processing and mention the role of transaction management. We will also devote a class or two to current topics of research such as XML databases, as data warehousing and data mining. Topics outside the scope of this course are how to implement a DBMS, active database elements, and object oriented DBMSs.

Instructor

Teaching Assistant

Class Meeting Times and Contact Info:

Course Description and Syllabus

Homework Assignments

Course Project

Help with PostgreSQL

Practice Problems

Previous Exams

Instructors in previous years covered topics in different orders, so do not be alarmed by questions in midterms that you are unable to answer now, specifically those on functional and multi-valued dependencies and on BCNF, 3NF, and 4NF.

Midterm Exams

  1. Spring 1999 Midterm (some underlines are missing on page 8: "a" is underlined in R, "a,d" is underlined in S and "a,d" is underlined in T.
  2. Fall 1999 Midterm
  3. Spring 2000 Midterm, Solutions
  4. Fall 2000 Midterm
  5. Spring 2001 Midterm, Solutions
  6. Fall 2002 Midterm
  7. Fall 2005 Midterm, Solutions
  8. Fall 2006 Midterm, Solutions

Final Exams

  1. Fall 1999 Final
  2. Spring 2000 Final, Solutions
  3. Spring 2001 Final, Solutions
  4. Fall 2002 Final, Solutions
  5. Fall 2005 Final, Solutions
  6. Fall 2006 Final, Solutions

Schedule

This schedule is subject to continuous change throughout the semester.
FCDB = "A First Course in Database Systems," the textbook for the class.
Date Day Topic Reading Homework/
Assignment
August 21, 2007 Tuesday Introduction and Course Logistics FCDB, Chapter 1
August 23, 2007 Thursday The Relational Model FCDB, Chapter 3.1 Project assignment 1
August 28, 2007 Tuesday SQL and Relational Algebra
Handout 1
FCDB, Chapters 5.1, 5.2.1-5.2.8, 6.1.1, 6.1.2, 6.2.1, 6.2.5
August 30, 2007 Thursday Subqueries in SQL FCDB, Chapters 5.2.9, 5.2.10, 6.2.2-6.2.4, 6.3 Project assignment 1 due
Homework 1
September 4, 2007 Tuesday Subqueries continued (no lecture notes)
September 6, 2007 Thursday Attend A Concert for Virginia Tech
September 11, 2007 Tuesday Data Definition using SQL FCDB, Chapter 6.5--6.7 Homework 1 due
Project assignment 2
September 13, 2007 Thursday Constraints in Relational Algebra and SQL FCDB, Chapter 5.5, 7.1--7.3
September 18, 2007 Tuesday Bags vs. Sets, Extended Operators, Views FCDB, Chapter 5.3, 6.1.3--6.1.6 Project assignment 2 due
Homework 2
September 20, 2007 Thursday Entity-Relationship (E/R) Models
FCDB, Chapter 2.1.1-2.1.6, 2.1.9
September 25, 2007 Tuesday E/R Models Continued FCDB, Chapter 2.1.7-2.1.8, 2.1.10-2.1.11 Homework 2 due
Project assignment 3
September 27, 2007 Thursday E/R Model Designs FCDB, Chapter 2.2, 2.3, 2.4
October 2, 2007 Tuesday E/R Model Constraints Homework 3
October 4, 2007 Thursday The Relational Model, Converting E/R Models to Relational Designs FCDB, Chapter 3.1-3.3 Project assignment 3 due
October 9, 2007 Tuesday Midterm review Homework 3 due
October 11, 2007 Thursday Midterm examination
October 16, 2007 Tuesday Discussion of solutions to midterm exam Project assignment 4
October 18, 2007 Thursday Functional Dependencies FCDB, Chapter 3.4-3.5
October 23, 2007 Tuesday Manipulating Functional Dependencies, Closures, Keys Project assignment 4 due
Homework 4
October 25, 2007 Thursday Cancelled
October 30, 2007 Tuesday BCNF and Normalisation FCDB, Chapter 3.6 Homework 4 due
Project assignment 5
November 1, 2007 Thursday Practice problems
Handout 3
November 6, 2007 Tuesday Completing the Normalisation Algorithm Project assignment 5 due
November 8, 2007 Thursday 3NF Homework 5
November 13, 2007 Tuesday Multivalued Dependencies and 4NF FCDB, Chapter 3.7 Project assignment 6
November 15, 2007 Thursday Practice problems
Handout 3
Homework 5 due
November 20, 2007 Tuesday Thanksgiving week, no classes Project assignment 7
November 22, 2007 Thursday Thanksgiving week, no classes
November 27, 2007 Tuesday Self study
November 29, 2007 Thursday Self study Project assignment 6 due
December 4, 2007 Tuesday Review for final examination
December 7, 2007 Friday 5pm, Project assignment 7 due
December 10, 2007 Monday Final examination, 7pm-9pm,
Last modified: Mon Dec 17 11:15:28 EST 2007