dimanche 1 juin 2014

Database structure suggestion (serialization or separate table)


Vote count:

0




I am currently making a database, and truth to be told I'm not exactly very good at it (kinda being forced to do it). Its a game database, and I have a table called game_table that I use for storing game sessions that users create.


The question is, what is the best way to store a list of invited users, requested users, confirmed users, declined users and pending users? Currently I am serializing the user IDs (e.g. invited users = "11235|2510|34630|45715|64530"). However, the main problem is that the field becomes not searchable, and it becomes a problem if I want to retrieve a list of games that a user is invited to. To solve that problem, I store a separate field in the user_table for invited_games (also serialized game IDs).


The problem with that, is that it is getting hard to maintain whenever I want to add new features, and it is too easy to make mistakes with keeping the serialized data in sync. Is it better to have separate tables like:


invited_users_table


Game_ID | User_ID


51 | 5193


51 | 10458


51 | 235


901 | 1536


901 | 4573


Or is there some other better way of storing these types of data? Please help, and thanks!



asked 36 secs ago






Aucun commentaire:

Enregistrer un commentaire