我有一个为库存管理
公司创建数据库的问题陈述。商业模式基本上是他们的客户
给他们钱,然后公司将他们投资于股票投资者
。一些业务规则如下。
客户可以拥有多个帐户。
有 2 种类型的帐户:
起始帐户
和事件帐户
。投资有 2 种类型:
本地
和国际
。客户可以选择下一步的投资类型。客户有一个
顾问
和一个经纪人
。然而,公司允许客户
先注册而不提供这些信息。稍后当客户
提供这些信息时,他的记录将被更新。公司将自行决定分配哪个经纪人
。客户端
“可能”有一个子代理
。客户
将向其帐户贷记和借记资金。投资后,公司将使用新的投资值(value)和现金值(value)更新客户的帐户。应单独监测这些值。
客户
一旦向公司提供资金,就会拥有一个启动帐户
。一旦公司向他们分配了经纪人
,客户
就会拥有一个活跃帐户
。
下面是我的 ER 图。
我知道这是一项耗时的任务,但如果有人能告诉我我的设计“有多好”,以及是否需要任何更改,我真的很感激。谢谢!
最佳答案
回答一些问题可能会让我们做出更好的设计:
- 有一个名为
client_account
的关联表告诉我 一个帐户可以在多个客户之间共享。如果不, 这可能是多余的。与经纪人实体的关系可以是 在账户表中完成。 当且仅当
account_type
和investment_type
已预定义 静态值如:Starting account, Active account and Local, International
不需要将它们定义为表,您可以使用域 对象(枚举)。
- 是否是活跃账户可以是账户表的 bool 属性,而不是 单独的表格。
- 如果交易(借方和贷方)可以在账户之间进行(双重记账),那么
您需要有一个
transaction_detail
表作为子表交易
表。帐户关系需要在transaction_detail
表,不在transaction
表中。
关于database - 我的数据库设计足够好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25807857/