CSE 414 - 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.

Questions and Comments: If you have any questions or comments about lecture, sections, assignments, exams, 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.

Ryan Maas (instructor)

He/him pronouns, maas@cs

OH: Thursday 9am-10am (zoom link)

Rachel Phuong

She/her pronouns, rphuong@cs

OH: Tuesday 10:00am - 11:00am (zoom link)

Davin Kyi

He/him pronouns, davin123@cs

OH: Saturday 1:00pm - 2:00pm (zoom link)

Ivan Belikov

He/him pronouns, ivanb13@uw

OH: Monday 2:30pm - 3:30pm (zoom link)

Eden Chmielewski

She/her pronouns, edenski@cs

OH: Monday 9:00am - 10:00am (zoom link)

Divya Rangarajan

She/her pronouns, divyar28@cs

OH: Thursday 3:00pm - 4:00pm @ CSE1 220

Arjun Jagnani

He/him pronouns, ajagnani@uw

OH: Monday 11:00am - 12:00pm @ CSE1 4th Floor Breakout

Hongyi Ji

She/her pronouns, hji14@cs

OH: Friday 11:00am - 12:00pm @ CSE1 4th Floor Breakout

Qirui Wang

He/him pronouns, qw43@cs

OH: Friday 2:00pm - 3:00pm @ CSE1 4th Floor Breakout

Hadif Mufti

He/him pronouns, hadif@uw

OH: Monday 1:30pm - 2:30pm @ CSE1 218

Nishtha Agarwal

She/her pronouns, nishtha1@uw

OH: Tuesday 4:30pm - 5:30pm (zoom link)

Nina Okubo

She/her pronouns, nokubo@uw

OH: Wednesday 11:00am - 12:00pm @ CSE1 220

Jevin Kosasih

He/him pronouns, jevink@uw

OH: Wednesday 2:00pm - 3:00pm (zoom link)

Kashyap Jagwani

He/him pronouns, kashyap@uw

OH: Thursday 11:30am - 12:30pm @ Gates 131


Kush Bhatia

He/him pronouns, kb111198@cs

OH: Tuesday 5:00pm - 6:00pm @ CSE1 218

Ananya Sharma

She/her pronouns, ananya03@uw

OH: Tuesday 4:00pm - 5:00pm (zoom link)

Huong Ngo

She/her pronouns, hvn2002@uw

OH: Wednesday 5:00pm - 6:00pm (zoom link)

Calendar

See Canvas (under Panopto tab) for lecture recordings


Date

Slides

Reading

Week 1

Wednesday, September 28

Introduction (slides)

2.1-3


Friday, September 30

SQL Basics (slides)

6.1 - 6.2

Week 2

Monday, October 3

SQL Joins (slides , demo_setup, solutions)

6.1 - 6.2


Wednesday, October 5

SQL Joins (cont.)



Friday, October 7

SQL Aggregates (slides)

6.4

Week 3

Monday, October 10

SQL Joins and Aggregates (slides)

6.4


Wednesday, October 12

SQL Sub-queries (slides)

6.3


Friday, October 14

SQL Sub-queries part two (slides)


6.3


Week 4

Monday, October 17

Relational Algebra (slides)

5.2, 5.4


Wednesday, October 19

Database Design - ER Diagrams (slides)

2.1


Friday, October 21

Database Design - ER Diagrams cont.

2.1

Week 5

Monday, October 24

Database Design - Functional Dependencies (slides)

2.2, 2.3


Wednesday, October 26

Database Design - BCNF Decomposition (slides)

3.4, 3.5, 3.6


Friday, October 28

Practical Data Management (slides)


Week 6

Monday, October 31

Transactions - Serializability (slides)

18.1, 18.2


Wednesday, November 2

Transactions - Serializability cont.

18.1, 18.2


Friday, November 4

Transactions - Locking (slides)

18.3

Week 7

Monday, November 7

