如何存储表格数据

时间:2014-04-28 11:40:50

标签: mysql mongodb heterogeneous

我需要您帮助解决有关数据存储的功能问题。

我正在进行一个项目,用户可以在服务器上保存一种excel表。表的大小不固定。

存储表的最佳解决方案是什么?作为我的MySql数据库中存储为文本的数组?使用MongoDB或其他NoSQL解决方案?

有关信息,表格中不会实施任何搜索功能。

非常感谢你!

编辑:我添加了两个数据表示例:

示例1:每个销售员每季度的销售额

            Sven    Kenneth
2013.Q1     1200    4500
2013.Q2     1350    900
2013.Q3     2487    784
2013.Q4     4570    4512
2014.Q1     4785    3451

示例2:一对夫妇及其子女每月的体重

       Him    Her    Children
Jan    70.5   52.1   45.1
Feb    71.8   52.7   46.1
Mar    70.8   52.7   46.0
Apr    70.1   51.9   46.1

这两个例子的行数和列数不一样,可能会有所不同:下个季度,公司可以聘请新的销售人员。

如何存储这些数据?请注意,用户永远不会搜索这些表格。

我希望这更清楚。

2 个答案:

答案 0 :(得分:2)

为了解决

  

这两个例子的行数和列数不一样,可能会有所不同:下个季度,公司可以聘请新的销售人员。

在过去我们使用关系表的时候,我们会在两个表中分解它

period | salesman | sales
2013.Q1  Sven       1200    
2013.Q2  Sven       1350    
2013.Q3  Sven       2487    
2013.Q4  Sven       4570    
2014.Q1  Sven       4785   
2013.Q1  Kenneth    4500
2013.Q2  Kenneth    900
2013.Q3  Kenneth    784
2013.Q4  Kenneth    4512
2014.Q1  Kenneth    3451

salesman   | id
Sven L       Sven
Kenneth W    Kenneth

这不是规范化到第5范式,但它会这样做。

你可以使用Cassandra或Mongo,Cassandra你可以使用超级列系列,允许你动态创建列和MongoDb它不是一个刚性结构,你只保存json对象,你可以只保存四分之一如下:

{
"quarter" : "2013.Q1", 
"salespeople" : [
    {"salesman": "Sven", "sales" : 1200},
    {"salesman": "Kenneth", "sales" : 4500}
 ]
}

和明年

{
"quarter" : "2014.Q1", 
"salespeople" : [
    {"salesman": "Sven", "sales" : 1200},
    {"salesman": "Kenneth", "sales" : 4500},
    {"salesman": "Somebodyelse", "sales" : 100000}
 ]
}

你可以两种方式,但关系方式更容易

答案 1 :(得分:0)

我没有找到明确的答案,但我会解释我会做什么。

我只是将结果存储为二维数组。