压缩同一数据的几列的最佳方法?

时间:2019-07-10 07:59:40

标签: database ms-access organization

这个问题并不能解决问题,所以让我尝试解释一下。我正在重组一个数据库(其中包括20个字段)以及用于工作的工具。并非每个工作都需要20个工具,有些需要1或2或3。 我当时想我可以从20个现有字段中获取信息,然后将它们放到一个名为tbl_Tools的表中,其中包含一个工具字段和一个键。然后,在主表中删除20个字段,并引用tbl_Tools的键添加一个字段,并将20个字段的信息压缩为单个字符串变量,其中每个工具都用逗号分隔(这只需要因为每个工具的位置对于保存都很重要)。下图有基本说明。

这是最佳选择,还是我没有弄清楚的更好方法?我希望听到您的反馈。

预先感谢,拉斐尔。 (也不确定要为此使用哪个标签)

enter image description here

2 个答案:

答案 0 :(得分:1)

您的问题的书本答案是使用两个表存储单独的条目(TBL_INFOTBL_TOOLS),第三个表使用两个外键(TBL_INFO_TOOLS_REL)存储它们之间的连接,just like this

这样,您可以最大程度地减少空列的数量,而且可以保持干净的数据库,而无需存储使用分隔符将多个键粘合在一起的列。这样可以简化某些作业所需工具的管理。

答案 1 :(得分:0)

可能您想要的是多对多关系(这将由3个表see the image below组成) 如果您的应用程序处理拆分和合并工具ID的逻辑,那么逗号分隔的解决方案就可以使用,但是这样一来,您将无法查询特定于工具的数据,例如“使用最多的通行费”或“使用过的tool_3”等。

相关问题