小编Yos*_*nar的帖子

一对“零或一”关系

我有以下要求:

  • 每笔交易都有以下类型之一;借记、贷记、存款或取款。

  • 借方或贷方交易必须有链接的发票记录,并且没有银行账户记录。

  • 存款或取款交易必须有关联的银行账户记录且无发票记录。


目前我的基本设计是这样的:

粗略的数据库设计

我目前的解决方案是:

  1. 一种交易表中发票和银行账户表的两个可为空的外键。但是,我认为可空的外键列不是一个好的设计。
  2. 在链接到交易表的发票和银行账户表中有一个外键。然而,它似乎更难查询,并且它模拟了一对多关系(不是我想要的一对一可选关系)。

我概述的哪种方法是更好的解决方案?或者还有其他更好的方法来满足我的约束吗?

mysql database-design subtypes

6
推荐指数
1
解决办法
3772
查看次数

标签 统计

database-design ×1

mysql ×1

subtypes ×1