我想知道在我的软件中使用多个SQL数据库文件(如sqllite(我相信是基于单个文件?)作为项目文件是否有意义。项目文件包含基本信息以及带有参数列表(浮点值)和测量数据列表(也是浮点)的多个记录(光谱)。
我目前使用自己的二进制格式,这很难维护。我尝试使用非常好用的XML,但文件大小爆炸(之前500 kB,XML为7.5 MB) 现在我想知道我是否可以构建SQL数据库来包含这种信息,并在我的.NET软件中有效地加载和保存这些数据。
(我在SQL方面不是很有经验)所以:
SQL表是否可以包含子表(如XML中的子节点)或链接到其他表?
E.g。我可以为记录制作一个表格,该表格中包含测量数据和参数列表的子表吗?
在存储空间方面,这会比XML更有效吗?
答案 0 :(得分:0)
我选择了一个SQLite数据库。它可以使用System.Data.SQLite项目轻松实现到.NET中,甚至可以与AnyCPU Builds一起使用。
它非常好用,性能和存储空间都很明智。
您仍需要对数据库的不同版本进行大量处理。如果尝试使用较旧的方案将新方案保存到数据库中,则某些列或表可能不存在。您需要为此实现迁移方法到新的数据库文件。
真正的优点是,它是一种开放的格式,我站在这个前提下,用户保存的东西是他的,并且不需要隐藏在一个模糊的文件结构中,如果后者没有带来任何显着的优势。 如果用户无法再使用您的软件,他或她仍然可以使用其他工具(如SQLite数据库浏览器)访问所有数据。