mysql - 如何设计客户订单和账单的表格

标签 mysql database-design foreign-key-relationship database-normalization table-relationships

enter image description here

正在为酒店系统设计数据库架构(订单和账单)。 附图显示了数据库架构中的表。

问题是如何设计账单表,以便我可以根据客户下的订单计算客户账单?

我的假设是账单是在下订单后计算的,而不是相反,例如在下订单之前创建账单。

我正在考虑 this answer但这并不能解决我的问题,因为我想根据客户订单计算账单。

红色矩形显示订单和账单表之间的关系,这是卡住的地方,我不知道如何设计表格。

最佳答案

首先进行一些语言标准化:

所谓的订单是指销售订单,订单详细信息称为行项目,账单通常称为销售发票。

销售发票是付款请求。当您认为有人欠您钱时,您就发出一张。

根据销售订单的条款,有人欠您钱:

  • 订单完成后
  • 首次交付服务后
  • 服务完全交付后
  • 根据销售订单的条款一段时间后

对于酒店来说,通常您会在服务完全交付后索要资金,但可能会收取押金,或者长期住宿的中间付款。

一张发票不一定适用于一份销售订单。您可以将多个销售订单合并为一张发票。

发票中的行项目引用了您请求付款的销售订单行项目。

您可能需要为同一个人/销售订单开具多张发票。

关于mysql - 如何设计客户订单和账单的表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24024611/

相关文章:

PHP BLOB 字段数据与原始数据不同

php - MySQL - 每个客户端一张表或所有客户端的一张表

MySQL外键使用id还是value?

php - 我如何安排我正在使用 group concat 的数据的输出?

mysql - 使用多个表的 SQL SELECT

MySQL 分组依据和 COUNT

database - 双向关系(数据库设计缺陷)

database-design - 游戏/用户级别/进度的数据库设计帮助

mysql - 如何在MySQL的同一张表中维护外键的参照完整性?

javascript - 从 WebAPI 获取主从表