Logged in as: guest
Log in
|
|
Announcements
- Dec 6, 2010: The final exam will be held in FB141 on 12-13-2010. The review session will be held in FB 141 at 4:30PM on Sunday, 12-12-2010. If 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
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
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
|