我的数据库设计足够好吗?

时间:2014-09-12 12:00:34

标签: database database-design entity-relationship

我有一个问题陈述,为Stock Management公司创建数据库。商业模式基本上是他们Clients给他们钱,公司去投资他们Stock Borkers。一些业务规则如下。

  1. 客户可以拥有多个帐户。

  2. 有两种类型的帐户,Starting accountActive account

  3. 有两种类型的投资,LocalInternational。客户可以选择他们前进的投资类型。

  4. 客户端有AdviserBroker。但是,公司允许Client首先注册而不提供这些信息。稍后当Client提供这些信息时,他的记录将会更新。公司自己决定分配哪个Broker

  5. Client"可能"有一个Sub Agent

  6. Client会将钱存入他的帐户。

  7. 一旦投资,公司将使用新的投资价值和现金价值更新客户的账户。应单独监控这些值。

  8. 只要他向公司提供资金,
  9. Client就会有Starting Account。一旦公司为他们分配了ClientActive Account就会有Broker

  10. 以下是我的ER图。 enter image description here

    我知道这是一个时间任务,但我真的很感激,如果有人可以告诉我"多么好"我的设计是,是否需要任何改变。谢谢!

1 个答案:

答案 0 :(得分:1)

可能会回答一些问题,导致我们更好地设计:

  1. 有一个名为client_account的关联表告诉我 可以在多个客户端之间共享帐户。如果不, 这可能是多余的。与经纪人实体的关系可以是 在帐户表中完成。
  2. 当且仅当account_typeinvestment_type已预定义时 静态值如:

      

    开始帐户,有效帐户和本地,国际

    不需要将它们定义为表格,您可以使用域名 对象(枚举)。

  3. 作为有效帐户可以是帐户表的boolaen属性,而不是 单独的表。
  4. 如果可以在账户之间进行交易(借方和贷方)(双重会计),那么 你需要有一个transaction_detail表作为孩子 transaction表。帐户关系需要完成 transaction_detail表,不在transaction表中。