【问题标题】:Double entry accounting: data types for efficiency? [closed]复式记账:效率的数据类型? [关闭]
【发布时间】:2020-12-27 00:36:55
【问题描述】:

最近开始设计数据库。我想知道我是否选择了正确的数据类型。 例如,有人告诉我使用整数表示 $ 金额以避免麻烦。同样对于税率我输入小数,我假设我必须在计算时将其转换回整数。

谢谢!

数据库设计:

【问题讨论】:

  • 请edit 提出问题并告诉我们您特别关注哪个表和列。它应该从现实世界中建模什么,现实世界对其应用的要求和限制是什么?还有谁告诉过你整数以及它们是什么意思的“麻烦”?请最好将表格发布为CREATE 声明为文本,不是图像。
  • 有这样的思想流派,但我自己对小数很满意
  • 值得注意的是,DECIMAL(如 fixed-place)和 FLOAT(如浮点数)之间存在巨大差异.前者是可以预见的。如果您没有为此做好准备,后者会受到很大的伤害。

标签: mysql database accounting


【解决方案1】:

整数适用于整数,但不适用于小数。您可以将便士(或千分之一便士)存储为整数,然后在显示时转换为美元,这与我们将日期存储为“自 1970 年 1 月 1 日以来的秒数”大致相同,但显示方式不同。

其中的诀窍是确保您的转换始终适用,而在使用像 Integer 这样的常见数据类型时,这并不容易。

数据库都有一个decimal datatype,它是固定精度(不是浮点数或双精度数),所以使用它,每个人都不会对货币输入的情况感到困惑。

【讨论】:

  • 如果固定位置数据类型与应用程序代码中的固定位置等价物相匹配,您会没事的。如果没有,请注意!
猜你喜欢
  • 1970-01-01
  • 2020-04-18
  • 2013-04-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多