我正在开发一个使用股票数据的网络应用程序。库存数据可以存储在:
数据结构很简单:每日设置和每周设置。如果使用了文件,那么我可以按符号/集存储文件,例如GOOGLE_DAILY和GOOGLE_WEEKLY。每组包括一个简单的(日期,开/高/低/收盘,交易,红利)字段列表。
但是我怎么能用DB呢?我应该使用关系数据库还是其他数据库?我想过每个符号使用2个表,但这会产生数千个表,这感觉不对。
感谢。
答案 0 :(得分:3)
每个股票代码不需要一个表格,您只需要将表格中的一个字段作为股票代码。该表可能被称为StockPrices
,其字段可能是
ticker_symbol
- 股票代码time
- 股票报价的时间price
- 当时股票的价格只要ticker_symbol
是一个索引字段,您就可以执行强大的查询,例如SELECT time,price FROM StockPrices WHERE ticker_symbol='GOOG' ORDER BY time DESC
,它们将非常高效。您也可以在此表中存储任意数量的符号。
您可以为股息,交易量信息等添加其他表格。在所有情况下,您可能都有ticker_symbol
和time
的复合键。
答案 1 :(得分:0)
Make two tables:
DATETIME Date
CHAR(5) Symbol #or whatever the max symbol length can be
INTEGER Open
INTEGER High
INTEGER Low
INTEGER Close
INTEGER Volume
INTEGER Dividend
假设每周数据平均超过7天? :
DATETIME Date #date when the week started
CHAR(5) Symbol #or whatever the max symbol length can be
INTEGER AvgOpen
INTEGER AvgHigh
INTEGER AvgLow
INTEGER AvgClose
INTEGER AvgVolume
INTEGER AvgDividend
注意:所有打开,关闭等都是整数。那是因为它们意味着存储 最低货币硬币中的值,如美分,而不是存储浮动数据。