Introduction to Database Systems


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. 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 the discussion board. This is the fastest way to get in contact with the 414 staff and your peers. 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.

CSE 414 Staff

cse414-staff@cs

Course Message Board

Ryan Maas (instructor)

Shana Hutchison

She/her pronouns, shutchis@cs

OH: 4:30 - 5:30 PM, Thursday - Zoom

Patrick Render

He/Him pronouns, rendep@cs

OH: 8:30 - 9:30 PM, Monday - Zoom

Prati Dhamija

Vincent Soesanto

Snigdha Goel

She/her pronouns, snigdg@cs

OH: 11:00 AM - 12:00 PM, Wednesday - Zoom

Leona Kazi

She/her pronouns, lkazi@uw

OH: 5:00 - 6:00 PM, Monday

Assignments

Quizzes

  • Quiz 1 out Friday January 29 @ 3am, due January 30 @ 10am (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 Monday February 22 @ 3am, due February 23 @ 10am (Topics are similar problems to HW 3 and HW 4, as well as conceptual questions from the slides. The quiz should only take around 30-40 minutes to complete.)

    • Log into our course page on Gradescope to complete the quiz.

    • Similar to Quiz 1, but on material from HW 3, HW 4

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

  • Quiz 3 out Wednesday March 10@ 3am, due March 11@ 10am (Topic is transactions from HW 5, as well as conceptual questions from the slides. 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 & section recordings.


Date

Slides

Reading

Week 1

Monday, January 4th

Introduction (small, large)

2.1-3


Wednesday, January 6th

SQL Basics (small, large) (demo-1.sql )

6.1-2


Friday, January 8th

SQL Basics (continued demo-2.sql )

6.1-2

Week 2

Monday, January 11th

SQL Joins (small, large) (demo-2.sql )

6.1-2


Wednesday, January 13th

Aggregates and Groups (small, large)

6.4


Friday, January 15th

Joins and Aggregates (small, large)

6.4

Week 3

Monday, January 18th

Holiday (no class)



Wednesday, January 20th

Joins and Aggregates (cont.)
Subqueries preview (small, large)

6.4


Friday, January 22nd

Subqueries (small, large)

6.3

Week 4

Monday, January 25th

Subqueries (cont)

5.2, 5.4


Wednesday, January 27th

Relational Algebra (small, large)

5.2, 5.4


Friday, January 29th

Relational Algebra (continued)

5.2, 5.4

Week 5

Monday, February 1st

Database Design - E/R Diagrams (small, large)

2.1


Wednesday, February 3rd

E/R Diagrams cont.

2.2, 2.3


Friday, February 5th

Database Design - Functional Dependencies (small, large)

3.4 - 3.5

Week 6

Monday, February 8th

Database Design - BCNF (small, large, annotated)

3.6


Wednesday, February 10th

Transactions - Serializability (small, large)

18.1-18.2


Friday, February 12th

Transactions - Serializability cont.

18.1-18.2

Week 7

Monday, February 15th

Holiday (no class)



Wednesday, February 17th

Transactions - Locking (small, large)

18.3


Friday, February 19th

Transactions - Isolation Levels (small, large)

18.4

Week 8

Monday, February 22nd

Practical Data Management (small, large)



Wednesday, February 24th

Query Cost Estimation (small, large)

8.3-4, 14.1-7


Friday, February 26th

Tuning & Indexing (small, large)

8.3-4, 14.1-7

Week 9

Monday, March 1st

Semi-Structured Data (small, large)

optional reading: JSON modeling for RDBMS users (skip the "Transforming staging data with N1QL" section at the end)


Wednesday, March 3rd

SQL++ / Nesting (small, large)


Friday, March 5th

SQL++ Wrapup (small, large)

Week 10

Monday, March 8th

Parallel Processing (small, large)

20.1


Wednesday, March 10th

MapReduce (small, large)

20.2


Friday, March 12th

Spark (small, large)

20.2

Section

  • AA / BA (11:30 - 12:20 PM): Steve & Frank- Zoom

  • AB / BB (12:30 - 1:20 PM): Prati & Tal - Zoom

  • AC / BC (1:30 - 2:20 PM): Leona & Snigdha - Zoom

  • AD / BD (2:30 - 3:20 PM): Patrick & Varsha - Zoom

  • AE / BE (3:30 - 4:20 PM): Shana & Vincent - Zoom

2021-01-07 Section 1 ~ Hello SQLite | AD Slides | demo.sql

2021-01-14 Section 2 ~ SeQueL to SQL | Worksheet | Solutions

2021-01-21 Section 3 ~ Subqueries

2021-01-28 Section 4 ~ Relational Algebra | Worksheet | Solutions

2021-02-04 Section 5 ~ DB Design | Practice | Solutions

2021-02-11 Section 6 ~ Txn Intro | Worksheet | Solutions

2021-02-18 Section 7 ~ Txn Locks | Worksheet | Solutions

2021-02-25 Section 8 ~ Cardinality Estimation | Worksheet | Solutions

2021-03-04 Section 9 ~ AB Slides | SQL++ Worksheet | Solutions

2021-03-11 Section 10 ~ MapReduce & Spark | AD Slides | Demo Python | Demo Java

Office Hours


Office Hours

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 Lecture Recordings (for UW students)

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

Related Groups

Down the Rabbit Hole