在关系数据库中,我如何表示任意深度的股票数据?

时间:2011-08-19 21:37:32

标签: sql database-design

例如,股票可以有最佳买入价。它还可以有第二个最好的价格,第三个最好的价格等等到第n个最优价格。 N是未知的和变化的。我如何在关系数据库中表示这一点?

2 个答案:

答案 0 :(得分:2)

简单来说,Stock表与BidPrice表有一对多的关系。

答案 1 :(得分:1)

这样的事情可以做到:

StockTable:

StockID  | Name
----------------
1        | Item 1 
2        | Item 3

StockPricesTable:

StockId  | Price
-----------------
1        | 1.25
1        | 2.25
1        | 3.25
2        | 1.55
2        | 1.75
2        | 1.95
2        | 2.25
2        | 1.25
2        | 1.25

我可能会将“nth best price”从表定义中删除,并将该逻辑放在查询中。如果需要,您还可以将主键值添加到StockPricesTable。