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 collectionsand12 tables).
Important
If your
schema.dbmland/orschema.pngfiles 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.mdandschema.pngfiles. -
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.