CS 386d Database Systems
Spring 2014

Instructor Prof. Don Batory   batory@cs.utexas.edu
TA Akanksha Bansal
Office Hours Batory TBD
1-3pm Wednesday, GDC 3.718F
Room GDC 4.304
Time 9:30-11:00 Tuesday, Thursday
Unique# 53993
Ground Rules Rules of Conduct and Academic Honesty
Your Grades TDB
Final Exam

to be announced

Course Objectives

This is a graduate-level introduction to the principles of relational database systems. We review and explain fundamental ideas and algorithms that are used in the construction of centralized DBMSs, distributed DBMSs, and database machines. Topics to be covered include:  query processing and optimization, database machines, object-oriented databases, concurrency control and recovery. Recent directions in database research are also surveyed.

Course Prerequisites

All students must have taken undergraduate database or its equivalent.

Lecture Notes, Texts, and Class Lectures

Notes for each lecture will be posted immediately after a lecture. Class lectures are supplemented by papers. Both are available via hyperlinks in the course outline below.  Students are responsible for reading these papers.  Remember: DO NOT PRINT THESE PAPERS ON CS PRINTERS!


The last class periods of the semester are devoted to student group presentations. These presentations will survey recent results presented in major database conferences. Group lectures will be critiqued prior to the actual presentation to enhance quality and content.  Topics for presentation can be chosen from any recent database conference, among them are:

Programming Projects and Homework

A series of 4 programming projects is given in this course.  The first project will refresh your memory on SQL and your use of DBMSs; you will build in the 2nd-4th an inverted file system using Berkeley DB (which is a file management system written in Java). An award (of no particular consequence) will be given to the judged-fastest entry.

> turnin -- submit bansal cs386_HP <yourname>.pdf/zip

where HP is a designator H1,H2, ... for homeworks and P1,P2... for programs.

> turnin -- list bansal cs386_HP

> turnin -- verify bansal cs386_HP


Final grades will be determined approximately by the following scheme:

  1. Your accumulative project grade will determine the maximum final grade for the course.  Ex: if you get a "B" average across all of your projects, your final grade will be no greater than a "B".
  2. Final counts 40%; midterm counts 35%; classroom participation 10%; and class presentation counts 15%.

Homework grades and class participation is used to decide borderline cases for final grades.

Extenuating Circumstances

If you have difficulty meeting the requirements of this course, fail to hand in an assignment, or miss an exam because of extenuating circumstances, please advise the instructor in writing (not email) at the earliest possible date so that your situation can be discussed. If you encounter an unexpected medical or family emergency or a random act of Nature that causes you to miss the due date for homework or miss a quiz or exam, you must present suitable documentation in writing (not email) to the instructor before special consideration will be given. A file of all written correspondence will be kept by the instructor and decisions regarding them will be made at the end of the semester.

Course Outline

Numbers in [brackets] indicates the estimated number of lectures on a topic. The number indicated is a lower-bound, as there will be class room discussions to work on problems and review of homework assignments. Papers that are listed below are required readings and are accessible via a web link.

Topic [# of lectures + days of discussion] Assignment
Query Processing [6]
Complete Course Survey
Due Fri Jan 17th 10pm

P1: SQL Refresher
Due Wed, Jan 22, 12noon

H1: Query Optimization #1
Due Tues, Jan 21, 12noon

H2: Query Optimization #2
Due Tues, Jan 28, 12noon

Data Definition Language and Database Loading
Due Wed, Feb 5, 12noon
Data Strorage, Data Warehouses, Database Optimization [3+1]
H3: R-Trees, Cubes and Group Assignments

Data Manipulation Language and Query Processing
Due Wed, Feb 26, 12noon

Collect into Groups for Presentation and Select Presentation Topic

Midterm  [1] 

Concurrency Control [7]
H4: CC & R Basics

H5: Multi Granularity Locking

H6: Pulling It All Together

P4: MDB Query Optimization
Due Wed, March 26, 12noon

Recovery [3+1]

Current Trends in Database Research [6]

Group Presentations

Course Recap [1]