Logged in as: guest Log in

Announcements


  • November 12: (LM) I will lead a study session on Tuesday Nov 13 from 5:00pm to 6:30pm in FB007. Approximately half of the time will revisit the lecture on tree-based indices, and the second half will go over sample quiz questions. 
  • November 12: (LM) There was an inconsistancy with regard to the due date between the course and problem set 4 web pages. It is due on 11/20. 
  • October 22: KP PS3 Problem4:
    • If you don't see a significant speedup in the first part of Problem 4, that is normal
    • Focusing on part E is suggested, since this part will have higher weight than others.
    • Misunderstanding has been cleared for Part D. Part D is bonus part now. (See PS3 Description)
  • October 11: LM The due date for problem set #3 has been moved to 10/23.
  • October 5: KP You can pickup your papers for PS#1 at the following times:
    • Friday October 5: 12-1:30pm and 3-5pm.
    • Monday October 8: 10:30 am - 1:30pm
  • September 23: KP Those who also submit electronic version of their PS2 solutions will get extra %5 credit. Electronic submissions should be sent to kemal@cs.unc.edu as a single zip file named .zip . Pictures of hardcopy submission doesn't qualify as electronic version.  Note that hardcopy submission is required as well. 
  • September 20: LM uploaded a new version of the movies.db database with indices, which can be used for Problem Set #2.
  • September 7: LM elminated parts d and h of Question 3. These questions require functions that are extensions of the relational algebra presented in class. Part g was modifed to ask for the salary of the Department's  manager rather than the average of the Department's employees. 
  • September 1: LM added clarifications to Question 3 of Problem Set #1. 
  • August 26: Website is now up

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: FB007
Time: TTh 9:30-10:45PM
URL: http://www.cs.unc.edu/Courses/comp521-f12
Prerequisite: COMP 401, Comp 411 or equivalents
Some background in data structures (Comp 410) is also helpful.

Course Instructors



Leonard Instructor: Leonard McMillan    TA: Kemal Pakatci
Kemal Pakatci
Office: SN311    Office: SN313
email: mcmillan@unc.edu    email: kemal@cs.unc.edu


Office Hours:

Kemal Pakatci: Mondays 10:30am-1:30pm
Leonard McMillan: Wednesdays 9am-11am

 

Schedule


Date Lecture Topic Reading Assignment Homework
Aug 21
1. Introduction and Overview (pdf) Chapter 1  
Aug 23 2. The Entity-Relation (ER) Model (pdf) Chapter 2  
Aug 28 3. The Relational Model (pdf) Chapter 3 PSet #1 (Due 9/11)
Solutions
Aug 30 4. Relational Algebra (pdf) Chapter 4.1-4.2  
Sept 4 5. Relational Calculus (pdf) Chapter 4.3-4.5  
Sept 6 6. SQL: Queries, Constraints, and Triggers; Part 1 (pdf) Chapter 5.1-5.4

 

Sept 11 7. SQL: Queries, Constraints, and Triggers; Part 2 (pdf) Chapter 5.5-5.10 PSet #2(Due 9/25)
Solutions
Sept 13

8. Database Application Development; Part 1 (pdf)

Chapter 6.0-6.3  
Sept 18 9. Database Application Development; Part 2 (pdf) Chapter 6.4-6.7  
Sept 20 10. Databases and Internet Applications; Part 1 (pdf) Chapter 7.0-7.5
Sept 25

11. Databases and Internet Applications; Part 2 (pdf)

Chapter 7.5-7.9

PSet #3 (Due 10/16 10/23) Solutions to Q1-3

Q4_solution

Sept 27 12. Overview of Storage and Indexing (pdf) Chapter 8  
Oct 2 13. Storing Data: Disks and Files (pdf) Chapter 9  
Oct 4 14. Tree-Structured Indexes (pdf) Chapter 10

 

Oct 9 Quiz #1  (Lectures 1-11)  
Oct 11 Catch up and return Quiz Chapter 10
 
Oct 16 15. Hash-Based Indexing (pdf) Chapter 11 PSet #4 (Due 11/6)
Oct 18 No Class (Fall Break)    
Oct 23 16. Overview of Query Evaluation (pdf) Chapter 12
Oct 25 17. External Sorting (pdf) Chapter 13  
Oct 30

18. Evaluation of Relational Operators (pdf)
16. Overview of Query Evaluation (pdf)

Chapter 14
Chapter 12

 
Nov 1

19. Schema Refinement and Normal Forms (pdf)
17. External Sorting (pdf)

Chapter 19
Chapter 13

 
PSet #4 (Due 11/20)

Solutions

Nov 6

20. Schema Refinement and Normal Forms (pdf)
18. Evaluation of Relational Operators (pdf)

Chapter 19
Chapter 14

 PSet #5 (Due 11/29)
Nov 8

21. Database Design and Tuning (pdf)
19. Schema Refinement and Normal Forms (pdf)

Chapter 20.1-20.9
Chapter 19

 
Nov 13

Quiz #2
21. Database design and Tuning (pdf)

(Lectures 12-20)
Chapter 20.1-20.9

 

Nov 15

Go over quiz. Database Design and Tuning
Quiz #2
(Lectures 12-18)

Chapter 20
 
Nov 20 22. Overview of Transaction Management (pdf) Chapter 16

  PSet #5 (Due 12/4) 

Solutions

Nov 22 No Class (Thanksgiving Holiday)    
Nov 27 23. Transaction Management (cont) Chapter 16  
Nov 29

24. Concurrency Control (pdf)

Chapter 17  
Dec 4

25. Crash Recovery (pdf)

Chapter 18  
Dec 11 Final Exam (8am-11am)  ~50 questions
 FB141

 

Other Resources




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