Introduction to Data Management
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 more. Through lectures, sections, and assignments, you will learn how real-world data management systems work, the theory behind them, and how they touch upon many aspects of our daily lives. Perhaps most importantly, you will learn how to navigate design tradeoffs in order to find the best solution.
Post questions & comments on the message board. This is the fastest way to get in contact with the 414 staff and your peers. There is an option for private posts if you wish (we encourage you to post non-anonymously whenever possible; there is no shame in asking a question). Should you need to talk about anything personal or offline, see us during office hours or email the staff list or instructor to set up a meeting. You may also submit feedback through this anonymous tool.
Please refer to the syllabus for additional details.
Calendar
View on Google Calendar. Subscribe to Google Calendar.
(Lecture) MWF, 12:30-1:20, ARC 147 ~ Shana Hutchison
(Section AA) Th, 11:30-12:20, SAV 156 ~ Steven Su & Gibbs Geng
(Section AB) Th, 12:30-1:20, SAV 131 ~ Cong Yan & Wenjun Chen
(Section AC) Th, 1:30-2:20, MGH 295 ~ Pranay Mundra & Jack Zhang
(Section AD) Th, 2:30-3:20, MGH 295 ~ Ryan Huang & Steve Ma
(Section AE) Th, 3:30-4:20, LOW 202 ~ McKinnon Williams & Xinyue Chen
Lecture Resources:
- 01-06 M ~ Introduction ~ slides, video, SQL/RA Reading: Ch. 2
- 01-08 W ~ Joins ~ slides, video, More SQL Reading: Ch. 6
- 01-10 F ~ Aggregation ~ slides, video
- 01-13 M ~ Subqueries I ~ slides, video
- 01-15 W ~ Subqueries II & RA Equivalence ~ slides, video, More RA Reading: Ch. 5.1-2
- 01-17 F ~ SQL-RA Review & Cardinality Estimation I ~ slides, video, worksheet, solutions
- 01-20 M ~ *no class* Martin Luther King Day
- 01-22 W ~ Cardinality Estimation II ~ slides, video, worksheet, (see previous lecture solutions)
- 01-24 F ~ E/R Design ~ slides, video, Reading: Ch. 4.1-6
- 01-27 M ~ Design Theory ~ slides, video, optional extra background, Reading: Ch. 3.1-5
- 01-29 W ~ Transactions: Serializability ~ slides, video, Reading: Ch. 18.1-2
- 01-31 F ~ Transactions: Locks ~ slides, video, Reading: Ch. 18.3-4
- 02-03 M ~ Transactions: Isolation Levels ~ slides, video, Reading: Ch. 18.4.1-3
- 02-05 W ~ Review ~ slides, video
- 02-07 F ~ Midterm exam
- 02-10 M ~ Practical Data Management ~ slides, video, Reading: Ch. 8.1-8.2, 8.5
- 02-12 W ~ Physical I/O Cost & Join Algorithms ~ slides, video, Reading: Ch. 8.3-4, 14.1-14.3
- 02-14 F ~ Index & Tune I ~ slides, video, Reading: Ch. 15.6
- 02-17 M ~ *no class* Presidents Day
- 02-19 W ~ Index & Tune II ~ slides, video, demo code
- 02-21 F ~ Parallel & Distributed ~ slides, video, Reading: 20.1
- 02-24 M ~ Key-Value, MapReduce, Spark ~ slides, video, Reading: 20.2
- 02-26 W ~ Spark, NoSQL ~ slides, video
- 02-28 F ~ NoSQL, Semi-structured data ~ slides, video
- 03-02 M ~ SQL++ I ~ slides, video, orders.adm, demo.sqlp, Reading: AsterixDB 101
- 03-04 W ~ SQL++ II ~ slides, video
- 03-06 F ~ Bridging Relations and Matrices ~ slides, video
- 03-09 M ~ Graph DB ~ slides, video, demo
- 03-11 W ~ Graph DB II ~ slides, video, demo
- 03-13 F ~ Cancelled, stay healthy!
03-19 Th ~ Final exam, 8:30 – 10:20am, ARC 147(see hw8 instead)
Section Resources:
- 01-09 Th ~ Git Setup for HW & Introduction to SQLite
- 01-16 Th ~ 3-Valued Logic/Joins/Aggregates/RA, AC worksheet, SQL-RA Reference Sheet (from 344 Spring 2019)
- 01-23 Th ~ Azure Setup and (Un)nesting
- 01-30 Th ~ BCNF & Transactions, DB Design: E/R (and BCNF), Cardinality Estimation Visualization, Worksheet
- 02-06 Th ~ AC worksheet, AC worksheet solution
- 02-13 Th ~ Isolation Levels
- 02-20 Th ~ Indexing, worksheet solution for (AA)
- 02-27 Th ~ MapReduce/Spark, Spark Starter Code, worksheet solution (AA)
- 03-05 Th ~ SQL++ worksheet+ solution(AA)
- 03-12 Th ~ Cancelled, stay healthy!
Assignments
Please view the team assignment sheet for a link to your team's GitLab repository.
- Hw1: SQL Basics with SQLite, Git ~ due 01-13 (1 week)
- Hw2: Basic SQL ~ due 01-21 (1 week)
- Hw3: Advanced SQL and Azure ~ due 01-29 (8 days)
- Hw4: Database Design ~ due 02-05 (1 week)
- Hw5: Database Application and Transaction Management ~ due 02-24 (2 weeks)
- Hw6: Parallel Data Processing and Spark ~ due 03-05 (8 days)
- Hw7: JSON, NoSQL, and AsterixDB ~ due 03-11 (1 week)
- Hw8: Matrices, Graphs, Nobel Prizes, and More ~ due 03-19 (1 week)
Exams
There will be a midterm and a final for this course. You may have handwritten notes for both exams. For the midterm you will be allowed 1 sheet of notes (front and back). For the final you will be allowed 2 sheets of notes (front and back).
Midterm exam resources
- 344 exams from previous quarters
- 414-2018au
- 344-2019au / solutions
- 414-2019au / solutions
- This quarter: 414-2020wi / solutions
Final exam resources
Resources
You are welcome to attend CSE 344 lectures with Alyssa Pittman. See this quarter's 344 schedule.
Textbooks
- Database Systems: The Complete Book (2nd Edition) <errata>
- Fundamentals of Database Systems (7th Edition)
Past Panopto Recordings (for UW students)
Look at the course webpage for a schedule of what topic was taught when.
- CSE 344 Spring 2019 - Jonathan Leang - videos, course webpage
Related Groups
- UW Database Group
- UW eScience Institute
- SIGMOD (Special Interest Group on Management of Data)
- PODS (Symposium on Principles of Database Systems)
- CIDR (Conference on Innovative Data Systems Research)
- VLDB (Very Large Data Base Endowment Inc.)