Skip to content

HW6: Design for NoSQL

Due: Monday, Dec 2nd

JSON logo
Image source: uoregon.edu

Objectives

  • Convert a relational database model to a document database model.
  • Discuss trade-offs when combining multiple entities into a document.

Instructions

This final homework is a group assignment. The basic idea is to redesign your project database in JSON format. Such a design would enable you (in the future) to use MongoDB or another document-oriented database for your project.

Create a file named json-model.md in the database folder of your git repository. Copy and paste the prof's example as a starting point for your solution. Your markdown document must have the following content:

  1. Project title and team name

  2. Relational mapping section

    • A bulleted list of the collections you designed and corresponding tables in the relational model.
    • Be sure to update the numbers at the top of this section (Ex: 4 collections and 12 tables).

    Important

    If your schema.dbml and/or schema.png files are out of date, you must update these files during HW6. Make sure your final diagram reflects what is in your build scripts. When grading, we will compare your json-model.md and schema.png files.

  3. For each collection:

    • Create a section (using ##) with the collection's name.
    • Write a short paragraph that explains the design and any decisions or assumptions that you made.
    • Include a code block (using ```) with a JSON-like outline that shows the structure of a single document in the collection.
      • The outline must include all attribute names and a sample data item for each attribute.
      • Please format the outline neatly, with one attribute per line and consistent indenting.
    • Use correct syntax:
      • {} means "object" and must be a comma-separated list of key-value pairs.
      • [] means "array" and must be a comma-separated list of values / objects.

Submission

Your database design will be reviewed only by the instructor. Commit your final changes to the repository before the due date.