Introduction to Data Management
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 Piazza. This is the fastest way to get in contact with the 344 staff and your peers. You can post privately to just the staff and anonymously to the whole class if you want to. Please note that when signing up for Piazza, Piazza specifies an option (default is to agree) to share your contact information with companies for recruiting purposes. Opt out of this option if you wish. 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 survey.
For additional details about the class, please refer to the syllabus.
CSE 344 Staff
cse344-staff @ cs
Ryan Maas (instructor)
maas @ cs
OH: Tue 9:20-10:20, CSE 214
Shana Hutchison
shutchis @ cs
OH: Th, 3:30-4:30, Gates 150
Zhanhao Zhang
zhangz73 @ cs
OH: Wed 15:30-17:00, CSE 021
Li Du
dul2 @ cs
OH: Fri 9:30-10:30, Gates 153
Calendar
(Lecture) MWF, 2:20-3:20, ECE 045 (cse344a_sp19 @ uw)
(Section AB) Th, 1:10-2:10, MOR 234 (cse344aa_sp19 @ uw)
(Section AA) Th, 2:20-3:20, MOR 221 (cse344ab_sp19 @ uw)
Lecture Resources:
- June 24 Introduction (large)(small)
- June 26 SQL Basics (large)(small)
- June 28 SQL Basics and intro to aggregates (6.1-2) (large)(small) demo in sqllite
- July 1 Joins and aggregate practice (6.1-2) (large)(small) worksheet solutions
- July 3 Group By and Aggregates (6.1-2) (large)(small)
- July 5 CANCELLED
- July 8 Relational Algebra (5.1) (large)(small)
- July 10 RA and subqueries (2.4 & 5.1) (large)(small)
- July 12 Subqueries cont. (2.4 & 5.1)
- July 15 Database design with E/R Diagrams (4.1-4.6) (large)(small)
- July 17 Design Theory (4.1-4.6) (large)(small)
- July 19 Practical Data Management (large)(small)
- July 22 Query Cost Estimation (large)(small)
- July 24 MIDTERM EXAM
- July 26 Tuning and Indexing Basics (8.3-4 & 14.1-1.7 & skim 14.2-3) (large)(small)
- July 29 Tuning and Indexing (Cont.)
- July 31 Transactions - Serializability (large)(small)
- August 2 Transactions - Locking (large)(small)
- August 5 Transactions - Isolation Levels (large)(small) and Parallel Processing (20.1) (large)(small)
- August 7 Parallel Databases (cont) (large)(small)
- August 9 MapReduce and Spark (no reading) (large)(small)
- August 12 More Spark (no reading) (large)(small) NoSQL intro (large)(small)
- August 14 NoSQL (large)(small)
- August 16 Semi-structured data (large)(small)
- August 19 SQL++ (large)(small)
- August 21 Wrap-up (large)(small)
- August 23 Final Exam (in class)
Sections Resources:
- June 27 - SQLite and Intro to Git slides demo.sql
- July 11 - RA and Subqueries Demo, Worksheet, Worksheet Solutions
- July 18 - Schema Design and BCNF slides worksheet solutions
- July 25 - Cardinatlity Estimation notes worksheet (sol) guide last quarter
- August 1 - Transactions slides worksheet solutions
- August 8 - Parallel DBMS slides worksheet solutions
- August 15 - Spark slides
- August 22 - Final review worksheet, Solutions
Assignments
Homework
- July 3 HW1: SQLite (1 wk)
- July 11 HW2: Basic SQL Queries (1 wk)
- July 20 HW3: Advanced SQL and Azure (1 wk)
- August 1 HW4: Java Application (1.5 wks) (example prepared statement)
- August 12 HW5: Java Application (1 wk)
- August 18 HW6: Spark (1 wk)
- August 24 HW7: AsterixDB (1 wk)
Exams
There will be a midterm and a final 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
Final exam resources
Other Resources
Textbooks
- Database Systems: The Complete Book (2nd Edition) <errata>
- Fundamentals of Database Systems (7th Edition)
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.)