I want to implement an "achievement" system of sorts into one of my projects. Similar to StackOverflow where if you do a certain thing or answer a certain number of questions etc you get a trophy that is linked with your user profile.
The membership section of my DB is completely empty so I'm open to ideas for how to go about this. My current thought is that I would have a user table (with all basic user info) and then an achievements table with a bit column for each achievement. But if I have say 40 achievements that means 40 columns in my table, and an amount of rows equivalent to the amount of users.
My boss is aiming in the next few years for a membership of 50,000 (unlikely where I live) so that's potentially 50000 rows and 30 columns. Is this an acceptable size for a table of little importance? I would only be selecting 1 row at a time however.
Also how would I handle achievments that require a count? For example "Answer 50 questions" and then get the achievement.
Btw, this is not a forum but I just used forums as an example for achievements.