【问题标题】:Entity relationship where one entity has references to 2 of the same entity type?一个实体引用两个相同实体类型的实体关系?
【发布时间】:2017-04-22 04:07:33
【问题描述】:

我正在为大学开展一个项目,该项目要求我实施一个基本的类似 Paypal 的汇款系统。我目前正在建模实体之间的关系。我当前的问题涉及 2 个实体:用户和事务。

逻辑是一个交易有一个发送方用户和一个接收方用户,以及发送的金额。我正在努力为这种关系建模,但是因为我无法找出形成用户和事务之间关系的正确方法。

在引用用户相同属性但在数据库表上具有不同列名的事务实体上具有 2 个单独的一对一关系是否正确?

【问题讨论】:

  • 你是说sql模型还是java对象模型
  • 它不是 Java,它是在为数据库设计建模!
  • 用两个关系来模拟这种情况,而不是一个......
  • 我正在使用 Java,但我在概念上而不是语法上更加挣扎。
  • 在您的情况下,在概念层面,用户和交易之间存在两种不同的关系。而且也没有错……

标签: java database jakarta-ee database-design


【解决方案1】:

这是一个经典的情况:两个实体通过两种不同的关系连接起来。在这种情况下,User 和 Transaction 之间存在一对多关系 Send,而 User 和 Transaction 之间存在一对多关系 Receive。

并且您应该将它们视为与实施有关的任何其他关系。例如,在关系数据库中,您可以有一个表Users 及其属性,以及一个表Transactions,除了金额和其他相关信息外,还有两个不同的属性senderreceiver , 这两个外键都是 User 表的外键。

【讨论】:

    猜你喜欢
    • 2013-03-03
    • 2018-01-02
    • 1970-01-01
    • 2011-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多