COP5725 Fall 2007: Database Systems, Computer Science Department, FSU

Instructor: Feifei LI

[Overview] [Announcements] [Syllabus] [Textbook] [Schedule] [Slides] [Written Assignments] [Project] [Additional Resources] [Contact] 

Overview

Graduate-level introduction to database systems and implementation. Reviews the relational data model and commercial relational query languages: SQL. Examines in depth file organization, database storage, indexing and hashing, query evaluation and optimization, transaction processing, concurrency control and recovery, database integrity and security. Furthermore, students will participate in a semester-long project and build a mini-database system by implementing several core modules in a database system. In summary, this course is about the principles of designing a database system. Please note that this is NOT a course on database applications, i.e., you will not learn from this course how to build an application that connects to and queries the database.

Announcements

         08/23/07: Course website is up. Course syllabus is ready for review.
         09/03/07: IMPORTANT--Please make sure that you have an account in the computer science department     and you are able to access the unix server diablo(.cs.fsu.edu).
         09/03/07: Please review relational algebra from your introduction to database course.  
         09/08/07: Following our discussion in the last lecture, w.r.t Dave's question why self-join is important? The reason becomes clear "when you want to compare values in a column to other values in the same column". Please refer to the example in the following site for more details-- CLICK HERE.
         09/10/07: IMPORTANT -- We will start working on Project 1 soon. It is VERY IMPORTANT to get yourself familiar with the MiniBase system that you will be implementing throughout the semester. Please find the general information for MiniBase from HERE. The important things to read is "The Overview of Single-User MiniBase". Please make sure that you thoroughly read through the relevant documents following that link. In particular for project 1, you should understand the HeapFile related topic. In addition to that, you should also learn the Error protocol (including the details in Error Interface) in MiniBase system which will be useful for all projects throughout the course.
         09/14/07: Solution to WA1 is posted and Project 1 is out. WA2 will be out soon... (it is out now)
         10/02/07: Solution to WA2 is posted. Get it from diablo with similar directory path as for WA1 solution.
         10/08/07: Midterm will cover: SQL, IC, Buffer and Disk, File and Index (exclude B+tree insert/delete).
         10/08/07: Project 2 is out. Please start early as this one is much more difficult than the first project. The instructor will explain some of the details in the class.
         10/11/07: WA3 is posted. Solution to the Midterm is available at the diablo course folder.
         10/23/07: Solution to WA3 is posted.
         11/10/07: WA4 is posted.
         11/11/07: Project 3 will be posted at 12AM, Monday Nov 12.
         11/12/07: Project 3 is posted.
11/27/07: Solution to WA4 is posted.
11/29/07: WA5 is posted.

Syllabus

Syllabus for the course in PDF format: Please pay special attention to the pre-requisite requirement for the course.

Textbook

Database Management System by R. Ramakrishnan and J. Gehrke, 3rd Edition. Details and additional material supporting this book could be found here.

Schedule

Lecture: Tue and Thu, 5:15pm - 6:30pm, 103 Love.

Office Hour: Mon 10am-11am; Wed 4pm-5pm.

Exam: Midterm Thu 10/11/07 in class; Final Thur 12/13/07 103 Love 5:30-7:30pm

Detailed weekly schedule could be found in the course syllabus.

Slides

Slides will be posted before each lecture. Updates to slides may happen after the lecture.
Lecture 1: Course Administration and Introduction, Overview of Database Systems
Lecture 2: Relational Model
Lecture 3a: SQL-1 
Lecture 3b: SQL-2  
Lecture 3c: SQL-3  (we will cover up to slide 26. The rest is for you to read if you are interested.)
Lecture 4: Disks and Files 
Lecture 5: File Organizations and Indexing
Lecture 6: Tree-Based Indexing
Lecture 7: B+ Tree Example
Lecture 8: Hash-Based Indexing
Lecture 9: External Sorting
Lecture 10: Single Table Query Evaluation
Lecture 11: Query Evaluation
Lecture 12: Query Optimization
Lecture 13: Concurrency Control
Lecture 14: Concurrency Control More
Lecture 15: Recovery

Written Assignments

1. Assignment will be posted after it is announced in the class.

2. Solution will be posted once the assignment due date is passed.

        WA1: Part A and Part B
        WA2:         WA3: It is ready. Solution: as usual...
        WA4: It is ready. It will be due on Tuesday in class, Nov. 20th. Solution: as usual...
        WA5: It is ready. It will be due on Thursday in class, Dec. 6th.

Project

1. Project description will be available when it is announced in the class.

2. Sample solution to the project will not be posted, however, the output for the test traces will be available.

        Projcet1: Implementing HeapPage for the disk manager in the DBMS.
        Projcet2: Implementing the disk-based B+ tree with buffer management support.
Projcet3: Implementing the sort merge join algorithm.

Additional Resources

Database Research: ACM SIGMOD  VLDB  IEEE ICDE

Database Products: ORACLE   Microsoft SQL Server  IBM DB2  PostGre  MySQL

Contact

Feifei Li     
Grader: Justin Marshal     

Last modified 11/27/07