Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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
Php mysql中的设计关系_Php_Mysql_Database_Database Design - Fatal编程技术网

Php mysql中的设计关系

Php mysql中的设计关系,php,mysql,database,database-design,Php,Mysql,Database,Database Design,我想设计一个应用程序,我们可以添加许多类别,每个类别可以有一个参数。我想为这个类别和她的参数创建一个新产品。关系 参数和类别是多对多(类别表、参数表) 类别“测试”参数: id | key | type | def_value | ============================== 1 | color | text | red ============================== 2 | serial| text | 0 等等 现在我想用这些参数创建一个新产品,所以我

我想设计一个应用程序,我们可以添加许多类别,每个类别可以有一个参数。我想为这个类别和她的参数创建一个新产品。关系 参数和类别是多对多(类别表、参数表)

类别“测试”参数:

id | key   | type | def_value |
==============================
 1 | color | text | red
==============================
 2 | serial| text | 0
等等

现在我想用这些参数创建一个新产品,所以我有一个问题。我应该简单地创建多对多,还是使用参数之类的记录创建新表?前,

测试1\u表->颜色、颜色等


products->parameter_id,value

由于关系是多对多关系,您必须使用关系中的外键列创建另一个表--- 提示:因为您将有一个名为category的表,并且每个类别都可以有参数,所以您应该使用外键创建另一个包含这些参数的表 范例

  • 表_类别-记录1:颜色

  • 表类别参数-记录 1:颜色,蓝色--记录2:颜色,绿色等


在本例中,外键是类别的主键('COLOR')

鉴于您将拥有多个类别的产品,多对多关系似乎是一个更好的主意。为了避免数据重复,我建议您有1个表用于产品,1个表用于类型,1个表用于产品/类型,这是一个1-n from products,1 products,n°VAL,每行是1-1,类型为