CPSC 421 - Database Management Systems
Fall 2009
Location and Time
Herak 257, Tu/Th 2:40pm - 3:55pm
Instructor
Shawn Bowers
  • Email: bowers@gonzaga.edu
  • Office: Herak 309C
  • Office Hours: 1:30pm - 2:30pm (except Wed's), or by prior arrangement
  • Phone: (509) 313-5712
Announcements
  • Welcome to CPSC 421!
  • Required Textbook
    Database Management Systems, 3rd ed., Ramakrishnan and Gehrke, McGraw Hill, 2003 (ISBN 0-07-246563-8)
    Course Description
    The goal of this course is to provide a detailed introduction to topics in data management as well as hands-on experience working with database systems. Topics covered include the relational data model, query languages (relational algebra, SQL), database design (conceptual modeling, integrity constraints, normalization), storage and file structures, query processing and optimization, and transaction management. This course has a strong design and engineering emphasis that includes a number of assignments and a group project in which students design and develop an end-to-end database application.
    Grading
  • (30%) Assignments
  • (15%) Group Project
  • (15%) Class Participation, Quizzes
  • (20%) Midterm Exam (Oct. 13)
  • (20%) Final Exam (Dec. 16, 10:30-12:30)
  • Policies
    Please see the Course Syllabus for details regarding assignments, exams, attendance, academic honesty, etc.
    Weekly Schedule
    Each reading assignment should be done before the following class meeting. Readings marked with a "*" are optional.

    Week Date Topic Handouts Reading Due Assignments
    1 Tu-Sep-1 Relational databases (intro) Syllabus
    Lecture 1
    Ch 1
    Ch 3: Intro, 3.1-3.3
    HW 1 (Assigned)
    1 Th-Sep-3 SQL Overview
    MySQL overview
    Lecture 2
    MySQL Basics
    Ch 3: 3.4
    Ch 5: Intro, 5.1-5.2
    Melton Interview*
    2 Tu-Sep-8 Relational Algebra and Complex SQL Lecture 3 Ch 4: Intro, 4.1., 4.2
    Ch 5: 5.5 (to 5.5.1)
    Codd Paper*
    2 Th-Sep-10 Relational Algebra and Complex SQL Lecture 4
    HW 1 (Due)
    HW 2 (Assigned)
    Proj. 1 (Assigned)
    3 Tu-Sep-15 Complex SQL Lecture 5
    3 Th-Sep-17 Database Design (ER modeling) Lecture 6 Ch 2: Intro, 2.1-2.4.3, 2.5
    Chen Paper*
    HW 2 (Due)
    4 Tu-Sep-22 Database Design (ER to Relational) Lecture 7 Ch 3: 3.5 HW 3 (Assigned)
    4 Th-Sep-24 Database Design (Normalization) Lecture 8 Ch 19: Intro, 19.1-19.4 Proj. 1 (Due)
    5 Tu-Sep-29 Database Design (Normalization) Lecture 9 Ch 19: 19.5-19.6 (to 19.6.1)
    5 Th-Oct-1 Embedded SQL Lecture 10 HW 3 (Due)
    Proj. 2 (Assigned)
    6 Tu-Oct-6 Midterm Review HW 4 (Assigned)
    6 Th-Oct-8
    No Class Today
    Proj. 2 (Due)
    7 Tu-Oct-13
    MIDTERM
    7 Th-Oct-15 Storage and File Organization Lecture 11 Ch 9: Intro, 9.1, 9.3-9.7
    8 Tu-Oct-20 Midterm discussion Proj. 3 (Assigned)
    8 Th-Oct-22 Storage and indexing Lecture 12 HW 4 (Due)
    9 Tu-Oct-27 Indexing continued Lecture 13 Ch. 8, Ch. 10: Intro: 10.1-10.6 HW 5 (Assigned)
    9 Th-Oct-29 Join Algorithms Lecture 14 Ch. 12: 12.3.3
    Ch. 14: 14.4 (up to 14.4.2)
    10 Tu-Nov-3 Sorting and Join Algorithms Lecture 15 Ch. 13: 13.1-13.3 Proj. 3 (Due)
    10 Th-Nov-5 More on Sorting, Hash Join Lecture 16 Ch. 14.4.3 Proj. 4 (Assigned)
    11 Tu-Nov-10 Relational Operator Evaluation Lecture 17 Ch. 14: 14.1-14.3
    11 Th-Nov-12 Query Optimization Lecture 18 Ch. 15
    12 Tu-Nov-17 Tutorial Session HW 5 (Due)
    12 Th-Nov-19 Optimization Examples
    13 Tu-Nov-24 Optimization Examples (cont.) Examples Proj. 4 (Due)
    HW 6 (Assigned)
    13 Th-Nov-26
    Thanksgiving Holiday
    14 Tu-Dec-1 Physical DB Design
    Transactions & Recovery
    Lecture 19 Ch. 16 Proj. 5 (Assigned)
    14 Th-Dec-3 Transactions (cont.) Lecture 20 Ch. 17: Intro, 17.1-17.2 HW 7 (Assigned)
    15 Tu-Dec-8 Recovery & Final Exam Review Lecture 21 Ch. 18: Intro, 18.1-18.6 HW 6 (Due)
    15 Th-Dec-10 Project Presentations HW 7 (Due)
    16 We-Dec-16
    FINAL (10:30-12:30)
    Proj Report (Due)
    Additional Information
  • Audio Interview: "SQL with Jim Melton", Software Engineering Radio, Episode 137, 2009.

  • The 1995 SQL Reunion: People, Projects, and Politics. Edited by Paul McJones. Describes the birth of SQL and the history of System R.

  • E.F. Codd, A relational model of data for large shared data banks. Communications of the ACM, 13(6):377-387, 1970. (Accessible on campus)

  • Peter P. Chen, The Entity-Relationship Model: Toward a Unified View of Data, ACM Transactions on Database Systems (TODS), vol. 1, pp. 9-36, 1976

  • Pat Selinger Interview on System R and database optimization (audio). The video is also available here