Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 股票市场应用程序的SQL问题_Sql Server_Azure_Sqldatatypes_Database Normalization - Fatal编程技术网

Sql server 股票市场应用程序的SQL问题

Sql server 股票市场应用程序的SQL问题,sql-server,azure,sqldatatypes,database-normalization,Sql Server,Azure,Sqldatatypes,Database Normalization,我正在使用SQL Server Azure存储过程创建一个股票市场应用程序。我已经广泛阅读了以下问题,但尚未做出决定,因此希望得到反馈: 以货币或小数9、2或整数表示的价格需要*或/100? 注:显然,澳大利亚股市使用整数获得更好的表现,当我将excel中的种子数据导入货币数据类型时,它错误地为小数点后的第三位数字创建了一个值,但尽管有些人讨厌货币数据类型,但它至少更易于开发 我有一个BuyOrders和一个SellOrders表,匹配后在Contracts表中创建一行。这些表可以规范化,以便合

我正在使用SQL Server Azure存储过程创建一个股票市场应用程序。我已经广泛阅读了以下问题,但尚未做出决定,因此希望得到反馈:

以货币或小数9、2或整数表示的价格需要*或/100? 注:显然,澳大利亚股市使用整数获得更好的表现,当我将excel中的种子数据导入货币数据类型时,它错误地为小数点后的第三位数字创建了一个值,但尽管有些人讨厌货币数据类型,但它至少更易于开发

我有一个BuyOrders和一个SellOrders表,匹配后在Contracts表中创建一行。这些表可以规范化,以便合同表仅包含BuyOrderID和SellOrderID,但在我看来,额外的安全性(即跟踪)值得在合同表中重复写入某些列(即StockSymbol、MemberID)的可忽略性能成本


首先,你必须从业务中得到精确的要求,但是你会考虑小数点后至少四位数。当你交易国际股票时,会涉及到疯狂的汇率。此外,当你开始计算投资组合的表现时,你会得到很多小数 然后,你必须考虑最大可能的投资组合价值约100亿美元。你也不想受到不可预测的通货膨胀的影响

如果您的客户对4位数的精度没有问题,那么您可以使用MONEY数据类型。只有8个字节。
如果出于某种原因,他们想要更高的精度,你可以使用DECIMALp,s,它可能最多13个字节,但如果是小数字,它将只使用5个字节。

考虑整数:要存储多少隐含的小数位数?您将如何处理总数,例如,股票总价值可能是一个非常大的数字?您如何处理通常需要高比例数字的分析计算。请记住,许多现有的大型企业软件最初是在几十年前创建的,当时的硬件和可用的工具集非常不同。这个问题只会让您获得意见和讨论。这真的很广泛,没有一个正确的答案。大卫·马科贡:我问这个问题不是故意的,但是你能建议一个更好的地方来发布这样的问题吗?