我正在将一些数据加载到关系数据库中,但我的同事和我正在就关系理论和标准遵循哪种格式进行辩论。由于我们不是专家,我们希望得到一些专家意见。
(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
(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
有人可以参考数据结构标准和理论,通过支持和推理,更好地建议哪种格式更好。
提前致谢!
答案 0 :(得分:5)
第二个。第一个是EAV反模式的实现。
要了解为什么第一个表存在问题,请想象我们对问题域一无所知。我们只知道目前有两种不同的浮点值,标记为GDP和GNP,我们想要添加第三种PWT,并且已知PWT的值仅限于范围
将该数据添加到第一个表格很简单。将约束添加到第一个表中,该PWT必须介于0到1500之间,这是另一回事。
向第二个表添加列也很简单。并且添加检查约束以保证值在正确的范围内既简单又容易。
想象一下,我们现在想要添加第四种价值,一种限于美元金额的价值> 0.您将如何在第一个表中管理定点值?但是在第二个表中添加该列及其约束很简单。