我想问在数据库中保存用户偏好和用户特定设置的正确方法是什么?我目前设置的是在我的用户表中,我只是不断添加包含相关数据的列。例如,个人资料是公开的还是私人的,或者用户是否可以向他们发送个人资料评论等。但是这种方式看起来很混乱,桌子看起来很糟糕。困扰我的是,这可能不是正确的做法,是吗?
问问题
63 次
1 回答
1
尝试制作一个设置表,然后是一个“用户到设置”表。Settings 包含(例如)setting_id
和setting_name
所有可能的设置,users to settings
则将具有三个字段user_id
:setting_id
和setting_value
。
https://en.wikipedia.org/wiki/Database_normalization
SELECT * FROM settings JOIN users_to_settings WHERE users_to_settings.user_id = :user_id
setting_name | user_id | setting_value
--------------------------------------
Private | 01 | true
Color | 01 | blue
Rec. Newsletr| 01 | false
于 2013-08-12T17:48:14.160 回答