db结构需要帮助

时间:2011-01-06 09:02:05

标签: python django data-structures

我正在开发一个使用股票数据的网络应用程序。库存数据可以存储在:

  1. 文件
  2. DB
  3. 数据结构很简单:每日设置和每周设置。如果使用了文件,那么我可以按符号/集存储文件,例如GOOGLE_DAILY和GOOGLE_WEEKLY。每组包括一个简单的(日期,开/高/低/收盘,交易,红利)字段列表。

    但是我怎么能用DB呢?我应该使用关系数据库还是其他数据库?我想过每个符号使用2个表,但这会产生数千个表,这感觉不对。

    感谢。

2 个答案:

答案 0 :(得分:3)

每个股票代码不需要一个表格,您只需要将表格中的一个字段作为股票代码。该表可能被称为StockPrices,其字段可能是

  • ticker_symbol - 股票代码
  • time - 股票报价的时间
  • price - 当时股票的价格

只要ticker_symbol是一个索引字段,您就可以执行强大的查询,例如SELECT time,price FROM StockPrices WHERE ticker_symbol='GOOG' ORDER BY time DESC,它们将非常高效。您也可以在此表中存储任意数量的符号。

您可以为股息,交易量信息等添加其他表格。在所有情况下,您可能都有ticker_symboltime的复合键。

答案 1 :(得分:0)

Make two tables:

DAILY_STOCK_DATA

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天? :

WEEKLY_STOCK_DATA

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

注意:所有打开,关闭等都是整数。那是因为它们意味着存储 最低货币硬币中的值,如美分,而不是存储浮动数据。