【问题标题】:Building the tables for an Auto-drop subscription system为自动删除订阅系统构建表
【发布时间】:2014-11-10 04:08:03
【问题描述】:

我正在构建一个系统,当某人订阅另一个邮件列表时,它将自动从一个或多个邮件列表中删除。我有一个包含列表名称的表“列表”。每个列表都会有一个或多个以“排除”形式存在的子列表,它们基本上是其他列表。这是我的桌子:

我想知道如何最好地实现这一目标。我最初想通过具有多对多关系的查找表链接另一个名为“排除项”的表,然后我可以获取特定列表名称的所有排除项。

但是,排除项与列表表中包含的列表名称基本相同,因此我似乎在那里有冗余数据。

是否有更好的方法来实现这一点?我考虑在列表表中添加一个额外的列,其中包含我需要排除的其他列表的 ID。

【问题讨论】:

  • 我认为我的问题不够清楚,它与用户或一对多无关,因为 1 个用户实际上可以在多个列表中。我只是想找到将一堆排除项(即列表)绑定到列表的最干净的方法。
  • 随时编辑您的问题。

标签: mysql relational-database normalization


【解决方案1】:

我认为添加一个将列表 ID 链接到电子邮件地址 ID 的新表将是最好的做法。然后,当您的系统将电子邮件发送到特定列表时,可以使用对引用表的连接在此表上完成查找。

【讨论】:

    【解决方案2】:

    我发现答案就在这里,以“连接”或“映射”表的形式:How can I associate one record with another in the same table?

    【讨论】:

      猜你喜欢
      • 2021-05-24
      • 1970-01-01
      • 2013-11-24
      • 1970-01-01
      • 2014-04-07
      • 2015-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多