面向用户的MySql数据库设计&x27;中国股市表现

面向用户的MySql数据库设计&x27;中国股市表现,mysql,sql,Mysql,Sql,我正在为股票市场设计一款应用程序,用户可以通过日内、每周和每月的显示跟踪他们的表现 对于数据库设计,我是否应该为每个新用户创建一个新表来跟踪他们的投资组合 对于用户x的表,类似如下所示: 日期-日期 时间-时间 Close-decimal不,您不应该为每个用户创建一个表。您应该有这样的表: 用户每个用户一行 公文包每个公文包一行(假设每个用户可以有0个或多个公文包) 股票每只股票一行 PortfolioStocks,每个投资组合和股票一行 当然,表中还有很多其他列——比如当投资组合中的股票或

我正在为股票市场设计一款应用程序,用户可以通过日内、每周和每月的显示跟踪他们的表现

对于数据库设计,我是否应该为每个新用户创建一个新表来跟踪他们的投资组合

对于用户x的表,类似如下所示:

日期-日期

时间-时间


Close-decimal

不,您不应该为每个用户创建一个表。您应该有这样的表:

  • 用户
    每个用户一行
  • 公文包
    每个公文包一行(假设每个用户可以有0个或多个公文包)
  • 股票
    每只股票一行
  • PortfolioStocks
    ,每个投资组合和股票一行

当然,表中还有很多其他列——比如当投资组合中的股票或用户的税务id号出现时。这是一个说明,表明您不希望每个用户都有一个单独的表。您需要一个固定数量的表,能够根据需要添加用户、股票和投资组合。

哦,好的,我知道您要做什么了。所以我将在每个用户的公文包中有大量列?假设我每天存储分钟数据,大约450列?@Chris。听起来像是在“按分钟计算的股价”表格中的不同行中。啊,好的。对不起,我是数据库管理和设计新手。因此,我将有一个单独的表,只为用户的投资组合性能的分钟数据?假设有一天,有450分钟的数据滴答声,这将导致该特定用户有450行?如果有多个用户呢?所有这些用户都会将他们的分钟数据存储在同一个“按分钟计算的股价”表中?@chrisyes。在这一点上,与任何基础的、介绍性的、关于关系数据库(特别是规范化)的书籍或教程在一起5分钟都是非常有用的。一般来说,如果插入普通的新数据需要对数据库进行结构更改,那么就错了。