【发布时间】:2015-03-28 21:54:09
【问题描述】:
我想知道在我的软件中使用多个 SQL 数据库文件(如 sqllite (我相信它是基于单个文件的?))作为项目文件是否有意义。项目文件包含基本信息以及带有参数列表(浮点值)和测量数据列表(也是浮点)的多个记录(光谱)。
我目前使用自己的二进制格式,维护起来很麻烦。我尝试使用运行良好的 XML,但文件大小爆炸(之前为 500 kB,XML 为 7.5 MB)。
现在我想知道我是否可以构建 SQL 数据库以包含此类信息,并在我的 .NET 软件中有效地加载和保存这些数据。
(我对 SQL 不是很有经验)所以:
SQL 表可以包含子表(如 XML 中的子节点)或链接到其他表吗?
例如能不能做个表格做记录,这个表格有测量数据和参数列表的子表?
这在存储空间方面会比 XML 更有效吗?
【问题讨论】:
-
是的,这就是数据库的设计目的。一个表可以通过共享一个公共键值与另一个表形成关系。 (sqlite.org/foreignkeys.html)
-
所以我基本上会制作一个大的“测量数据”表,其中包含一个 X 和 Y 列以及一个外键列,我将在其中输入数据点所属记录的记录 ID?
-
可能,您需要阅读关系数据库设计并选择最佳模型
标签: sql xml sqlite database-design