C# 我的代码应该使用什么类型的数据库?

C# 我的代码应该使用什么类型的数据库?,c#,database,C#,Database,这将是我第一次尝试构建基于数据库的c#winform代码 我将提出一个广泛的问题来启动我的数据库体系结构 最有可能的是,网站管理员会对这个问题给我一个否定的观点,但我仍然想得到一些有经验的数据库管理员的评论 我正在编写的代码是基于日期收集数据。该应用程序将每周收集数据,每周将股票价格存储到数据库中 有好几种存货,我想存起来。对于每个商店,我将保存价格信息 我的数据库的Stocks表如下所示: 日期-日期的类型 股票名称-字符串 股价浮动 股票代码-字符串->唯一键 数据库的另一个表将是市场表 在

这将是我第一次尝试构建基于数据库的c#winform代码

我将提出一个广泛的问题来启动我的数据库体系结构

最有可能的是,网站管理员会对这个问题给我一个否定的观点,但我仍然想得到一些有经验的数据库管理员的评论

我正在编写的代码是基于日期收集数据。该应用程序将每周收集数据,每周将股票价格存储到数据库中

有好几种存货,我想存起来。对于每个商店,我将保存价格信息

我的数据库的Stocks表如下所示:

日期-日期的类型 股票名称-字符串 股价浮动 股票代码-字符串->唯一键

数据库的另一个表将是市场表 在这个表中,我将存储

股票代码-字符串 股票国家-字符串 股票市场名称-字符串

建立这样一个数据库的最佳方法是什么

我需要根据日期栏比较股票价格

我应该为每个日期创建新表吗?或者我应该把它们放在一张桌子里

我需要储存和跟进大约1200支库存

我将每周运行我的代码,我想处理我的数据

谢谢你的帮助


PS:请不要告诉我使用C#以外的其他平台,也不要提供任何现成的脚本。我想写我自己的代码

我想,没有人会因为这个问题而投你一票。为了简单起见,您应该从easy use db开始,比如postgresql或mysql。别误会我的意思。它们功能强大,但比oracle、sybase或mssql更易于使用。

我认为,没有人会因为这个问题而投你一票。为了简单起见,您应该从easy use db开始,比如postgresql或mysql。别误会。它们功能强大,但比oracle、sybase或mssql更易于使用。

mssql将是您在.NET平台上的最佳选择

你可以从免费开始

如果已安装Visual Studio,则可以立即开始使用MSSQL,

如果您在.NET平台上,MSSQL将是最佳选择

你可以从免费开始

如果已安装Visual Studio,则可以立即开始使用MSSQL,
我会这样设计

库存表 StockID(int,PrimaryKey)

股票名称(varchar)

股票代码(varchar)

股价(十进制)

CreatedDate(日期时间)

市场表 市场化(int,主键)

斯托克郡(瓦尔查尔)

MarketName(varchar)

StockId(int,外键引用Stock表中的StockId)

您可以在任何数据库中创建它。由于您使用的是C#winforms,因此我建议您使用免费的SQL server express edition

您不需要为每个日期添加另一个表,只需在Stock表中添加一条记录即可。您可以通过多种方式查询数据。这是不可能的

编辑:根据您的评论,您是说同一只股票将有多个价格,在这种情况下,我会将
价格
股票表
中分离出来,并将其保存在第三个表中。因此,Stock表将只包含有关该股票的信息

所以这些桌子看起来像

库存表 StockId(int,主键)

股票名称(varchar)

股票代码(varchar)

股票价格表 StockPriceId(int,PrimaryKey,您可以为此设置标识自动递增)

StockId(int,forign键引用Stock表中的StockId)

价格(十进制)

CreatedDate(日期时间)


而市场表保持不变。我认为这足以应付你的情况。此结构将帮助您比较基于日期的数据。

我将这样设计它

库存表 StockID(int,PrimaryKey)

股票名称(varchar)

股票代码(varchar)

股价(十进制)

CreatedDate(日期时间)

市场表 市场化(int,主键)

斯托克郡(瓦尔查尔)

MarketName(varchar)

StockId(int,外键引用Stock表中的StockId)

您可以在任何数据库中创建它。由于您使用的是C#winforms,因此我建议您使用免费的SQL server express edition

您不需要为每个日期添加另一个表,只需在Stock表中添加一条记录即可。您可以通过多种方式查询数据。这是不可能的

编辑:根据您的评论,您是说同一只股票将有多个价格,在这种情况下,我会将
价格
股票表
中分离出来,并将其保存在第三个表中。因此,Stock表将只包含有关该股票的信息

所以这些桌子看起来像

库存表 StockId(int,主键)

股票名称(varchar)

股票代码(varchar)

股票价格表 StockPriceId(int,PrimaryKey,您可以为此设置标识自动递增)

StockId(int,forign键引用Stock表中的StockId)

价格(十进制)

CreatedDate(日期时间)


而市场表保持不变。我认为这足以应付你的情况。此结构将帮助您根据日期比较数据。

您将使用visual studio(我假定)