1. Homepage
  2. Programming
  3. FIT3176 Individual Assignment 1: NoSQL database design - Document-Oriented

FIT3176 Individual Assignment 1: NoSQL database design - Document-Oriented

Engage in a Conversation
MonashFIT3176Advanced database designNoSQL database design - Document-OrientedMongoDBNoSQLPython

FIT3176 Advanced database design - S2 2023 Assignment 1: NoSQL database design - Document-Oriented [MongoDB]
CourseNana.COM

FIT3176 Individual Assignment - Sem 2/2023 (Weight: 40%)  CourseNana.COM

The assignment is divided into THREE main tasks: CourseNana.COM

A. Data Modelling – Monash Travel Agency (MTA) B. CRUD – Monash Nature Club (MNC) CourseNana.COM

B.1. Modifying the Database CourseNana.COM

B.2. Querying the Database
C. Charts and Drivers – Monash Nature Club (MNC)
CourseNana.COM

A. Data Modelling – Monash Travel Agency (MTA) - 12% CourseNana.COM

Case Study CourseNana.COM

Monash Travel Agency (MTA), headquartered near Monash University Clayton Campus, is a new and popular travel initiative from Monash University. MTA offers a wide range of travel services, including transportations, hotel reservations, activity itineraries, and more for Monash Staff and Students required to travel domestic and international locations. However, with the recent increase in travel MTA is facing challenges in managing their operations efficiently due to the use of relational database management systems which is hindered by fixed data structures, manual processes, and long query processing times. As a result, to maintain their competitive advantage in the travel business and provide better customer experience, MTA has recognized the need for MongoDB, a modern NoSQL database solution. CourseNana.COM

The data required to be stored in MTA’s MongoDB comes from their use case detailed below:
MTA allows booking to be made by customers and managed by agents. The agency has a fixed set of itineraries (e.g. travel to Malaysia Campus and Explore Perth on the way) which customers are able to book for particular dates throughout the year.
CourseNana.COM

Itineraries contain details of accommodations, activities, transportations and travel dates. Accommodations are usually a fixed set of hotels for each location specific to the itinerary. Itineraries have a fixed set of activities to happen between a fixed number of days (e.g. Explore Malaysia for 7 days). CourseNana.COM

Transportations can be by car, flights, ships etc and each transportations has its own set of features and the details of the Transportations may change for each activity depending on availability.
Agents are also responsible for managing the finance side of the agency where they have to determine the monthly profit/loss of the agency by analysing all bookings and
CourseNana.COM

forecasting which itineraries are profitable to keep and which to remove due unpopularity or additional expenses.
CourseNana.COM

Given the above data requirements, create a Data Model Diagram for a MongoDB Database which can efficiently store the data required by Monash Travel Agency (MTA). CourseNana.COM

As part of the data model you are required to create at least one collection(s) / index(or indices) in the MongoDB database (named <your_atuthcate>_MTA) using the data provided in appendix A. Then, using MongoDB Compass provide screenshots of all created collection(s), index(/indices) and at least one document(s). Note each collection and index should be given relevant names (and are not required to include your authcate). CourseNana.COM

Task Outputs CourseNana.COM

1. Data Model Diagram
2. Screenshot of all created collection(s), document(s) and CourseNana.COM

index(/indices) with each screenshot clearly displaying: CourseNana.COM

Software to be use CourseNana.COM

MongoDB Compass/Atlas CourseNana.COM

Restrictions CourseNana.COM

Screenshots should not be taken from MongoDB Shell CourseNana.COM

Output files to use CourseNana.COM

<your authcate>_task_A.js CourseNana.COM

code added for creating the collection(s), document(s) and index(/indices) CourseNana.COM

<your authcate>_FIT3176_Assignment_1.gdoc Code and screenshot of collection(s), document(s) and index(/indices) CourseNana.COM

B. CRUD – Monash Nature Club (MNC) -14%
CourseNana.COM

Monash Nature Club (MNC) is recently studying the parks and different wildlife habitats across the United States in hopes of finding any links between the parks and wildlife of Australia. CourseNana.COM

The club has hired your team of Advanced Database Experts to use the following sample data files to help with the parks and wildlife analysis: CourseNana.COM

● wildlife.json ● parks.csv CourseNana.COM

Note: These data are raw data that does not follow any particular schema. For more information about the fields/columns in the data please refer to Appendix C. CourseNana.COM

For the analysis MAC has asked your team to perform the following tasks: CourseNana.COM

