【问题标题】:Is this data appropriate for keeping in a database?这些数据是否适合保存在数据库中?
【发布时间】:2010-02-22 01:53:10
【问题描述】:

关于我之前询问一些数据库建议的问题;我突然想到,我什至不知道我要存储的内容是否适合数据库。或者应该使用其他一些数据存储方法。

我有一些物理模型测试(比如说风洞数据;类似的东西),我有每个模型 (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 数据库(或任何其他数据库)是处理此类事情的适当方式吗?还是我应该采取其他方法?

我有大约一个月的时间来完成这个,在此期间我还必须对数据库有足够的了解,所以......请给你的建议,记住这一点。假设没有关于该主题的先前知识。

【问题讨论】:

  • 听起来像是stackoverflow.com的问题@是吗?
  • @o.k.w - 不确定,真的。在任何情况下,我都会让版主做出决定/相应地移动它。
  • 传统上,数据库不存储可计算的信息,因此您对数据库的使用将更多地用于数据存储或数据仓库。也就是说,它是一种比平面文件更有效的存储机制。
  • @Randolph Potter - 哦,我不是要在里面计算(如果你指的是比率)。它们都已经计算过了,所以没有问题。我更感兴趣的是这样的数据库是否可以保存“数组”(曲线点),通过使用它我可以完成其他事情......最接近给定的 L 给我 10 个最接近的......?

标签: database


【解决方案1】:

我认为您正在寻找的是可能的。我在这里使用 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

我可能会做一个数据模型,其中您有一个用于主要数据、比率等的表格,然后是另一个包含曲线点的表格,因为我假设曲线并不总是大小相同。

【讨论】:

    【解决方案2】:

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

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

    给你一个想法:

    您可以有一个主表 model 和字段 namewidth 等。然后是可以多次出现的任何值的子表,它引用model(查找“外键”)。

    然后是实际曲线的子表,再次参考model

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

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

    然后尝试实现一个简单的表架构,如有任何详细问题(您可能会遇到),请与我们联系。

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

    【讨论】:

    • @sleske - 既然您似乎对这些事情了如指掌,我可以再问一个问题。你认为也许另一种类型的数据库会更合适。我的数据通常以这样一种方式结构化,即对于每个模型我都有几个参数(所有标量),所以一个模型,一行参数。对于每个模型,我都有几个数据表(另一个表)(曲线)。尝试将其放入“传统”(不确定正确的名称)数据库中是否更合适,例如 dBase(旧的)。如果我没记错的话,它们与今天的 sql 类型不同。
    • @Idigas:非常欢迎您提出问题。但是请将它们作为问题发布,这就是本网站的用途:-)。可能最好在 stackoverflow.com 上发布,因为这是一个编程问题。不,我现在一般不会推荐 dBase,但意见可能会有所不同。
    • 很公平。谢谢 ! (哦,顺便说一句,是的,我非常了解这三个站点的性质。只是有时对于这些细节,在 cmets 中处理它们比在整个板上填满细节问题更容易关于一个问题)。
    【解决方案3】:

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

    【讨论】:

    • 是的,测量和预测数据。但是从没有文件格式的领域,AFAIK。
    • 使用这些工具的想法是让开发自己的格式变得容易。另一个是筒仓wci.llnl.gov/codes/silo
    猜你喜欢
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    • 2013-08-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多