【问题标题】:Best way to organize junction table组织连接表的最佳方式
【发布时间】:2021-11-20 13:43:25
【问题描述】:

我目前正在 MS Access 上构建一个小型数据库,用于在工厂的几台机器 (30) 上进行升级 (45)。该信息位于 Excel 电子表格中,其中行是机器的升级和列。如果某个升级已经安装/将要安装/在 dev/etc 中,excel 文件显示了每台机器的情况。

我目前有一个表格用于记录每个升级详细信息,另一个表格用于记录每台机器及其个人信息。

为了复制我打算制作联结表的 excel 关联。 我是否应该将升级作为一个字段(1 col)和机器作为另一个字段。这将给出 3 列和 30*45 行。 或者我应该模仿excel并将升级作为一个字段,每台机器作为一个单独的字段,值是升级的状态。

提前致谢

【问题讨论】:

  • 电子表格无法维护历史记录。我会创建一个机器表和一个升级表。升级表对于每个机器行将有多行,唯一的区别(通常)是升级时间戳。您可以对特定机器进行不同的升级。如果是这样,您需要一个 UpgradeType 表来区分升级类型。
  • 正如 Arturo 在他的回答中所说,根据您提供的信息,简单的多对多模型看起来是最好的方法。使用多对多和访问作为您的关键字并观看一些 youtube 视频。

标签: database ms-access database-design


【解决方案1】:

联结表通常用于建立多对多关系。根据您的描述,您的情况似乎是这样。联结表的字段必须包括要在其之间建立多对多关系的两个表的键字段。在您的情况下,联结表似乎应该具有表“机器”的关键字段和表“升级”的关键字段。然后,您可以通过键字段从表“机器”到联结表中的相应字段建立具有引用完整性的一对多关系。您从表的关键字段“升级”到联结表的相应字段执行相同的操作。然后使用相应的数据填充联结表。在联结表中包含其他字段以提供有用信息是很常见的,例如有一个日期字段来记录每台特定机器的每次升级的日期,或者一个 cmets 字段,或者进行升级的人。

如果您想查看具体示例,可以查看示例数据库中的连接表“T_Umbrellas_in_Capitals”,您可以从LightningGuide.net 下载该示例数据库。此联结表支持表“T_Capital_cities”和“T_Umbrella_models”之间的多对多关系。

【讨论】:

    猜你喜欢
    • 2010-09-08
    • 1970-01-01
    • 2011-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多