Course Overview

This is an introduction course on database systems. It introduces the fundamental concepts of the design and use of database systems. We will introduce the Entity-relationship model used to design a database. The main focus of the course will be relational database systems where we will study the relational data model and the SQL query language for accessing the data maintained by relational database systems. We will also give a brief overview of database systems implementation, including topics such as storage management and transaction processing.

Prerequisites: CS171

Syllabus

Schedule

The reading material listed below is optional, but it refers to Fundamentals of Database Systems (7th edition) by Ramez Elmasri & Shamkant B. Navathe. The lecture plan may deviate over the course of the semester.

# Date Topic Reference (Chapter) Assignment
1 1/18 Class Cancelled    
2 1/23 Introduction & Database Concepts 1,2  
3 1/25 ER Model 3 Homework 1 (due 2/6)
4 1/30 Relational Model 5,9  
5 2/1 Relational Algebra 5  
6 2/6 Relational Algebra 8 Homework 2 (due 2/20)
7 2/8 Relational Calculus 7  
8 2/13 SQL: Intro 6,7  
9 2/15 SQL: Querying 6,7  
10 2/20 SQL: Querying 6,7 Project 1 (due 3/6)
11 2/22 SQL: Querying 6,7  
12 2/27 SQL: Advanced Queries 6,7  
13 3/1 SQL: Advanced Queries 6,7  
14 3/6 Midterm Review    
15 3/8 Midterm   Project 2 (due 3/29)
16 3/20 Database Design 14,15  
17 3/22 Database Design 14,15 Homework 3 (due 4/10)
18 3/27 PHP 11  
19 3/29 Indexing 16,17 Final Project (due 4/30)
20 4/3 Indexing 16,17  
21 4/5 Query Processing & Optimization 18,19  
22 4/10 Query Processing & Optimization 18,19 Homework 4 (due 4/19)
23 4/12 Transaction Management & Concurrency Control 20,21  
24 4/17 Transaction Management & Concurrency Control 20,21  
25 4/19 NoSQL 24  
26 4/24 NoSQL 24  
27 4/26 Review