小编use*_*977的帖子

这种情况下最好的数据库设计是什么?

我正在为我的公司构建业务应用程序,并努力为特定情况选择最合适的数据库设计。假设我有以下实体:

赞同

  • ID
  • 地位
  • ...

审批意见

  • ID
  • 批准编号
  • 评论

命令

  • ID
  • ...

发票

  • ID
  • ...

显然可能有多种类型的批准和多个需要批准的对象。以下选项中最适合设计表格的选项是什么:

选项1

有一个带有空外键的批准表:

批准

  • 身份验证
  • 地位
  • 订单 ID FK NULL
  • 发票 ID FK NULL

审批意见

  • 身份验证
  • 批准编号 FK
  • 评论

在这种情况下,我必须为每个需要批准的对象添加一列

选项 2

有一个带有公共字段的父 Approvals 表,以及每个需要批准的对象的子表:

批准

  • 身份验证
  • 地位

审批意见

  • 身份验证
  • 批准编号 FK
  • 评论

订单批准

  • ApprovalId PK FK
  • 订单编号 FK

发票审批

  • ApprovalId PK FK
  • 发票编号 FK

选项 3

每个对象都有一个批准表:

订单批准

  • 身份验证
  • 订单编号 FK
  • 地位

订单批准评论

  • 身份验证
  • 订单批准 ID FK
  • 评论

发票审批

  • 身份验证
  • 发票编号 FK
  • 地位

发票审批备注 …

database-design

8
推荐指数
1
解决办法
2765
查看次数

标签 统计

database-design ×1