代码之家  ›  专栏  ›  技术社区  ›  Rook

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

  •  4
  • Rook  · 技术社区  · 15 年前

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

    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 回复  |  直到 15 年前
        1
  •  2
  •   gorilla    15 年前

    我认为你要找的是可能的。我在这里使用的是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
  •  2
  •   sleske    15 年前

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

    model 带字段 name , width 等等。然后子表中的任何值可以出现多次,它引用回 (查阅“外键”)。

    然后是实际曲线的子表,再次引用 模型 .

    似乎您对关系数据库管理系统知之甚少。考虑阅读维基百科上的一些内容,或者做一些简单的DBMS教程(PostgreSQL有一些: http://www.postgresql.org/docs/8.4/interactive/tutorial.html

    然后尝试实现一个简单的表模式,并返回给我们任何详细的问题(您可能会有)。

    还有一件事:这些问题可能更适合服务器故障.com.

        3
  •  0
  •   Norky    15 年前

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