Announcements

  • Congratulations! You’ve done E-151!

Description

This course is an introduction to databases using a language called SQL. Students learn how to create, read, update, and delete data with relational databases, which store data in rows and columns, and how to model real-world entities and relationships among them using tables with appropriate types, triggers, and constraints. The course covers how to normalize data to eliminate redundancies and reduce potential for errors and how to join tables together using primary and foreign keys. Students learn how to automate searches with views and expedite searches with indexes, as well as how to connect SQL with other languages like Python and Java. The course begins with SQLite for portability’s sake and ends with introductions to PostgreSQL and MySQL for scalability’s sake. Assignments are inspired by real-world datasets.

Table of Contents

Querying

  1. Watch Week 0 on or after Tue 9/5.
  2. Complete Check 0 by 2023-09-10T23:59:00-04:00.
  3. Attend section, live and with webcam and audio enabled (per sections’ norms).
  4. Optionally attend office hours.
  5. Complete Problem Set 0 by 2023-09-17T23:59:00-04:00.

Relating

  1. Watch Week 1 on or after Mon 9/18.
  2. Complete Check 1 by 2023-09-24T23:59:00-04:00.
  3. Attend section, live and with webcam and audio enabled (per sections’ norms).
  4. Optionally attend office hours.
  5. Complete Problem Set 1 by 2023-10-01T23:59:00-04:00.

Designing

  1. Watch Week 2 on or after Mon 10/2.
  2. Complete Check 2 by 2023-10-08T23:59:00-04:00.
  3. Attend section, live and with webcam and audio enabled (per sections’ norms).
  4. Optionally attend office hours.
  5. Complete Problem Set 2 by 2023-10-15T23:59:00-04:00.

Writing

  1. Watch Week 3 on or after Mon 10/16.
  2. Complete Check 3 by 2023-10-22T23:59:00-04:00.
  3. Attend section, live and with webcam and audio enabled (per sections’ norms).
  4. Optionally attend office hours.
  5. Complete Problem Set 3 by 2023-10-29T23:59:00-04:00.

Viewing

  1. Watch Week 4 on or after Mon 10/30.
  2. Complete Check 4 by 2023-11-05T23:59:00-05:00.
  3. Attend section, live and with webcam and audio enabled (per sections’ norms).
  4. Optionally attend office hours.
  5. Complete Problem Set 4 by 2023-11-12T23:59:00-05:00.

Optimizing

  1. Watch Week 5 on or after Mon 11/13.
  2. Complete Check 5 by 2023-11-19T23:59:00-05:00.
  3. Attend section, live and with webcam and audio enabled (per sections’ norms).
  4. Optionally attend office hours.
  5. Complete Problem Set 5 by 2023-11-26T23:59:00-05:00.
  6. Begin work on your final project proposal, due 2023-11-26T23:59:00-05:00.

Scaling

  1. Watch Week 6 on or after Mon 11/27.
  2. Complete Check 6 by 2023-12-03T23:59:00-05:00.
  3. Attend section, live and with webcam and audio enabled (per sections’ norms).
  4. Optionally attend office hours.
  5. Complete Problem Set 6 by 2023-12-10T23:59:00-05:00.
  6. Submit your final project status report, due 2023-12-10T23:59:00-05:00.