Database design 存储负数-数据库设计

Database design 存储负数-数据库设计,database-design,Database Design,我正在开发一个会计应用程序。我有一个交易表,其中一个字段是交易金额(键入Double 10/2) 对于减少账户余额的交易,最好将交易金额存储为负数,还是将其全部存储为正数,然后根据交易类型(存款、取款、信贷、费用等)将其转换为负数进行计算 谢谢 Brett最好将正数存储为正数,将负数存储为负数。如果您不提前这样做,您将最终创建一组视图来修复这些数字,并重写应用程序代码以使用这些视图 使用“decimal”或“numeric”类型比使用“double”要好得多。我同意Catcall和HLGEM。最

我正在开发一个会计应用程序。我有一个交易表,其中一个字段是交易金额(键入Double 10/2)

对于减少账户余额的交易,最好将交易金额存储为负数,还是将其全部存储为正数,然后根据交易类型(存款、取款、信贷、费用等)将其转换为负数进行计算

谢谢


Brett

最好将正数存储为正数,将负数存储为负数。如果您不提前这样做,您将最终创建一组视图来修复这些数字,并重写应用程序代码以使用这些视图


使用“decimal”或“numeric”类型比使用“double”要好得多。

我同意Catcall和HLGEM。最好将它们存储为有符号的数字,尤其是当您要编写报告来计算摘要(聚合)时。必须根据另一个字段推断符号会使您的报告比实际情况复杂得多。此外,许多金融功能需要有符号的数字(例如用于计算利率),如果必须从另一个字段中导出它们,则会再次增加一些不必要的复杂性。

我认为,如果根据实际情况将金额存储为正数或负数,则在未来的更改中出错的可能性会小得多。然后,没有人需要记住去改变。这可能是有帮助的:谢谢大家的帮助。是的,十进制更有意义。我会更新数据类型并继续推进。谢谢你指出类型的事情。然而,为什么数字更好?它与上限和舍入有关吗@mike sherrill cat Recall数字数据类型以10为基数;浮点类型在基数10中是有用的近似值。看见