HW6: Design for NoSQL
Due: Monday, Dec 2nd
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:
-
Project title and team name
-
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
and12 tables
).
Important
If your
schema.dbml
and/orschema.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 yourjson-model.md
andschema.png
files. -
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.
- Create a section (using
Submission¶
Your database design will be reviewed only by the instructor. Commit your final changes to the repository before the due date.