I’m trying to figure out how to structure this data for a very simple budget tracking app. Was hoping someone here could give suggestions as I’m still trying to wrap my head around data types and how to use them in the most effective and efficient way.
The goals:
Allow users to create their own “Budgets” (Example: Groceries, Gas, Restaurants, etc)
Each budget will have (a) Total Budget Allowed, and (b) what I’m referring to as “Entries” which are transactions that they will log to each budget which will add up in a total amount that they can then compare against the Total Budget Allowed
Create an option set called Category that u will use as categories for the different budget expenditures. Dont worry about the many different categories now. Just two is enough… so let’s say Groceries & Bill’s for now.
Create a Datatype called budget
Create a DataField NAME and choose text as the type of data
Create another called Category and choose the Category option set as the type of data now.
Create another called amount and choose a number/integer as the datatype
Create Quantity and choose number as the datatype again
Create Total Amount. Again choose number as the datatype
Create another called Description/ Note, choosing text as the datatype
What do you mean by Total Budget Allowed? Can you explain further?
Seems like you’re making an awesome app! There’s a lot of ways to structure your database. The information you provided is a bit limited so we won’t be able to provide the most optimized schema
But for starters, with your use case, you could settle with having a budget datatype with fields like:
budget name
total budget allowed
If you think the “entries” will exceed 100 things, you could create a new entries data type instead of making it as a list of entries in budget.
The entries data type could have these fields:
transaction date (although you could simply use creation date for this)
amount
status
budget
To search for entries of a budget, you can simply search for entries where budget = budget
Again, there’s a lot of ways to go about this. You could also do @gabrielamanfogyimahh’s example, no one can be wrong here. It’s simply a matter of which schema is more optimized for a specific use case and at scale
I’d suggest you try checking out @jj11’s upcoming database course. It’s arguably the best upcoming database course out there.
P.S. Thanks again @jj11 for the holiday gift haha!