Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.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和phpMyAdmin创建三方关系_Mysql_Phpmyadmin - Fatal编程技术网

MySQL和phpMyAdmin创建三方关系

MySQL和phpMyAdmin创建三方关系,mysql,phpmyadmin,Mysql,Phpmyadmin,我正在尝试创建一个相当复杂的数据库,我的电子表格具有以下结构: Colour Dashboard --------------------- Porche | Red 1 | Green 2 | 3 |-------------------- Toyota | Blue 2 | Red | Orange

我正在尝试创建一个相当复杂的数据库,我的电子表格具有以下结构:

          Colour   Dashboard 
        ---------------------
Porche  |  Red      1
        |  Green    2
        |           3
        |--------------------
Toyota  |  Blue     2
        |  Red
        |  Orange
        |--------------------
Ferrari |  Green    3
        |  Orange
        |
我很难理解如何创建链接表来反映这种结构

对于每一个“品牌”,用户必须从一些特定的“定制选项”中为汽车的各个“方面”选择。我希望能够为每个“方面”定义哪些“定制选项”,因为并非所有品牌都可以从相同的选项中选择

对于这种情况,我最好如何构建数据库


谢谢,C

创建一个仪表板表,其中包含字段
仪表板编号、汽车、颜色
。您可以在展示选项时将其用作参考。

我会这样做:

  • 汽车(名称PK)
  • 颜色(名称PK)
  • 仪表板(Id-PK)
  • 汽车颜色(汽车名称FK(Cars.Name)、颜色名称FK(Colors.Name))
    与复合主键(汽车名称、颜色名称)
  • 汽车仪表板(汽车名称FK(Cars.Name)、仪表板Id FK(Dashboards.Id))
    带有复合主键(汽车名称、仪表板Id)

有关更完整的描述,请参阅@lc.的答案。现在尝试一下,我不知道复合PK是可能的。谢谢@CaiusEugene您可以始终使用代理键(如自动增量),但除了每行中增加一个整数和自己添加唯一约束的开销之外,我看不出还有什么好处。