在SQL数据库中存储电子表格类型的数据

时间:2009-06-15 21:08:58

标签: database-design spreadsheet

我想将电子表格数据存储在数据库中,所以现在我使用键/值模式来存储它,但是如果数据很大,则需要花费太多时间从数据库中检索它。 有没有人有最好的方法来做同样的事情。 Google如何保存电子表格数据?

通常我必须在网页上显示30到40列和10,000行,页面大小为500或1000以进行分页。数据适用于包含定价的订单项。

我目前的数据库结构如下。

列表 Column_Id int Column_Name nvarchar(50)
Column_Type nvarchar(50)

价值内容表 criteria_id int column_id int row_id int column_contents nvarchar(100)

3 个答案:

答案 0 :(得分:2)

用于存储电子表格的天真架构:

create table spreadsheet
(
id INTEGER primary key,
name TEXT UNIQUE not null
);

create table cell
(
id INTEGER primary key,
spreadsheet_id INTEGER NOT NULL REFERENCES spreadsheet(id),
row INTEGER not null,
col INTEGER not null,
content TEXT NOT NULL
);

答案 1 :(得分:0)

如果您只是加载并保存它,而不是查询它,我会建议整个工作表,每个页面或至少每行的XML字段。

我的另一个问题是,您如何查询填充表格?您是否正在使用循环并为每行或每列打开单独的查询?

您的设计可能不是最理想的,但它实际上应该对您描述的数据集执行得体,恕我直言。

答案 2 :(得分:0)

考虑到Excel被广泛认为是数据库的默认工具,我不确定存储在电子表格中的数据种类是什么,除了它是单个表并且行数有限制。

我认为除了“这是确定结构的数据而不是来源的数据”之外别有什么区别。