【问题标题】:How to structure database, multiple foreign keys?如何构建数据库,多个外键?
【发布时间】:2017-03-07 01:16:25
【问题描述】:

我觉得这可能是一个独特的问题,但希望有人遇到过类似的情况。

我的应用程序使用这个数据库表:

DT table

问题在于 Field1 - 9。
根据用户决定如何设置他们的应用程序实例,可以使用任意数量的字段(从 0 到 9)。这些信息保存在此表中:

Field Table

所以对于这个例子,只有两个字段。并且当为 DT 表创建记录时,字段 1 和 2 将输入数据,并且所有其他字段列将为 NULL。显然这不是一个好的做法,因为如果将来更改了字段名称,那么以前的所有数据都没有意义。

我一直在想办法以不同的方式构建它。我所能想到的就是,当创建 DT 记录时,它会以某种方式保存已使用字段的外键,但似乎在一列中不可能有多个外键。

任何帮助或建议将不胜感激。

【问题讨论】:

    标签: sql database database-design foreign-keys relational-database


    【解决方案1】:

    对此进行规范化的一种方法是将重复字段分解到一个单独的表中,其中每个字段都有一个条目,其中 DT_id 作为 DT 表的外键。

    DT 表
    身份证
    开始
    结束
    ...

    DT_field 表
    身份证
    DT_id (外键)
    价值

    【讨论】:

      猜你喜欢
      • 2017-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-21
      相关资源
      最近更新 更多