B.1. Loading and Modifying the Database - 7% CourseNana.COM

Create a MongoDB database named using the format: <your_atuthcate>_MNC Load the wildlife.json and parks.csv files using MongoDB Atlas/Compass into the newly created MongoDB database after creating one collection called parks and another collection called wildlife. CourseNana.COM

Using the newly created collections and one command for each subquestion (e.g. B1.1.) below perform the following modifications: CourseNana.COM

  1. B.1.1.  for each document in the wildlife collection, modify the common names by converting the comma separated values to array elements. CourseNana.COM

  2. B.1.2.  modify each document in the wildlife collection, to add a new field called ts with the time each document was created. CourseNana.COM

<your authcate>_Assignment_1.pdf CourseNana.COM

Code and screenshot of collection(s), document(s) and index(/indices) CourseNana.COM

Note: you will need to find out first when each record in the document was CourseNana.COM

created, not when they were inserted into the database e.g. try to find any CourseNana.COM

field that indicates the creation date. CourseNana.COM

B.1.3.  modify the parks collection to combine the date data (from parkEstDay, parkEstMonth and parkEstYear) to dateEst a date data type storing the combined year, month and data. Afterwards, remove the fields for year, month and day.
CourseNana.COM

  1. Note: For the date data other than day, month and year, the remaining components of the time can be taken as any value. CourseNana.COM

  2. B.1.4.  combine the data for parks into the wildlife collection and store the output in the wildlife collection, replacing the previous data in the wildlife collection. In the updated wildlife collection the park details should reside inside an array and should not contain a separate _id field. CourseNana.COM

  3. B.1.5.  Modify the database to ensure that all new data contains no new values (allowing only values already in the database) for recordStatus, occurrence, nativeness and abundance. Demonstrate the new modification is working by incorrectly adding new data to the wildlife collection. CourseNana.COM

    B.2. Querying the Database - 7% CourseNana.COM

    For each question, use one aggregation query to answer using the resulting collection from B.1. Unless stated otherwise the queries must not add/remove/modify fields in the database.
    Note: Marks for this section depend on the query efficiency e.g. the processing speed, the storage, the number of queries used etc. CourseNana.COM

    Therefore, using too many queries/indices to answer a section or using temporary variables (such as const, var etc), collections, for each loop may incur mark penalties. CourseNana.COM

    For each question in this section you are expected to:
    use your own judgement when it comes to query efficiency provide justification for each index (if any are created) include query execution plans from MongoDB compass
    CourseNana.COM

B.2.1. What was the total number of parks established each year? The output should be ordered by highest to lowest year and display the distinct year and number of parks established. CourseNana.COM

Note: you will need to first check what are the existing categories/values for CourseNana.COM

recordStatus, occurrence, nativeness and abundance, and then ensue if new CourseNana.COM

data is entered it only contains values from the existing categories CourseNana.COM

B.2.2. What was the average number of Bird category species in each park? The output should display the distinct park name and the average number of Birds.
CourseNana.COM

B.2.3. List all parks within 25 km and 400km of the park with the most Uncommon seasonality abundance species. The list should not show duplicate park names. (if required for this query only the collection can be modified). CourseNana.COM

  1. B.2.4.  Display the species with the most common names that belong to the same category. CourseNana.COM

  2. B.2.5.  Display the total number of distinct categories, orders and families in each park for all species with common names starting with the letter “a”. The output should display the distinct category, order and family names and the count rounded to 2 decimal places. CourseNana.COM

The output should display the species id, the category and number CourseNana.COM

of common names. distinct park name and the average number of Birds. CourseNana.COM

Task Inputs CourseNana.COM

The data for this task is contained in the following files: (i) wildlife.json
(ii) parks.csv
CourseNana.COM

Task Outputs CourseNana.COM

Screenshots for each question
B.1.From MongoDB Compass/Atlas at least one screenshot of the modified document before modifications were made and at least one screenshot after modifications were made, with each screenshot clearly displaying:
CourseNana.COM

C. Charts and Drivers - 14% CourseNana.COM

C.1. MongoDB Charts - 6% CourseNana.COM

Create a MongoDB Charts dashboard named <your authcate>_Assignment1 CourseNana.COM

For each question in task B.2. Querying the Database, create a mongoDB charts visualisation to visualise the results. You may use your own judgement with appropriate justifications provided in the report when selecting the type of chart to clearly display your findings. CourseNana.COM

C.2. MongoDB Driver - 4% CourseNana.COM

