Instructor: Feifei Li
[Overview] [Announcements] [Syllabus] [Textbook] [Schedule] [Slides] [Written Assignments] [Project] [Youtube of Our Lectures] [Additional Resources] [Contact]
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.
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 for the course in PDF format:
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.
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 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
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.
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.
Database Research: ACM SIGMOD VLDB IEEE ICDE
Database Products: ORACLE Microsoft SQL Server IBM DB2 PostGre MySQL