CSE logo University of Washington Department of Computer Science & Engineering
 CSE444 Introduction to Database Systems - Spring 2009
  CSE Home   About Us    Search    Contact Info 

Administration
 Home Page
 Syllabus
 Calendar/Lecture Notes
 E-mail Archive 
 Discussion Board
 Grades
Mini-projects
 Instructions and Solutions
 Connecting to SQL Server
 Using PostgreSQL in the Lab
Homeworks
 Instructions and Solutions
 Optional practice problems
Sections
 Slides and Solutions
Working from Home
 Using Tunneling
 Installing Software
Exams
 Problem Sets and Solutions
   

Daily Schedule for 444 Lectures

Note that this schedule will be altered during the quarter. Please make sure to check it every week.

You can find the consolidated list of readings at the end of the page

Week of
Monday
Wednesday
Friday
March 30

Introduction
lecture 1

SQL
lecture 2

Project 1 released
Homework 1 released

April 6
Views and Constraints
lecture 4
E/R Diagrams
lecture 5
Database Design
lecture 6
April 13
Database Design
lecture 7
Transactions: Recovery
lecture 9
April 20
Transactions: Recovery
lecture 10

Transactions:
Concurrency Control
lecture 11

Homework 1 due
Homework 2 released

Transactions:
Concurrency Control
lecture 12
April 27
Transactions, Best Practices
lecture 13
Example code

Transactions, Best Practices
lecture 14

Data Storage and Indexing
lecture 15

Project 2 due

May 4
Database Tuning
lecture 16
Query Processing Overview
lecture 18
May 11

Midterm

Disrupted Lecture

Operator Algorithms
lecture 19

Homework 3 released

May 18

Overview of Query Optimization
lecture 20

Project 3 due


Parallel and Distributed DBMSs
lecture 21

May 25

Memorial Day (no class)

Pig Latin
lecture 23

Databases as a Service
lecture 24
June 1

XML/XPath
lecture 25

June 8

Final Exam

Thursday, June 11, 2009, 830am-1020am, in class

Readings

Lecture 2

  • Simple Queries in SQL (Section 6.1)
  • Queries with more than one relation (Section 6.2)
  • Subqueries (Section 6.3)

Lecture 3

  • Aggregations (Sections 6.4.3 – 6.4.6)
  • Nulls (Sections 6.1.6 - 6.1.7) [Old edition: Sections 6.1.5-6.1.6]
  • Outer joins (Section 6.3.8)

Lecture 4

  • Views (Sections 8.1, 8.2, 8.3) [Old edition: Sections 6.6 and 6.7]
  • Constraints (Sections 2.3, 7.1, 7.2) [Old edition: Sections 7.1 and 7.2 only]

Lecture 5

  • E/R diagrams (Sections 4.1- 4.4) [Old edition: Chapter 2]
  • From E/R diagrams to relations (Sections 4.5 and 4.6) [Old edition: Sections 3.2 and 3.3]

Lecture 6 and 7

  • Design theory: (Sections 3.1-3.4) [Old edition: Sections 3.4-3.6]

Lecture 8

  • Transactions in SQL (Secion 6.6) [Old edition: Section 8.6]

Lecture 9 and 10

  • Disks (Section 13.2) [Old edition: Section 11.3]
  • Undo logging (Section 17.2)
  • Redo logging (Section 17.3)
  • Redo/undo (Section 17.4)

Lecture 11

  • Serial and Serializable Schedules (Section 18.1)
  • Conflict Serializability (Section 18.2)
  • Locks (Section 18.3)

Lecture 12

  • Concurrency control by timestamps (Section 18.8)
  • Concurrency control by validation (Section 18.9)

Lectures 13 and 14

  • Michael J. Franklin. Concurrency Control and Recovery. The Handbook of Computer Science and Engineering, A. Tucker, ed., CRC Press, Boca Raton, 1997. [pdf]

Lecture 15

  • Index structures (Section 14.1) [Old edition: Sections. 13.1 and 13.2]
  • B-trees (Section 14.2) [Old edition: Section 13.3]

Lecture 16

  • No readings

Lecture 17

  • An algebraic query language (Section 2.4) [Old edition: Sections 5.1 and 5.2]
  • Relational operations on bags (Section 5.1) [Old edition: Section 5.3]
  • Extended operators of relational algebra (Section 5.2) [Old edition: Section 5.4]

Lecture 18

  • Overview of query processing and query execution (Sections 15.1)

Lecture 19

  • Operator algorithms (Sections 15.2 - 15.6)

Lecture 20

  • Optional reading: query optimization (Chapter 16)

Lecture 21

  • Jeffrey Dean and Sanjay Ghemawat. MapReduce: Simplified Data Processing on Large Clusters. OSDI 2004. Sections 1 through 3. [pdf]
  • Optional reading: Parallel DBMSs and MapReduce (Sections 20.1 and 20.2 in new edition only)
  • Optional reading: Dave DeWitt and Jim Gray. Parallel Database Systems: The Future of High Performance Database Systems. Communications of the ACM. 1992. Also in Red Book 4th Ed. Sections 1 and 2 only. [pdf]
  • Optional reading: Andrew Pavlo et. al. A Comparison of Approaches to Large Scale Data Analysis. SIGMOD 2009. [pdf] This paper compares parallel DBMSs versus MapReduce.

Lectures 22 and 23

  • C. Olston, B. Reed, U. Srivastava, R. Kumar and A. Tomkins. Pig Latin: A Not-So-Foreign Language for Data Processing. SIGMOD 2008. [pdf]

Lecture 24

Optional Readings:

Lecture 25

  • Chapter 11: Sections 11.1 through 11.3 [Subset of material in old edition 4.6 and 4.7]
  • Chapter 12: Section 12.1

Lecture 26

  • Chapter 12: Section 12.2

Optional Readings about XML meets RDBMS:

  • Matthias Nicola and Bert van der Linden. Native XML Support in DB2 Universal Database. VLDB 2005. [pdf]
  • Kevin Beyer et.al. System RX: One Part Relational, One Part XML. SIGMOD 2005. [pdf]
  • Shankar Pal et. al. Indexing XML Data Stored in a Relational Database. VLDB 2004 [pdf]
  • Shankar Pal et. al. XQuery Implementation in a Relational Database System. VLDB 2005 [pdf]

 

 

 

 

 

 

 

 




CSE logo Department of Computer Science & Engineering
University of Washington
Box 352350
Seattle, WA  98195-2350