Create a runnable python script using the pymongo driver to display the result of each question in task B.2 and save it named <your authcate>_task_C2.py (must not be a Jupyter notebook file) CourseNana.COM

Your script should:
be executable using the terminal and command prompt, contain adequate comments
CourseNana.COM

output the query description and query results on the terminal and command prompt when run.
CourseNana.COM

Task Inputs CourseNana.COM

The data for this task is contained in the following files: (i) wildlife.json
(ii) parks.csv
CourseNana.COM

Task Outputs CourseNana.COM

Screenshots for each question
Screenshots for C.1 from MongoDB Atlas clearly displaying:
CourseNana.COM

Software to be use CourseNana.COM

MongoDB Atlas for Charts Screenshots. CourseNana.COM

A software that can run scripts such as Python script commands (e.g. VS Code etc.). CourseNana.COM

Output files to use CourseNana.COM

<your authcate>_task_C.py CourseNana.COM

Code added for each sub question CourseNana.COM

<your authcate>_FIT3176_Assignment_1.gdoc Code and screenshot for each sub question CourseNana.COM

<your authcate>_Assignment_1.pdf CourseNana.COM

Code and screenshot for each sub question CourseNana.COM

C.3. Attention to Detail - 4% CourseNana.COM

Less than 4 updates on different days in google doc -4% OR Incorrect numbers of files/Incorrect file types -4% CourseNana.COM

OR Inconsistent data in screenshots and/or code between files -4%
CourseNana.COM

D. General Information and Submission Checklist CourseNana.COM

o Submission method: Submission is online through Moodle.
o
Penalty for late submission: 10% deduction for each day (including CourseNana.COM

weekends).
o
Assignment Cover Sheet: You will need to sign and attach the assignment CourseNana.COM

cover sheet as part of the pdf file.
o Please carefully read the requirements for EACH section, especially the Task
CourseNana.COM

Outputs and Restrictions.
o You will be required to regularly upload your work to Google Docs (for tracking
CourseNana.COM

the history of your work) CourseNana.COM

  1. D.1.  One combined pdf file containing all tasks mentioned above and named <your authcate>_Assignment_1.pdf CourseNana.COM

    The pdf file should contain: CourseNana.COM

    1. Cover page CourseNana.COM

    2. A signed cover sheet CourseNana.COM

    3. A report that combines all the tasks (including explanations, code and screenshots) CourseNana.COM

    Note: It is expected that this PDF document is quite large due to incorporating the above components. Please note that the report readability also contributes to your assignment mark. CourseNana.COM

  2. D.2.  Two executable javascript files for Task A and B CourseNana.COM

    Note: All of the above files must be runnable in MongoDBShell.
    You should also clearly indicate each task using comments and follow appropriate naming conventions e.g. as specified in the
    MongoDB documentations. CourseNana.COM

Get in Touch with Our Experts

WeChat (微信) WeChat (微信)
Whatsapp WhatsApp
Monash代写,FIT3176代写,Advanced database design代写,NoSQL database design - Document-Oriented代写,MongoDB代写,NoSQL代写,Python代写,Monash代编,FIT3176代编,Advanced database design代编,NoSQL database design - Document-Oriented代编,MongoDB代编,NoSQL代编,Python代编,Monash代考,FIT3176代考,Advanced database design代考,NoSQL database design - Document-Oriented代考,MongoDB代考,NoSQL代考,Python代考,Monashhelp,FIT3176help,Advanced database designhelp,NoSQL database design - Document-Orientedhelp,MongoDBhelp,NoSQLhelp,Pythonhelp,Monash作业代写,FIT3176作业代写,Advanced database design作业代写,NoSQL database design - Document-Oriented作业代写,MongoDB作业代写,NoSQL作业代写,Python作业代写,Monash编程代写,FIT3176编程代写,Advanced database design编程代写,NoSQL database design - Document-Oriented编程代写,MongoDB编程代写,NoSQL编程代写,Python编程代写,Monashprogramming help,FIT3176programming help,Advanced database designprogramming help,NoSQL database design - Document-Orientedprogramming help,MongoDBprogramming help,NoSQLprogramming help,Pythonprogramming help,Monashassignment help,FIT3176assignment help,Advanced database designassignment help,NoSQL database design - Document-Orientedassignment help,MongoDBassignment help,NoSQLassignment help,Pythonassignment help,Monashsolution,FIT3176solution,Advanced database designsolution,NoSQL database design - Document-Orientedsolution,MongoDBsolution,NoSQLsolution,Pythonsolution,