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

Steve Ma

Patrick Render

Kexuan Liu

Frank Yu

Gibbs Geng

Prati Dhamija

Vincent Soesanto

Snigdha Goel

Brandon Ko

Kushagra Kumar

Shourya Srivastava

Apurv Goel

Assignments

Quizes

  • Quiz 1 out October 22 @ 5am, due October 23 @ 11am (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.) Log into our course page on Gradescope to complete the quiz.


  • Quiz 2 out November 12 @ 5am, due November 13 @ 11am

    • Similar to Quiz 1, but on material from HW 3, HW 4, and the relational algebra slides

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


  • Quiz 3 out December 8 @ 5am, due December 9 @ 11am

    • Topics are Transactions (HW5) and Cost-estimation (the problems covered in class and section)



Calendar

See Canvas for lecture & section recordings.


Date

Slides

Reading

Week 1

Wednesday, Sept. 30

Introduction (small, large)

2.1-3


Friday, Oct. 2

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

6.1-2

Week 2

Monday, Oct. 5

SQL Basics continued

6.1-2


Wednesday, Oct. 7

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

6.1-2


Friday, Oct. 9

Aggregates and Groups (small, large, annotated)

6.4

Week 3

Monday, Oct. 12

Aggregates and Joins (small, large, annotated)

6.4


Wednesday, Oct. 14

Relational Algebra (small, large, annotated)

5.2, 5.4


Friday, Oct. 16

SQL Subqueries (small, large, annotated)

6.3

Week 4

Monday, Oct. 19

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

2.1


Wednesday, Oct. 21

Database Design - E/R Diagram cont.

2.2, 2.3


Friday, Oct. 23

Database Design - Functional Dependencies (small, large, annotated)

3.4, 3.5

Week 5

Monday, Oct. 26

Database Design - Functional Dependencies cont.

3.4, 3.5


Wednesday, Oct. 28

Database Design - BCNF (small, large, annotated)

3.6


Friday, Oct. 28

Practical Data Management (small, large, annotated)


Week 6

Monday, Nov. 2

Transactions - Serializability (small, large, annotated)

18.1-18.2


Wednesday, Nov. 4

Transactions - Serializability (cont.)



Friday, Nov. 6

Transactions - Locking (small, large, annotated)

18.3

Week 7

Monday, Nov. 9

Transactions - Isolation (small, large, annotated)

18.4


Wednesday, Nov. 11

Holiday (Veterans Day)



Friday, Nov. 13

Query Cost Estimation (small, large, annotated)

16.4.4, 15.1-3

Week 8

Monday, Nov. 16

Tuning & Indexing (small, large, annotated)

8.3-4, 14.1-7


Wednesday, Nov. 18

Tuning & Indexing (cont.)

8.3-4, 14.1-7


Friday, Nov. 20

Semi-Structured Data (small, large, annotated)

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

Week 9

Monday, Nov. 23

SQL++ / Nesting (small, large, annotated)


Wednesday, Nov. 25

SQL++ Wrapup (small, large, annotated)


Friday, Nov. 27

Holiday


Week 10

Monday, Nov. 30

Parallel Processing (small, large, annotated)

20.1


Wednesday, Dec. 2

MapReduce (small, large, annotated)

20.2


Friday, Dec. 4

Spark (small, large, annotated)

20.2

Week 11

Monday, Dec. 7

Spark cont.



Wednesday, Dec. 9

Other NoSQL topics (small, large, annotated)



Friday, Dec. 11

BlinkDB (small, large) and Course wrap-up (small, large)


Section

2020-10-01 Section 1 Hello World! (Alternative Slide Link) Demo

2020-10-08 Section 2 A SeQueL to SQL worksheet solutions

2020-10-15 Section 3 (Un)Nesting Queries worksheet solutions demo

2020-10-22 Section 4 Design worksheet solutions jamboard template

2020-10-29 Section 5 Database Design Theory AA/BA Slides AB/BB Slides AD/BD slides worksheet solutions

2020-11-05 Section 6 Transactions AE/BE Slides Worksheet Solutions

2020-11-12 Section 7 Locks Worksheet Solutions

2020-11-19 Section 8 Cardinality Estimation / Indexing Worksheet Solutions

2020-12-03 Section 9 NoSQL, SQL++ Worksheet Solutions

2020-12-10 Section 10 MapReduce & Spark Demo: Java / Python

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