Data Model - Initial Draft
Step 1 of my project is the crux of my app: the data model. This blog will cover a few key questions:
What is a data model?
Why do I need one?
What will my data model look like?
The Hackbright instructors calmly reassure us that there will be lots of revisions to our data model as our project progresses. Yay.
1. What is a data model?
It is an easy-to-understand visual representation of a complex software system. Here's an example:
The boxes represent different classes of data and the arrows indicate the type of relationship between the data. Imagine a website where users can comment on books. We will need a way to store the data about each book, each user and the comments made. So where do we start? We'll need to consider the relationships between the types of data stored. A user can make many comments and a book can have many comments. The book and the user don't have an actual relationship. The diagram above doesn't show an arrow from the Book to User table for that very reason. It is the comment that links the user and the book.
We also need to consider the balance between efficient systems and eliminating repetitive information. By mitigating redundancies when working with tables, we save valuable computer memory.
2. Why do I need one?
A data model will help me map out how the data in my app will flow. It's a blueprint.
3. What will the data model specific to my project look like?
Here's my initial draft: