Transaction Table in Personal Finance App

relational-theory

I'm a noob designing a Personal Finance App to teach myself Rails. This is just for learning purposes, but I actually intend to use it to replace my current system in Google Spreadsheets. I want to apply best practice.

I created a transactions table with the following columns:

user_id: integer
type: string (income or expense)

date: date
account_group_id: integer
account_id: integer
amount: integer
(my currency does not need decimals)
comment: string

Now, the way is this designed, all users' transactions would be recorded on the same table. Is this a good idea?

Or should I create a different transactions table for each user?

Does it matter if I do it either way?

Best Answer

My first advice would be to check out a few Open Source projects on the same topic.

Adapt and adopt the concepts you like - pick and choose ideas. No point reinventing the wheel! :-) I appreciate that you want to learn, but translating code from [PHP | Python | Perl | Whatever] could also be a beneficial learning experience! And you might even gain tips and tricks from more experienced programmers!