我觉得这可能是一个独特的问题,但希望有人遇到类似情况。
我的应用程序使用此数据库表:
问题在于Field1 - 9.
根据用户决定如何设置应用程序实例,可以使用任意数量的字段(从0到9)。这些信息保存在本表中:
因此,对于此示例,只有两个字段。当为DT表创建记录时,字段1和2将输入数据,所有其他字段列将为NULL。显然这不是一个好的做法,因为如果一个字段名称在将来被更改,所有以前的数据都没有意义。
我一直试图想出一种以不同方式构建它的方法。我能想到的就是以某种方式创建DT记录时,它会将外键保存到所使用的字段中,但似乎在一列中不可能有多个外键。
非常感谢任何帮助或建议。
答案 0 :(得分:0)
规范化这种方法的一种方法是将重复字段分解为单独的表,其中每个字段有一个条目,DT_id作为DT表的外键。
DT表:
ID
启动
结束
...
DT_field表:
ID
DT_id (外键)
值