【问题标题】:Multiple one to many relationship for one table一张表的多个一对多关系
【发布时间】:2021-07-11 01:49:42
【问题描述】:

我是数据库设计的新手。我读过这个问题

Multiple one-to-many relationship for one table

我有同样的问题,在我的情况下,我有一个表“风险”,它有 3 个具有一对多关系的属性,一个风险可以有多个“活动”和“渠道”和“交易方法”所以我创造了这个设计

通过我的研究,我还没有看到这样的数据库设计。我的问题是允许这种设计还是对我的情况有任何建议?

谢谢。

【问题讨论】:

  • 您的架构可以是您想要的,但您真正需要知道的是架构是否适合您的业务需求。正如 Bill Karwin 所指出的,您的图表需要更新。请用商业术语发布关系的解释。 ActivityChannelTransaction Method 是否代表枚举或查找条目?有这么多链接是正常的,但教科书不会有它们,因为它会使讨论主题复杂化。但是你需要证明它们的合理性,这里你没有提供任何理由,所以你让我们做出假设。

标签: sql database-design


【解决方案1】:

我认为你在正确的轨道上,但你有一些细节需要解决:

  • 我认为Detail Channel 应该引用Channel_ID,而不是Activity_ID,对吗?这看起来像是复制和粘贴错误。

  • 同样,Transaction Method 的详细信息表应引用 TransactionMethod_ID,而不是 Activity_ID

  • Transaction Method 的详细表的表名需要不同的名称。数据库中的每个表都必须有一个唯一的名称,并且您已经有一个具有该名称的表。

  • ChannelTransaction Method 需要一个 ID 列,如果您通过它们各自的 ID 引用它们。

【讨论】:

  • 是的,先生,我上传设计图时出错了,您的所有更正均与我的设计图一致,非常感谢您的回答
  • 作为软件开发人员,您将学到的一件事是注重细节非常重要。你需要养成仔细检查工作的习惯。在你自己的写作中很难看到拼写错误和复制粘贴错误,在代码中更难看到。如果你能掌握发现错误的技巧,你就有了一个好的开始!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-17
  • 2018-01-11
  • 2012-08-27
  • 2020-09-09
  • 2015-11-12
  • 2012-11-17
  • 1970-01-01
相关资源
最近更新 更多