协助设计数据库关系? [已关闭]

问题描述 投票:0回答:1

我正在编写一个应用程序,用于跟踪第一天运行的股票,然后也跟踪第二天,我正在尝试找出如何设计数据库关系,我已经有几年没有这样做了,所以我正在向一些数据库专家寻求帮助

同一个股票代码将有多个第 1 天 + 第 2 天条目,此时主键位于股票代码上

非常感谢任何帮助

数据库图

idhar koi nangi chuddi ki tasweer lga bharrway

sql database visual-studio database-design
1个回答
1
投票

实现此目的的一种方法是使用一个

Stock
表来存储有关股票的一般信息,并使用另一个表
StockPrices
来存储股票的每日快照。

Stock
的主键将是
Ticker
,因为它唯一标识股票并且简短/易于理解。

StockPrices
的主键将为
(Ticker,Date)
。该表中的列
Ticker
Stock
的主键有外键关系。

两天之间的任何比较都可以通过简单的查询来完成:

SELECT *
FROM Stock s
INNER JOIN StockPrices spDay1 ON s.ticker = spDay1.ticker AND spDay1.date = [first day you want to compare to here]
INNER JOIN StockPrices spDay2 ON s.ticker = spDay2.ticker AND spDay2.date = DATEADD(dd, 1, spDay1.date)
© www.soinside.com 2019 - 2024. All rights reserved.