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

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

Daily Schedule for 444 Lectures

This schedule may be altered during the quarter. Please make sure to check it regularly. Links to future lectures and assignments won't work until they are posted.

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

Week of
Monday
Wednesday
Friday
Sept. 28

 

Introduction
lecture 1

Project 1 released

Oct. 5

SQL
lecture 3

Views and Constraints
lecture 4

Oct. 12

E/R Diagrams
lecture 5 (concl)
Database Design
lecture 6-7

Database Design
lecture 6-7

Project 1 due

Transactions in SQL
lecture 8
Oct. 19
Transactions: Recovery
lecture 9-10

Transactions: Recovery
lecture 9-10

Project 2 released

Transactions:
Concurrency Control
lecture 11
Oct. 26
Transactions:
Concurrency Control
lecture 12
Transactions, Best Practices
(no slides)
Nov. 2
Transactions, Best Practices
lecture 13-14

Data Storage and Indexing
lecture 15

Project 2 due

Database Tuning
lecture 16

Nov. 9

Relational Algebra
lecture 17


Project 3 released

No Class
Veteran's Day

Homework 2 due

Midterm Exam
in Class

Nov. 16

Query Processing Overview
lecture 18

Operator Algorithms
lecture 19

Operator Algorithms
(no slides)

Nov. 23

Overview of Query Optimization
lecture 20

Project 3 due
Homework 3 released

Parallel and Distributed DBMSs
lecture 21

 

No Class
Thanksgiving Break

Nov. 30
Databases as a Service
lecture 24
Dec. 7

XML/XPath
lecture 25

XQuery
lecture 26

Wrap-up
lecture 27

Project 4 due (Saturday)

Dec. 14

Final Exam

Thursday, Dec. 17, 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