我目前正在使用MYSQL数据库InnoDB格式开发一个Web应用程序,需要一些关于我的首选项数据库设计的帮助。
基本上我需要一个偏好表来确定用户汽车品牌偏好。
宝马0或1 丰田0或1 本田0或1 梅赛德斯0或1 HOLDEN 0或1 FORD 0或1(0表示不喜欢,1表示喜欢)
我曾经将所有的回复存储在一个表中,但是当我添加新的汽车品牌时很难维护。所以我需要让它变得动态,所以当我添加更多汽车品牌时,我不必修改数据库列。
因此,我系统中的每个用户都有自己用户的汽车首选项配置文件。
所以我的新设计是拥有用户表,首选项表和UserPreference表
UserPreference table
providerId
preferenceId
response
我的问题是,一旦新用户注册,我如何填充数据库中的用户首选项配置文件行(默认全部为0)?
或者我应该像下面那样制作我的UserPreference表,这样我就不必填充用户首选项配置文件行了?并且只有当用户喜欢汽车品牌时才在用户首选项表中创建一行。
哪种方法更好?
UserPreference table
providerId
preferenceId
提前非常感谢!
答案 0 :(得分:1)
我认为第二种方法是最佳选择,只添加人们明确选择的偏好。这样,您可以假设在处理数据时所有内容都为0,除非表中存在首选项以显示其他内容。