Lab 1: Database Schema Exploration

The goal of this lab is to think about how databases support application development (e.g., websites), and to practice describing a database schema. Completing this lab will help with Homework 1.

You are required to work with a partner.

Steps

  1. Choose a sufficiently complicated website to analyze. Either choose a website that allows users to log in, or has some other form of interactivity. For example:
    • Social media (e.g., Twitter, Reddit, etc., but not Facebook, since we discussed it in class)
    • Ecommerce website (e.g., Amazon, eBay, etc.)
    • Recipe website with reviews
    • Workout tracking website
  2. Take screenshots of several pages on the website which you think are populated by data from a database.
  3. Circle at least 10 different page elements which you think are populated by queries to a database.
    • For example, for Facebook you might take circle your name, your birthday, etc.
    • If you can’t find 10 different elements from a database, take more screenshots, or choose a different website.
  4. Design a database schema to hold these page elements. Your schema should be formatted as tables, similar to the example below.
    • For lab, it is optional to include example data. For Homework 1, you will include example data.
  5. Try to find out what kind of database(s) the website uses by searching online.

Note: Refer to these instructions for taking screenshots on macOS and on Windows.

Submit

Upload a PDF containing:

  1. Your names
  2. The URL of the website you choose
  3. The annotated screenshots of the website
  4. A database schema based on the page elements you identified
  5. Any information you found about the kind of database used by the website

This will only be graded for completion, as part of your attendance and participation grade.

Example Schema

Users

ID Name Email Password Birthday Phone Number Relationship

Status Updates

Timestamp User ID Text

Friendship

User ID 1 User ID 2