Lab 6: Data Modeling

Overview

In this lab, you will familiarize yourself with the process of creating Entity Relationship diagrams and data models.

Materials

References

Description

Your local grocery store would like your help in creating an online grocery shopping web application. The owner of the store will be able to list items for sale, where the items have a name, price, description, quantity available, and a manufacturer. Customers will be able to go to the site and register to create an account, entering in their name, address, and phone number. Once registered, customers will be able to start an order for pickup or delivery. The customer can select from the food items the store has for sale. When an item is selected, the customer will note the quantity desired, any special instructions, and if this item can be substituted if the store is out of stock. Finally, when the customer finalizes their order, they will be able to choose a time and date for their order to be fulfilled. Finalized orders can no longer be changed by the customer.

Entity-Relationship Diagrams

Draw an Entity-Relationship Diagram in LucidChart for the entities and relationships present in the above description. Your diagram needs to have at least three distinct entities involved in relationships, fully connected with the proper cardinality using the crows-feet Information Engineering style relationships noted above. Each entity should have attributes.

Schema

Sketch the above entities and relationships as an SQL Schema in Vertabelo, denoting all primary and foreign key relations. Export your schema as a PNG.

What to Hand In

Write a post on your Jekyll Github blog that discusses the assumptions you made to convert your scenario into this data modeling framework. Include with your post a discussion of the PNG exports of your Draw.io ER diagram and Vertabelo schema. Are you satisfied with your resulting data representation? What are some complications that you could encounter implementing this model?

To Partially Complete this lab, you must

  • include at least two entities with relationships in both formats.
  • write a detailed reflection post.

To Complete this lab, you must do the above and

  • include at least three entities with fully justified relationships between them in both formats.
  • have working image links in your reflection post.
  • write a detailed reflection post.