以下哪种数据结构更容易接受?为什么?

MKa*_*Kao 2 mysql sql database-design relational-database

我正在将一些数据加载到关系数据库中,但我和我的同事正在就关系理论和标准遵循哪种格式进行辩论.由于我们不是专家,我们希望得到一些专家意见.

(1)第一种格式:

Region Time   Variable       Value

  1      1      GDP      -0.46113508
  1      2      GDP       0.72478547
  1      3      GDP       0.66753244
  1      1      GNP       1.07924683
  1      2      GNP      -0.45020407
  1      3      GNP       0.25669344
  2      1      GDP       1.00576177
  2      2      GDP      -0.21365634
  2      3      GDP      -0.47925263
  2      1      GNP      -1.27190722
  2      2      GNP      -0.26071341
  2      3      GNP      -0.91423615
  3      1      GDP      -1.32393360
  3      2      GDP      -1.13996826
  3      3      GDP      -2.16641876
  3      1      GNP       1.19636349
  3      2      GNP      -0.22511481
  3      3      GNP       0.49509021
  4      1      GDP      -0.85892203
  4      2      GDP      -0.46614367
  4      3      GDP       0.81645666
  4      1      GNP      -0.45178976
  4      2      GNP       0.41263984
  4      3      GNP       0.26416377
  5      1      GDP       0.40089081
  5      2      GDP       0.14561550
  5      3      GDP       0.52636087
  5      1      GNP       0.64368706
  5      2      GNP       1.22117207
  5      3      GNP       0.06021922
Run Code Online (Sandbox Code Playgroud)

(2)第二种格式:

Region Time        GDP         GNP

  1    1 -0.4611351  1.07924683
  1    2  0.7247855 -0.45020407
  1    3  0.6675324  0.25669344
  2    1  1.0057618 -1.27190722
  2    2 -0.2136563 -0.26071341
  2    3 -0.4792526 -0.91423615
  3    1 -1.3239336  1.19636349
  3    2 -1.1399683 -0.22511481
  3    3 -2.1664188  0.49509021
  4    1 -0.8589220 -0.45178976
  4    2 -0.4661437  0.41263984
  4    3  0.8164567  0.26416377
  5    1  0.4008908  0.64368706
  5    2  0.1456155  1.22117207
  5    3  0.5263609  0.06021922
Run Code Online (Sandbox Code Playgroud)

有人可以参考数据结构标准和理论,通过支持和推理,更好地建议哪种格式更好.

提前致谢!

Mik*_*ll' 5

第二.第一个是EAV反模式的实现.

要了解第一个表存在问题的原因,请想象我们对问题域一无所知.我们只知道目前有两种不同的浮点值,标记为GDP和GNP,我们想要添加第三种PWT,并且已知PWT的值仅限于该范围

  • 0.0 <PWT <= 1500.0

将该数据添加到第一个表很简单.将该约束添加到第一个表,该PWT必须介于0到1500之间,这是另一回事.

将列添加到第二个表也很简单.添加检查约束以保证值在正确的范围内既简单又容易.

想象一下,我们现在想要添加第四种值,一种限于美元金额> 0的值.您将如何管理第一个表中的定点值?但是在第二个表中添加该列及其约束很简单.