Transactions - Isolation Levels (slides)



Wednesday, November 9

Cost estimation (slides)

8.3-4, 14.1-7


Friday, November 11

No class (holiday)


Week 8

Monday, November 14

Tuning and Indexing (slides)

8.3-4, 14.1-7


Wednesday, November 16

Parallel Databases Intro (slides)


20.1


Friday, November 18

Parallel Databases (cont.)


Week 9

Monday, November 21

Parallel Databases - MapReduce and Spark (slides)
HW 6 Notes (slides)



Wednesday, November 23

No class (holiday)



Friday, November 25

No class (holiday)


Week 10

Monday, November 28

MapReduce and Spark (cont.)
Semi-structured Data (slides)



Wednesday, November 30

Semi-structured Data (slides)



Friday, December 2

Semi-structured Data - SQL++ (slides)


Week 11

Monday, December 5

Semi-structured Data - wrap-up (slides)



Wednesday, December 7

Streaming Databases (slides)



Friday, December 9

Database Applications (BlinkDB slides)

Course Wrap-up (slides)



Section

Time Slots

  • AA/BA - 12:30 - 1:20 PM (PCAR 395): Ananya/Qirui

  • AB/BB - 1:30 - 2:20 PM (SMI 107): Kush/Jevin

  • AC/BC - 2:30 - 3:20 PM (MOR 225): Arjun/Davin

  • AD/BD - 3:30 - 4:20 PM (BLD 392): Rachel

  • AE/BE - 11:30 - 12:20 PM (SIG 230): Ivan/Hongyi

  • CB - 9:30 - 10:20 AM (MGH 238): Divya/Huong

  • CC - 11:30 - 12:20 PM (MGH 241): Nishtha/Nina

  • CD - 12:30 - 1:30 PM (ARC G070): Kashyap/Hadif


Materials

Section 1, September 29th: slides (AE/BE), slides (CB), slides (CC), demo

Section 2, October 6th: slides (CB), slides (CC), worksheet, solutions, demo (AE)

Section 3, October 13th: slides(AB), slides(CB), slides (CC), worksheet, solutions, demo (AB)

Section 4, October 20th: slides (CB), worksheet, solutions

Section 5, October 27th: slides(CB), slides(CC), worksheet, solutions

Section 6, November 3rd: slides (CC), worksheet, solutions

Section 7, November 10th: slides(CC), worksheet 1 (solutions1), worksheet 2 (solutions2)

Section 8, November 17th: slides(CB), worksheet, solutions

Section 9, December 1st: slides(CC), worksheet, solutions

Section 10,December 8th: worksheet, solutions

Assignments

  • HW1 due Friday, October 7 @ 11pm (specification, follow Gradescope link for lecture A/B or C as appropriate)

  • HW2 due Monday, October 17th @ 11pm (spec)

  • HW3 due Wednesday, October 26th @ 11pm (spec, setup guide, demo)

  • HW4 due Monday, November 7th @ 11pm (spec)

  • HW5 due Monday, November 14th @ 11pm (spec)

  • HW6 setup due Monday, November 21st @ 11pm (python spec) (java spec)

    • Part 1 due Sunday, November 27th @ 11pm

    • Part 2 due Friday, December 2nd @ 11pm

  • HW7 due Friday, December 9th @ 11pm (spec)


Exams

There will be a midterm and a final for this course. Both exams will be offered on Gradescope and can be taken at home .

Midterm quiz

  • Releases on Gradescope Thursday November 3rd, due on Friday November 4th at 11am (morning)

  • Topics on the midterm are similar problems to HW 1 -3, as well as conceptual questions on relational algebra from the slides.

Final exam (take home)

  • Releases on Gradescope Monday December 12th, due on Wednesday December 14th 11pm (evening)

  • Similar length to midterm quiz, covering material from HW 4, 5, 6, and conceptual questions on semi-structured data models (no SQL++ on the quiz)

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