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 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.
If you have any questions or comments about lecture, sections, assignments, exams, or whatever, post on the message board. This is the fastest way to get in contact with the 414 staff and your peers. You can post privately to just the staff and anonymously to the whole class if you want to. 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 tool.
For additional details about the class, please refer to the syllabus.
CSE 414 Staff
cse414-staff @ cs
Ryan Maas (instructor)
maas @ cs
OH: Tue 9:30-10:30, Allen 358
Shana Hutchison
shutchis @ cs
OH: Thursday 4:30-5:30, Gates 150
Matthew Liu
liux44 @ cs
OH: Monday 1:30-2:30, Gates 150
Anne Pham
annep7 @ cs
OH: Friday 2:30-3:30, Gates 151
Ben Shmidt
bshmidt @ cs
OH: Wednesday 12:30-1:30, Allen 021
Ying Wang
wangy288 @ cs
OH: Monday 10:30-11:30, Gates 151
Cong Yan
congy @ cs
OH: Tuesday 10:30-11:30, Gates 150
Calendar
(Lecture) MWF, 3:30-4:20, SIG 134
(Section AA) Th, 12:30-1:20, ARC 160
(Section AB) Th, 1:30-2:20, ARC 160
(Section AC) Th, 2:30-3:20, LOW 105
(Section AD) Th, 3:30-4:20, MGH 228
Lecture Resources:
- September 25 - Introduction (large)(small)
- September 27 - SQL Basics (large)(small) (demo-1.sql )
- September 30 - SQL Joins (large)(small) (demo-lec03.sql )
- October 2 - Aggregates (large)(small)
- October 4 - Join Aggregates (large) (small)
- October 7 - Relational Algebra (large) (small)
- October 9 - SQL Subqueries (large) (small)
- October 11 - SQL Subqueries (continued)
- October 14 - RA/SQL Practice (worksheet), (solutions) Intro to Datalog
- October 16 - Datalog (large) (small)
- October 18 - Datalog (continued) (large) (small)
- October 21 -
Database Design (intro)misc topics on whiteboard - October 23 - Database Design redux (E/R diagrams) (large) (small)
- October 25 - Database Design (Functional Dependencies) (large) (small)
- October 28 - Database Design cont. (BCNF)
- (Midterm October 30)
- November 1 - Practical Data Management (large) (small)
- November 4 - Query Cost Estimation (large) (small)
- November 6 - Indexes and Tuning (large) (small)
- November 8 - Indexes and Tuning (continued)
- November 11 - (Veterans Day Holiday)
- November 13 - Transactions: Schedules (large) (small)
- November 15 - Transactions: Schedules (cont.) and Locking
- November 18 - Transactions: Locking (large) (small)
- November 20 - Transactions: Isolation Levels (large) (small)
- November 22 - Parallel Processing (large) (small)
- November 25 - Spark (large) (small)
- November 27 - Spark (cont), Intro to Semi-Structured Data (large) (small)
- December 2 - Semi-Structured Data (large) (small)
- December 4 - SQL++ and nesting (large) (small)
- December 6 - SQL++ and Final Topics Review (large) (small)
- (Bonus lecture) - More about modern NoSQL (large) (small)
Sections Resources:
- September 26 - SQLite Demo (slides, demo.sql)
- October 3 - 3-valued logic, joins, aggregates (slides, worksheet/sec AA worksheet), solutions/sec AA solution))
- October 10 - Azure setup and subquery practice (slides, demo, worksheet, solutions [also see last problem of Oct 3 worksheet])
- October 17 - Datalog practice (worksheet, solutions)
- October 24 - Database design, E/R (slides, optional discussion on FDs through BCNF)
- October 31 - BCNF Decomposition and Midterm solutions review (slides, worksheet, solutions)
- Nov 7 - Git/Gitlab Setup & Cardinality Estimation (slides, whiteboard demo)
- Nov 14 - HW 6 Instruction and extra help
- Nov 21 - Transactions (slides, worksheet, solutions)
- Dec 5 - AsterixDB / SQL++ (slides, worksheet, solutions)
Assignments
Homework (dates TBD)
- HW1: SQLite Due October 2, 11:59pm (1 wk)
- HW2: Basic SQL Queries (dataset) Due October 10, 11:59pm (1 wk)
- HW3: Advanced SQL and Azure Due October 18 (1.3 wk)
- HW4: Datalog and RA Due October 26 (1 wk)
- HW5: Database Design (dataset) Due November 4th (1wk)
- HW6: Java Application (example prepared statement) Due November 17th (1.5 wk)
- HW7: Spark (1 wk) Due December 2nd (1 wk)
- HW8: AsterixDB (1 wk) Due December 10 (no late days)
Exams
There will be a midterm (October 30th in class) and a final (December 12th 2:30-4:20) 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
- Exams from previous quarters
- Most similar to 414au2018
Final exam resources
- Exams from previous quarters
- Most similar to 414au2018 (sample solutions)
Other Resources
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.)