Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 需要有关首选项表数据库设计的帮助吗_Database_Database Design - Fatal编程技术网

Database 需要有关首选项表数据库设计的帮助吗

Database 需要有关首选项表数据库设计的帮助吗,database,database-design,Database,Database Design,我目前正在开发一个使用MYSQL数据库InnoDB格式的web应用程序,需要一些关于首选数据库设计的帮助 基本上,我需要有一个偏好表来确定用户的汽车品牌偏好 宝马0或1 丰田0或1 本田0或1 梅赛德斯0或1 霍尔顿0或1 福特0或1(0表示不喜欢,1表示喜欢) 我曾经把所有的回答都存储在一个表中,但当我添加新车品牌时,很难维护。因此,我需要使其动态化,以便在添加更多汽车品牌时不必修改数据库列 因此,我的系统中的每个用户都有自己的用户汽车偏好配置文件 因此,我的新设计有一个用户表、首选项表和一个

我目前正在开发一个使用MYSQL数据库InnoDB格式的web应用程序,需要一些关于首选数据库设计的帮助

基本上,我需要有一个偏好表来确定用户的汽车品牌偏好

宝马0或1 丰田0或1 本田0或1 梅赛德斯0或1 霍尔顿0或1 福特0或1(0表示不喜欢,1表示喜欢)

我曾经把所有的回答都存储在一个表中,但当我添加新车品牌时,很难维护。因此,我需要使其动态化,以便在添加更多汽车品牌时不必修改数据库列

因此,我的系统中的每个用户都有自己的用户汽车偏好配置文件

因此,我的新设计有一个用户表、首选项表和一个用户首选项表

UserPreference table

providerId
preferenceId
response
我的问题是,新用户注册后,如何填充数据库中的用户首选项配置文件行(默认值为0)

或者我应该像下面那样创建UserPreference表,这样我就不必填充用户首选项配置文件行了?当用户喜欢某个汽车品牌时,只在用户偏好表中创建一行

哪种方法更好

UserPreference table

    providerId
    preferenceId

非常感谢

我认为第二种方法是最好的选择,只添加人们明确选择的偏好。这样,在处理数据时,您可以假设所有内容都是0,除非表中存在要显示其他内容的首选项。

我认为第二种方法是最好的选择,只添加人们明确选择的首选项。这样,在处理数据时,您可以假设所有内容都是0,除非表中存在要显示其他内容的首选项