Skip to content

Instantly share code, notes, and snippets.

@mahkassem
Last active April 15, 2024 23:33
Show Gist options
  • Save mahkassem/e1709d84aac83fef000257d5273a1425 to your computer and use it in GitHub Desktop.
Save mahkassem/e1709d84aac83fef000257d5273a1425 to your computer and use it in GitHub Desktop.
Research Project: Comparing Document vs Relational Modeling

Research Project: Comparing Document vs Relational Modeling

This project focuses on solidifying your understanding of the document data model and relational model using MongoDB and MySQL.

Project Goals

  • Grasp the core concepts of document and relational data models. Evaluate the strengths and weaknesses of each model for a chosen use case.
  • Design sample schemas for the use case in both (MongoDB) and a relational database (MySQL).
  • Analyze the trade-offs in terms of data flexibility, querying complexity, and scalability for each approach.

Project Steps

  • Choose a Use Case: Select a real-world scenario or a fictional application that requires data storage. Examples: E-commerce product catalog, social media platform user data, library book management system.

  • Document Data Model Analysis: Research and define the document data model for the chosen use case.

    • Identify relevant entities and their attributes.
    • Explore how nested documents and arrays can represent complex relationships within documents.
    • Consider the flexibility of schema design in MongoDB.
  • Relational Data Model Design: Design a relational database schema for the same use case.

    • Define tables and their relationships using foreign keys.
    • Analyze how data normalization principles apply.
    • Consider the potential need for joins in queries.
  • Comparison and Analysis: Compare the document and relational models you created.

    • Evaluate how each model handles data complexity and growth.
    • Discuss query efficiency and potential challenges in each approach.
    • Analyze the scalability of both models for the chosen use case.

Deliverables

  • A report outlining the chosen use case, document data model design, relational data model design, and a comparative analysis highlighting the strengths and weaknesses of each approach.
  • Optional: Code snippets demonstrating sample queries in both MongoDB and the chosen relational database management system.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment