Designing a Database for an Online Athletic Shoes Business

What entities would a database for this business need to include?

What are some business rules that would apply to these entities, and how would they be reflected in the database design?

What are the stages in developing a data model for a database design? What new information and refinements are added to the model at each stage?

Designing a database for an online athletic shoes business involves mapping out entities of customers, products, manufacturers, transactions, and running styles. Business rules, such as transaction relationships, are reflected in database relationships. Database design unfolds in a three-step process: Conceptual (identifying entities/relationships), Logical (specifying attributes), and Physical (adding data storage/retrieval specifics).

In designing a database for an e-commerce business that sells athletic shoes, the essential entities would include Customer, Shoe, Manufacturer, Transaction, and RunType (representing different styles and distances of running). For business rules, an example might be 'A customer buys one or more shoes in a single transaction', reflected by a relationship in the database linking the Customer and Shoe entities via the Transaction entity. Developing a data model typically unfolds in three stages: Conceptual, Logical, and Physical. In the Conceptual stage, you identify important entities and relationships but do not specify attributes. Then, during the Logical stage, you specify the attributes of the entities and further refine relationships. Lastly, the Physical stage adds specifics of data storage and retrieval, refining the model further based upon technology and performance considerations.

← Python vs java a reflective comparison Yaml vs json understanding the key differences →