数据库关系

时间:2017-07-11 18:55:39

标签: ruby-on-rails database schema-design

我想建立关系:

  • 用户
  • 帐户
  • 银行
  • credit_processors。

问题是如何在db中设计模型。 当这些情况发生时,我陷入了混乱:

  1. 银行可以发卡,银行会将卡与信用卡处理器联系起来,Chase会在卡上使用Visa,美国银行会在卡上使用万事达卡和维萨卡。
  2. 信用卡可以在没有银行的情况下发行卡,Visa可以发行自己的卡,美国运通可以发行自己的卡。
  3. 当db中的关系如下:

    • 帐户属于银行,可以通过银行设置信用处理程序

    • 一个帐户直接属于信用处理商而没有银行。

    这是我的数据库图表的链接。 有没有更好的方法来设计这个db diagram

1 个答案:

答案 0 :(得分:0)

看起来很不错,但我认为你不需要'资源'表,因为你可以将bank_id和credit_processor_id存储在'cards'表中

只是从上往下走过它

  • 用户has_many帐户
  • 帐户has_one卡(帐户可以有多张卡)?
  • 如果您认为您希望经常查看所有用户卡,则卡应该属于帐户,银行(可选字段),CreditProcessor,类别和可能的用户

您可能还希望在银行和CreditProcessors之间建立多对多关系,具体取决于您认为查询的频率。