Logged in as: guest Log in

Announcements


  • Dec 6, 2010: The final exam will be held in FB141 on 12-13-2010The review session will be held in FB 141 at 4:30PM on Sunday, 12-12-2010If the doors are locked, Brian can be reached at 919-602-4608.
  • Nov 10, 2010: Brian will lead a Quiz 2 study session on 11/15 from 4:30-5:30 in SN014 
  • Nov 10, 2010: Note that Quiz 2 now only covers materials from Lecture 10-18 
  • Oct 11, 2010: Shifted calendar and problem set #3's due date. 
  • Sept 22, 2010: I have moved my office hours to Thursdays (see below)
  • Sept 18, 2010: Our lab sessions have been moved to SN014.
  • Sept 13, 2010: Future optional 521 lab sessions will be held from 4:30 to 5:30 on Mondays in SN011. 
  • Sept 9, 2010: If you are having difficulties with the programming component of the first problem set then consider either attending the optional lab to be held next Monday (9/13) at 5pm in SN011, or reading the online "Other Resources" at the bottom of this page.

Course Description


Databases are an indispensable tool for managing information, and a course on the principles and practice of database systems is now an integral part of any computer science curricula. This course covers the fundamentals of modern database management systems, in particular relational database systems.

The material covered in Comp 521 can be broken into three areas of emphasis. The first area includes database foundation material such as the relational model, relational algebra, relational calculus, and normal forms. The second area of emphasis is database application programming and includes among others the topics of Structured Query Language (SQL), eXtensible Markup Language (XML), integrating databases into programs, web-based database usage, and triggers and active databases. The third area of emphasis is the systems side of databases, which includes database indexing, efficient query evaluation, the transaction-based model, concurrency, and security.

This course is suitable for computer science majors at both undergraduate and graduate levels. Students who wish to take this course should have some programming experience in a modern language and knowledge of data structures. There will be five homeworks, two quizzes, and a final exam.

Book, Course Information, and Prerequisites


Database Textbook Database Textbook

Textbook: Database Management Systems, Third edition
by Raghu Ramakrishnan and Johannes Gehrke
McGraw-Hill Higher Education © 2003, ISBN: 0072465638.
Credit Hours: 3
Location: SN011
Time: MW 9:30-10:45PM
URL: http://www.cs.unc.edu/Courses/comp521-f10
Prerequisite: COMP 401, Comp 411 or equivalents
Some background in data structures (Comp 410) is also helpful.

Course Instructors


Leonard BrianJenkins.png
Instructor: Leonard McMillan    TA: Brain Jenkins
Office: SN319    Office: SN304
email: mcmillan@unc.edu    email: jbrian@email.unc.edu


Office Hours:

Brian Jenkins: 12:30-3:30 on Mondays
Leonard McMillan: 9:00-11:00am on Thursdays

 

Schedule


Date Lecture Topic Reading Assignment Homework
August 25
Introduction and Overview (pdf) Chapter 1  
August 30 The Entity-Relation (ER) Model (pdf) Chapter 2  
Sept 1 The Relational Model (pdf) Chapter 3

PSet #1 (Due 9/15)

Solutions

Sept 6 Labor Day (no class)    
Sept 8 Relational Algebra (pdf) Chapter 4.1-4.2  
Sept 13 Relational Calculus (pdf) Chapter 4.3-4.5  
Sept 15 SQL: Queries, Constraints, and Triggers; Part 1 (pdf) Chapter 5.1-5.4

PSet #2 (Due 9/29)

Partial Solutions

Sept 20 SQL: Queries, Constraints, and Triggers; Part 2 (pdf) Chapter 5.5-5.10  
Sept 22

Database Application Development; Part 1 (pdf)

Lab slides (ppt)

Chapter 6.0-6.3  
Sept 27 Database Application Development; Part 2 (pdf) Chapter 6.4-6.7  
Sept 29 Databases and Internet Applications; Part 1 (pdf) Chapter 7.0-7.5  
Oct 4

Databases and Internet Applications; Part 2 (pdf)

Quiz 1 Review Slides

Chapter 7.5-7.9  
Oct 6 Quiz #1 (Lectures 1-9)  
Oct 11 Catch up and return Quiz    
Oct 13 Overview of Storage and Indexing (pdf) Chapter 8

PSet #3 (Due 10/27)

Solutions for Problems 1-4

Oct 18 Storing Data: Disks and Files (pdf) Chapter 9  
Oct 20 Catch up Chapter 9  
Oct 25 Tree-Structured Indexes (pdf) Chapter 10  
Oct 27 Hash-Based Indexing (pdf) Chapter 11 PSet #4 (Due 11/10)
Solutions
Nov 1 Overview of Query Evaluation (pdf)
Chapter 12  
Nov 3 External Sorting (pdf)
Chapter 13  
Nov 8 Evaluation of Relational Operators (pdf)
Review session - Python Index example
Review session - Python list features & extra credit
Chapter 14  
Nov 10 Schema Refinement and Normal Forms (pdf)
Chapter 19  
Nov 15 Schema Refinement and Normal Forms (cont)
Quiz 2 Review Slides
Chapter 19  
Nov 17 Quiz #2 (Lectures 10-18)

PSet #5 (Due 12/8)

Solutions

Nov 22 Go over quiz. Schema Refinement and Normal Forms Chapter 19  
Nov 24 No Class (Thanksgiving Holiday)    
Nov 29 Database Design and Tuning (pdf) Chapter 20.1-20.9  
Dec 1 Overview of Transaction Management (pdf) Chapter 16  
Dec 6

Concurrency Control (pdf)

Review session - BCNF decomposition

Chapter 17  
Dec 8

Crash Recovery (pdf)

Final Review Slides

Chapter 18  
Dec 13 Final Exam (4pm-7pm)  ~50 questions
 FB141

 

Other Resources




Site built using pyWeb version 1.10
© 2010 Leonard McMillan, Alex Jackson and UNC Computational Genetics