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.

This is a non-majors course, and as such you may not be familiar with all of the technology we often use in CSE classes. To help you better understand and keep track of all the tools we use in this course, please consult our Technology Glossary.

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 (robthomp @ 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

Rob Thompson (instructor)

Shana Hutchison

Aaditya Desai

Shivam Bhatia

Frank Yu

Rachel Phuong

Lakshay Sahni

Abhishek Shah

He/him pronouns, ars56@cs

OH: Thursdays, 6:30pm

Snigdha Goel

Karman Singh

He/him pronouns, shubhs2@csuw

OH: Saturdays, 5:00pm

Shourya Srivastava

Assignments

Quizzes

Quizzes will be Gradescope-based. Each will be open-book, open-note, and available for 24 hours with no secondary time limit.

  • Quiz 1 April 27th (Covering all SQL)

  • Quiz 2 May 18th (DB Design and Transactions) (Gradescope)

  • Quiz 3 June 1st (Cost Est., Semi-structured data, and parallel SQL) (Gradescope)

Calendar



Date

Slides

Reading

Week 1

Monday, March 29th

Introduction (ppt) (large) (small) (video)

2.1-3


Wednesday, March 31st

SQL Basics (ppt) (large) (small) (video)

6.1-2


Friday, April 2nd

SQL Basics (cont.) (video)

6.1-2

Week 2

Monday, April 5th

SQL Joins (ppt) (large) (small) (video)

6.1-2


Wednesday, April 7th

Aggregates and Groups

(ppt) (small) (large) (video)

6.4


Friday, April 9th

Joins and Aggregates (ppt) (large) (small) (video)

6.4

Week 3

Monday, April 12th

Joins and Aggregates (final)
Subqueries preview (video)

6.4


Wednesday, April 14th

Subqueries (cont.) (ppt) (large) (small) (video)

6.3


Friday, April 16th

Subqueries (final) (video)

6.3

Week 4

Monday, April 19th

Relational Algebra (ppt) (large) (small) (video)

5.2, 5.4


Wednesday, April 21st

RA (cont.) (video)

5.2, 5.4


Friday, April 23rd

Database Design (ppt) (large) (small) (video)

2.1

Week 5

Monday, April 26th

Database Design (ER) (video)

2.2, 2.3


Wednesday, April 28th

Design Theory (FDs) (ppt) (large) (small) (video)

3.4, 3.5


Friday, April 30th

BCNF (ppt) (large) (small) (video)

3.6

Week 6

Monday, May 3rd

Transactions (Serializability) (ppt) (large) (small) (video)

18.1, 18.2


Wednesday, May 5th

Transactions (Serializability) (video)

18.1, 18.2


Friday, May 7th

Transactions (Locking) (ppt) (large) (small) (video)

18.3

Week 7

Monday, May 10th

Transactions (Isolation) (ppt) (large) (small) (video)

18.4


Wednesday, May 12th

Practical Data Management (ppt) (large) (small) (video)



Friday, May 14th

Query Cost Estimation (ppt) (large) (small) (video)

8.3-4, 14.1-7

Week 8

Monday, May 17th

Tuning and Indexing (ppt) (large) (small) (video)

8.3-4, 14.1-7


Wednesday, May 19th

Semi-structured Data (ppt) (large) (small) (video)



Friday, May 21st

SQL++ (ppt) (large) (small) (video)

Week 9

Monday, May 24th

SQL++ (slides same as above) (video)


Wednesday, May 26th

Parallel Processing (ppt) (large) (small) (video)

20.1


Friday, May 28th

MapReduce (ppt) (large) (small) (video)

20.2

Week 10

Monday, May 31st

(Holiday)



Wednesday, June 2nd

Spark (slides same as above) (video)



Friday, June 4th

NoSQL and Wrapup (ppt) (large) (small) (video)


Section

2021-04-01 Section 1 - SQL Introduction and HW1 Prep - (slides) (demo.sql)

2021-04-08 Section 2 - 3-Valued Logic, Joins, Aggregates - (slides) (worksheet) (solutions) (reference on joins)

2021-04-15 Section 3 - Subqueries & Azure SQL Server Setup - (slides) (worksheet) (solutions)

2021-04-22 Section 4 - Relational Algebra - (slides) (worksheet) (solutions)

2021-04-29 Section 5 - Database Design - (slides) (worksheet) (solutions)

2021-05-06 Section 6 - FDs, BCNF, Txn Intro - (slides) (worksheet) (solutions)

2021-05-13 Section 7 - Transactions & Locks - (slides) (conflict serializibilty examples) (worksheet) (solutions)

2021-05-20 Section 8 - Cardinality Estimation (slides) (worksheet) (solutions)

2021-05-27 Section 9 - SQL++ (slides) (worksheet) (solutions)

2021-06-03 Section 10 - MapReduce and Spark (slides) (python demo) (java demo)

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