Introduction to Data Management


Description: In this course, we will introduce the basics of modern data management. You will learn about schema design, data modeling, query languages, building database applications, transactions, and many other topics. Through lectures, sections, and assignments, you will learn about and understand how real-world data management systems work, and how they touch upon many aspects of our daily lives.

Remote quarter: This quarter is mandated to have fully online instruction with no in-person meetings permitted. So long as the staff internet connections permit, we will still be holding synchronous lecture/section meetings so that students have the opportunity to ask questions and work together - please do attend and participate! Lecture recordings will be posted if you need to access them asynchronously.

Questions and Comments: If you have any questions or comments about lecture, sections, assignments, quizzes, or whatever, post on Piazza. This is the fastest way to get in contact with the 344 staff and your peers. You can post privately to just the staff and anonymously to the whole class if you want to. Please note that when signing up for Piazza, Piazza specifies an option (default is to agree) to share your contact information with companies for recruiting purposes. Opt out of this option if you wish. If you need to talk about anything personal or offline, see us during office hours or email the instructor (maas @ cs) to set up a meeting. And we love feedback! If you have any concerns, comments, or suggestions let us know through this anonymous feedback tool.

For additional details about the class, please refer to the syllabus.

Ryan Maas (instructor)

He/him pronouns, maas@cs

OH: Thursday 9:30am - 10:30am

Ethan Sylvia

He/They pronouns, ethans24@cs

OH: Wednesday 4pm- 5pm

Steve Ma

He/him pronouns, bochenma@cs

OH: Thursday 7pm - 8pm

Nishtha Agarwal

She/Her pronouns, nishtha1@uw

OH: Monday 11:30am-12:30pm

Tuesday 4pm - 5pm

Friday 4:30pm - 5:30pm

Instruction

Note that all instruction for the quarter is remote. Links to the Zoom meetings and lecture recordings can be found on Canvas.

Assignments



Quizzes

  • Quiz 1 out Thursday July 22 @ 3am, due July 23 @ 1pm (Topics are similar problems to HW 1 and HW 2, as well as conceptual questions from the slides. The quiz should only take around 30-40 minutes to complete.)

  • Quiz 2 out Thursday August 12 @ 3am, due August 13 @ 10am (Topics are similar problems to HW 3 and HW 4, as well as conceptual questions from the slides about transaction schedules. The quiz should only take around 30-40 minutes to complete.)

    • For practice problems, see midterm exam questions from Autumn 2018 and 2019


Calendar

See Canvas for lecture recordings


Date

Slides

Reading

Week 1

Monday June 21

Introduction (slides)

2.1-3


Wednesday June 23

SQL Basics (slides)

6.1 - 6.2


Friday June 25

SQL Joins (slides , demo)

6.1 - 6.2

Week 2

Monday, June 28

SQL Aggregates (slides)

6.1 - 6.2


Wednesday, June 30

SQL Joins and Aggregates (slides)

6.1 - 6.2


Friday, July 2

Relational Algebra (slides)

2.4, 5.1-2

Week3

Monday, July 5

NO CLASS (holiday)



Wednesday, July 7

SQL Subqueries (slides)

6.3


Friday, July 9

SQL Subqueries part 2 (slides)

6.3

Week 4

Monday, July 12

Practical data management (slides)


Wednesday, July 14

Design - E/R Diagrams (slides)

4.1-6


Friday, July 16

Design - Theory (slides)

3.1-5

Week 5

Monday, July 19

Design - BCNF Decomposition (slides)

3.1-5


Wednesday, July 21

Transactions - Serializability (slides)

18.1-2


Friday, July 23

Transactions - Locks (slides)

18.1-2

Week 6

Monday, July 26

Transactions - Isolation Levels (slides)

18.1-2


Wednesday, July 28

Transactions - Wrapup (slides)

18.1-2


Friday, July 30

Query Cost Estimation (slides)

16.4.4

Week 7

Monday, August 2

Indexes (slides)

16.4.4


Wednesday, August 4

Intro to Parallel Processing (slides)



Friday, August 6

Intro to Parallel Processing cont.


Week 8

Monday, August 9

MapReduce and Spark (slides)



Wednesday, August 11

Semi-structured Data (slides)



Friday, August 13

SQL++ Nesting (slides)


Week 9

Monday, August 16

SQL++ Wrapup (slides)

BlinkDB (slides)



Wednesday, August 18

Streaming Databases (slides)



Friday, August 20

Course recap (slides)


Section

Other Resources

Textbook

Database Systems: The Complete Book (2nd Edition) <errata>

The library has the following that you might find useful if you require another explanation of a topic.

  • Fundamentals of database systems by Elsmasri and Navathe

  • Database management systems by Raghu Ramakrishnan and Johannes Gehrke

  • Foundations of database systems by Abiteboul, Hull and Vianu

Past Panopto Recordings (for UW students)

Look at the course webpage for a schedule of what topic was taught when.

Related Groups

Down the Rabbit Hole