这些数据是否适合保存在数据库中?

时间:2010-02-22 01:53:10

标签: database

关于我之前提出的一些数据库建议的问题;它只是发生在我身上,我甚至不知道我想要存储的是否适合数据库。或者应该使用其他一些数据存储方法。

我有一些物理模型测试(让我们说风洞数据;类似的东西)我所拥有的每个型号(M-1234):

name (M-1234)  
length L  
breadth B  
height H  
L/B ratio  
L/H ratio  
...  
lot of other ratios and dimensions ...
force versus speed curve given in the form of a lot of points for x-y plotting  
...  
few other similar curves (all of them of type x-y).

现在,我想要完成的是以合理的方式存储,以便将使用数据库的用户可以看到最接近的十个模型到L / B = 2.5(或类似的需求)。然后,为此,以某种方式获取这些模型的所有数据,包括曲线数据(以纯文本文件格式)。

是一个sql数据库(或任何其他的,就此而言)处理这样的事情的适当方式?或者我应该采取其他方法吗?

我有大约一个月的时间来完成这个,在那个时候我还要学习足够的数据库,所以......请提出你的建议,请记住这一点。以前没有任何关于这个主题的知识。

3 个答案:

答案 0 :(得分:2)

我认为您正在寻找的是可能的。我在这里使用Postgresql,但任何数据库都应该工作。这是我的测试数据库

CREATE TABLE test (
    id serial primary key,
    ratio double precision
);
COPY test (id, ratio) FROM stdin;
1   0.29999999999999999
2   0.40000000000000002
3   0.59999999999999998
4   0.69999999999999996
.

然后,找到最接近特定比率的值

select id,ratio,abs(ratio-0.5) as score from test order by score asc limit 2;

在这种情况下,我正在寻找最接近0.5

的2

我可能会做一个数据模型,你有一个表用于主数据,比率等等,然后是第二个表保存曲线点,因为我假设曲线并不总是相同的大小。

答案 1 :(得分:2)

是的,数据库可能是最好的方法。

关系数据库(通常使用SQL进行数据访问)适用于或多或少结构化为表的数据。

给你一个想法:

您可以使用包含字段modelname等的主表width。然后是子表,用于任何可能出现多次的值,它返回model(查找“外键”)。

然后是实际曲线的子表,再次引用回model

如何在DB中实际建模曲线我不知道,因为我不知道你是如何建模的。但如果有很多数字,它可以进入数据库。

您似乎对关系型DBMS知之甚少。考虑在WIkipedia上阅读一些东西,或者做一些简单的DBMS教程(PostgreSQL有一些:http://www.postgresql.org/docs/8.4/interactive/tutorial.html,但还有很多其他的)。然后选择一个DBMS进行试用(PostgreSQL可能不是一个糟糕的选择,但还有很多其他选择)。

然后尝试实现一个简单的表模式,并回答任何细节问题(你可能会有)。

还有一件事:这些问题可能更适合serverfault.com。

答案 2 :(得分:0)

这可以说是科学数据:您可能会发现用于任意科学数据的库/格式有用:HDF5 http://www.hdfgroup.org/(注意我不是专家)