Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.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
Mysql 设计复杂的SQL结构_Mysql_Sql_Database_Data Structures - Fatal编程技术网

Mysql 设计复杂的SQL结构

Mysql 设计复杂的SQL结构,mysql,sql,database,data-structures,Mysql,Sql,Database,Data Structures,我必须设计一个非常复杂的SQL结构 我正在制作一个产品分配面板,在那里你可以从一家公司订购电子烟液 每种液体都有自己的体积,尼古丁毫克,名称和品牌。 我想使管理面板易于使用。管理员只需添加带有名称和品牌的产品,然后添加容量和功率(尼古丁) 我在考虑用产品(品牌和名称)做一个主桌,然后用体积和功率做一个主桌,但这真的是个坏主意,当我想到它的时候。。。同样,在表格中列一列表示功率,然后将一组功率设为字符串,如10mg、20mg、18mg,这将是一个错误 我应该如何做到这一点?根据新的要求,我认为最好

我必须设计一个非常复杂的SQL结构

我正在制作一个产品分配面板,在那里你可以从一家公司订购电子烟液

每种液体都有自己的体积,尼古丁毫克,名称和品牌。 我想使管理面板易于使用。管理员只需添加带有名称和品牌的产品,然后添加容量和功率(尼古丁)

我在考虑用产品(品牌和名称)做一个主桌,然后用体积和功率做一个主桌,但这真的是个坏主意,当我想到它的时候。。。同样,在表格中列一列表示功率,然后将一组功率设为字符串,如10mg、20mg、18mg,这将是一个错误


我应该如何做到这一点?

根据新的要求,我认为最好有如图所示的db模式

您有
产品
表格和
功率
尼古丁
表格。 如果
product
表中的产品有体积、功率或尼古丁,则在相应的表中有一条带有相关产品id的记录


一个品牌可能有许多产品,每种产品可能有或没有尼古丁、功率或体积特性。例如,如果产品具有
尼古丁
属性,则在
尼古丁
表中有一条带有此
产品id
的记录。如果不是,则
尼古丁
表将不包含具有此
产品id的记录
。同样的规则也适用于
powers
volumes

嗯,我只喜欢5个品牌,但每个品牌都有几十个产品,这是否仍然是一个良好的结构?你将来是否可能会添加新品牌?如果我只做一个带有品牌名称、产品id、尼古丁和容量的表格,情况会更糟吗?是的,实际上,最多会有5到6个品牌,这会更糟,因为你需要为表中的每个产品复制品牌名称。