繁体   English   中英

数据库与MATLAB变量有何不同?

[英]How do databases differ from MATLAB variables?

我习惯在MATLAB中将数据(有时是大量数据)用作矩阵或单元格。 我想转而通过SQLite之类的工具来管理更大的数据集。

所以这是我的问题。 如何从MATLAB变量(再次是多维数值矩阵,以及带有文本条目的单元格)到数据库的概念转换? 例如,如果我在MATLAB中有一个4D矩阵,是否可以将数据直接存储为表? 还是我需要做一些事情,例如制作多个带标签的2D表? 数据库中的所有数据都存储在表中吗?

认为从MATLAB到数据库的数据迁移或多或少看起来像是将多维MATLAB变量重组为一组2D表,是否正确?

将数据从MATLAB环境迁移到sql可访问的数据库的任何经验都将有所帮助。

表格不是2D数组。 4D 2 * 2 * 2 * 2数组存储为{{{{1,2},{3,4}},{{5,6},{7,8}}},{{{9,10 },{11,12}},{{13,14},{15,16}}}}( 甚至在手册中提到 )。 这意味着在数据库中我们可以将其存储为4个坐标(x,y,z,t)和一个值。

x|y|z|t|value
-+-+-+-+-----
1|1|1|1|1
1|1|1|2|2
1|1|2|1|3
.........

现在,您无需执行A(1,2,3,4),而是SELECT value FROM a WHERE x = 1 AND y = 2 AND z = 3 AND t = 4

虽然实际取决于您的数据,但也可能是每行3个坐标和2个值

x|y|z|value1|value2
-+-+-+------+------
1|1|1|1     |2
1|1|2|3     |4
.........

或者,如果您需要一次选择整个数组,则可以将其存储为json或csv值,并将它们全部存储在一行中。

如果您有多个数组,则还需要array_id列。 array_id可以是保存有阵列名称和描述的表的FK。 您可能应该查找数组数据结构和数据库基础知识的主题(您应该查看关系代数 ,这些代数是基于数据库的,但是存在差异)。

无论哪种方式,它实际上都不是Matlab与数据库的问题,除非您对与其他语言不同的Matlab某些要素有特定的疑问。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM