CSE logo University of Washington Department of Computer Science & Engineering
 CSE444 Introduction to Database Systems - Summer 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

Tentative schedule that will be altered as the quarter progresses. Please check it regularly.

Lecture numbers are based on the ones for regular quarters. We will move somewhat faster during summer quarter, which means that the prepared slides may span class periods. The readings below are based on the original lecture numbers.

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

Week of
Monday
Wednesday
Friday
June 22

Introduction
lecture 1

SQL
lecture 2

Project 1 released

June 29

Views and Constraints
lecture 4

Homework 1 released

E/R Diagrams
lecture 5

No Class:
Independence Day
Holiday
July 6
Database Design
lectures 6 & 7

Database Design
lectures 6 & 7
Transactions in SQL
lecture 8

Project 1 due
Project 2 released

Transactions: Recovery
lectures 9 & 10
July 13
Transactions: Recovery
lectures 9 & 10
Transactions:
Concurrency Control
lecture 11

Transactions:
Concurrency Control
lecture 11
lecture 12

Homework 1 due
Homework 2 released

Transactions, Best Practices
lectures 13-14
Example code
July 20
Transactions, Best Practices
lectures 13-14

Data Storage and Indexing
lecture 15

Project 2 due

Database Tuning
lecture 16

Project 3 released

Homework 2 due
Sunday 11pm

No late assignments this time

July 27

Relational Algebra
lecture 17

Midterm
in class

Query Processing Overview
lecture 18
Homework 3 released
August 3

Operator Algorithms
lecture 19

Operator Algorithms
extended example
Project 3 due

Overview of Query Optimization
lecture 20
Project 4 released

August 10

Parallel and Distributed DBMSs
lecture 21


XML/XPath
lecture 25

August 17

XQuery
lecture 26

Databases as a Service
lecture 24
Wrap-up
lecture 27

Project 4 due

Final Exam
(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