Skip to the content.

Detailed schedule

Class 14

  1. Please take the midsemester survey.
  2. Exam discussion
  3. Overview of how to read a research paper:
    1. Read abstract, introduction, and conclusion.
    2. Examine figures and captions of figures. Try to understand the main ideas and results presented.
    3. Read the main body of the paper, skipping any technical material that is too difficult to understand.
  4. Meetings with student teams for RP assignents as needed

Class 13

Main topic for today: JDBC. See the Using JDBC web page (also available from a direct link on the main course webpage).

In-class activities:

  1. Quick overview of relevant slides from textbook materials: slides 30-40 from Chapter 15 powerpoint. Example file DbDemo.java could be useful here.
  2. Interactive minilab: implement a Java program that can access the wine database. Follow the instructions on the Using JDBC web page.
  3. Remainder of time is available to work on assignments RP1 and/or CC4.

Class 12

Exam 1

Class 11

Exam review notes: normalization-example.pdf

Class 10

Main topic for today: defining indexes and views.

Demos:

Most of the class session will be devoted to a lab on these topics: views-and-indexes-lab.docx.

Class 9

Main topic for today: SQL statements exists, union, intersect, except, insert into, delete from, update

Notes:

  1. insert, delete, and update are good examples of transactions. By default, in Postgres, any single statement will be treated as a transaction.
  2. This is a good time to start using a good editor that can autoformat your SQL. It will make your SQL much easier to read. VSCode has good SQL extensions. In DBeaver, use Format SQL (Ctrl+Shift+F).
  3. It’s also a good time to start commenting your SQL code. Lines beginning with two dashes (--) are treated as comments.

The class will consist of some demos of the above SQL statements followed by free lab time for working on homework assignments and asking questions. Example code: sql-examples.sql

Class 8

Main topic for today: database joins

Class 7

Most of this class will be devoted to an ungraded but required lab activity to learn about creating and altering database tables within DBeaver:

If you don’t have access to DBEaver, you can use Supabase—but many of the instructions will not apply directly, and you’ll need to figure out some of the techniques on your own.

Most of the class will be asynchronous as individuals work on the lab. Please post questions, suggestions, and advice on our Teams channel. There is also a Teams meeting on that channel. You can join the meeting any time to get real-time help from the instructor.

Class 6

Warmup exercise for functional dependencies and normalization:

Take the ungraded quiz on functional dependencies and normalization.

Main topic for today: converting ER model to relational model.

In the remaining time we will explore Zip code example, a classic example that cannot be put into BCNF.

Class 5

In the first few minutes of class, we will try to memorize the definitions on relations and keys covered last time. Then we will do the following ungraded quiz:

Main topic for today: database normalization

Class 4

Main topic for today: relations and keys.

Class 3

Preliminary discussion of the mathematical motion of a relation. Whiteboard notes provided: relation-overview.svg

Main topic for today: the EER model (enhanced ER model).

Class 2

Key concepts from chapters 1 and 2:

Main topic for today: the ER model.

SQL topics: select, from, distinct, as, where, and, between, in, like, is null. See 7.3.1.1.

Try to get DBeaver/Postgres working on your own machine. Supabase is a good alternative if you can’t get it working.

Class 1


Last modified: Mon Jun 02 19:33:17 UTC 2025 by jmac.