CS6530: Graduate-level Database Systems, School of Computing, University of Utah

Instructor: Feifei Li

[Overview] [Announcements] [Syllabus] [Textbook] [Schedule] [Slides] [Written Assignments] [Project] [Youtube of Our Lectures] [Additional Resources] [Contact] 

Overview

Graduate-level course on the design and implementation of (relational) database system kernels, as well as other large-scale data management techniques and systems. Review the relational data model (including relational algebra) and relational query language: SQL. Examine in depth file organization, database storage, indexing and hashing, query evaluation and optimization, transaction processing, concurrency control and recovery, database integrity and security (if schedule allows). In addition to the study of relational database kernels, this course also investigates latest development in other large-scale data management techniques and systems, e.g., the MapReduce framework (in particular, the Hadoop system), NoSQL systems, Key-Value stores (Cassandra, HBase, Google BigTable), and other IO efficient techniques (if time permits). Students will participate in a semester-long project and build a mini-database system by implementing several core modules in a relational database system. There might also be projects on other large-scale data management techniques, such as MapReduce-based projects, etc., if time allows. In summary, this course is about the principles of designing and implementing database kernels, as well as other relevant large data management techniques. Please note that this is NOT a course on building database applications and introduction to database systems, i.e., we will not cover in this course how to build a database application (e.g., ER design, schema refinement, functional dependency, and database application development). Such topics will be covered in CS 5530.

Announcements

        08/23/13: Course website is up. Course syllabus is ready for review.
        08/23/13: Please sign up for the class mailing list, using an email address that you check regularly. It does not have to be your U or CS email address. You can sign up at the mailing list homepage. Click on Subscribe on the left panel; you can post messageto cs6530@list.eng.utah.edu after you have been approved.
        09/09/13: HW1 is released, due on Monday, 9/16/13.
        09/16/13: HW1 solution is released (check the password-protected area below).
        09/16/13: You can download and install the MySQL workbench from here. Our database server is georgia.eng.utah.edu, or you can connevt via any linux server in CADE lab or from shell.cs.utah.edu: mysql -h georgia.eng.utah.edu -u username -p databasename. We share a common, classwide username and database, which is cs6530user and cs6530db respectively. The password will be mailed to the class mailing list.
        09/16/13: HW2 is released; it's due a week from today.
09/26/12:IMPORTANT: 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 understand include "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.

Syllabus

Syllabus for the course in PDF format:

Textbook

Database Management System by R. Ramakrishnan and J. Gehrke, 3rd Edition. Details and additional material supporting this book could be found here (we are using the Third edition).
Complementary Reading: Database Systems, The Complete Book, 2nd Edition. Details could be found here.

Both books have been reserved at the library, available for loan up to 4 hours for each transaction.

Schedule

Lecture: MW 1:25pm to 2:45pm, WEB L126.

Office Hour: MW 10:30am to 11:30am.

TA: Fei Luo (email at the bottom of the page), Office Hour: Tue 3:30pm to 5pm, Thur 3:30pm to 5pm, Friday: 1:00pm to 2:30pm, MEB 4152

Exam: Midterm: TBA; Final: December 16, Monday, 1-3 PM in class.

Drop: Last day to withdaw the class: Friday, 10/25/2013.

Detailed weekly schedule will be posted 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 3: Relational Algebra
Lecture 4: SQL-1 
Lecture 5: SQL-2  
Lecture 6: SQL-3 
Lecture 7: Disks and Files 
Lecture 8: File Organizations and Indexing

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.
3. To work on more excises on your own, the solutions to all odd-numbered questions in the textbook are available here.

Enter your password:

WA1: PDF FILE HERE, Due: Monday, 09/16/13, In Class.
WA2: PDF FILE HERE, Due: Monday, 09/23/13, In Class.

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.

Youtube of Our Lectures

Video 1: Course Overview
Video 2: Relational Model
Video 3: Relational Algebra
Video 4: Relational Algebra II and SQL I
Video 5: SQL II
Video 6: SQL III
Video 7: HW1 solution, View, Memory Hierarchy
Video 8: Disk
Video 9: Quiz 1 and Buffer Manager

Additional Resources

Database Research: ACM SIGMOD  VLDB  IEEE ICDE

Database Products: ORACLE   Microsoft SQL Server  IBM DB2  PostGre  MySQL

Contact

Feifei Li      TA: Fei Luo