【问题标题】:Split single table to many-to-many relationship将单个表拆分为多对多关系
【发布时间】:2013-03-23 13:36:54
【问题描述】:

我有一个如下所示的表格:

我想将其拆分为 3 个具有 PK-FK 关系的不同表。本质上一个省可以有很多州,一个州可以有很多市。如果可能的话,使用 SQL 查询一次性完成此操作的最佳方法是什么?或者使用 phpmyadmin 之类的工具。

【问题讨论】:

    标签: mysql database-design phpmyadmin many-to-many database-normalization


    【解决方案1】:

    省表:

    Province_ID (PK)
    Province_Name
    

    状态表:

    State_ID (PK)
    State_Name
    Province_ID (FK)
    AreaCode
    

    花旗表:

    Citi_ID (PK)
    Citi_Name
    State_ID (FK)
    Citi_Code
    

    我认为没有任何工具可以帮助您自动规范化此表。因此,您必须通过代码创建这些表,然后使用 sql 查询将值插入其中

    【讨论】:

    • 你能至少给我一个例子,一旦我在查询上设置了表格来填充内容?
    • 设置省表非常简单。但不确定第二张桌子。
    • 表结构就像我在回答中描述的那样。关于查询,可以参考stackoverflow.com/questions/9285551/…
    【解决方案2】:

    您可以按如下方式对其进行分区:

    Prov Table with Prov_ID as PK.

    State Table with State_ID as PK and Prov_ID as FK

    City Table with City_ID as PK and State_ID as FK and Prov_ID as FK

    【讨论】:

      猜你喜欢
      • 2016-01-14
      • 2019-04-23
      • 1970-01-01
      • 2019-01-05
      • 1970-01-01
      • 2014-06-04
      • 1970-01-01
      • 2017-01-23
      • 2013-08-22
      相关资源
      最近更新 更多