如何构建数据库,多个外键?
Posted
技术标签:
【中文标题】如何构建数据库,多个外键?【英文标题】: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 记录时,它会以某种方式保存已使用字段的外键,但似乎在一列中不可能有多个外键。
任何帮助或建议将不胜感激。
【问题讨论】:
【参考方案1】:对此进行规范化的一种方法是将重复字段分解到一个单独的表中,其中每个字段都有一个条目,其中 DT_id 作为 DT 表的外键。
DT 表: 身份证 开始 结束 ...
DT_field 表: 身份证 DT_id (外键) 价值
【讨论】:
以上是关于如何构建数据库,多个外键?的主要内容,如果未能解决你的问题,请参考以下文章