关于数据库和数据格式的问题
来源:11-3 【理解】什么是Entity Framework

慕盖茨3428307
2022-04-28
老师好:
在日常使用桌面应用的过程中,我注意到,应该不是所有数据都应该使用数据库进行保存的。许多gui,比如微软的office、wireshark、ZIP等等软件,都不是使用数据库保存数据的,而是有其自己的数据格式。比如word,似乎就是将一系列XML文件打包成压缩文件。
因此,我想请问一下,如果我自己想要写一个简单的小工具的话,是否可以不使用数据库,而是自己“创建”一个数据格式呢?比如,我能不能干脆将数据实体序列化为XML,然后每次需要处理这个数据时,再把这个XML文件反序列化为实体对象呢?
这样做会有什么缺点和优点呢?如果我想这么做的话,有什么资料有助于帮助我学习和实现这一点呢?
期待您的回复,万分感谢!
我又查阅了些资料,发现了SQLite,似乎可以满足我的部分需求,而且Entity Framework对SQLite也是支持的。但我想要做的是一个类似“知识管理工具”的东西,我想把许多有用的资料和知识(因此文件格式很复杂,有纯文字,也可能有其他各种各样的数据格式,比如SPSS数据分析软件的.sav格式)以一种统一的格式存放起来,因此我目前的想法是,在一个文件夹下,将一部分数据序列化为XML格式;如果不能序列化的,就存放到文件夹中,最后打包成ZIP文件,这样就造就了独属于我的文件格式,我认为这种基于XML和ZIP的文件格式兼容性应该不错,后续我还可以用其他编程语言进行处理,也可以在我自己的服务器上处理。
还是想向您请教一下,这样做会有什么缺点和优点呢?如果我想这么做的话,有什么资料有助于帮助我学习和实现这一点呢?
期待您的回复,万分感谢!
我又思考了一下,这样做的话,难点似乎在于需要自己写一个针对文件的“Entity Framework”?
1回答
-
阿莱克斯刘
2022-05-04
看到你的问题和你自己的回答,我感觉你是一个非常善于思考的人。对于普通的单机桌面软件或者单机,使用SQLite可以完全满足你的开发。比如,如果需要保存类似文本文件的数据,我们可以把文字先转化为html或xml格式,然后把html以字符串的形式保存在sqllite数据库中,使用的时候直接从数据库提取就好了,我们完全没有必要自己去针对某种资料形式开发出一种完全独有的数据保存形式。数据的保存形式固然重要,但是更重要的是如何利用现有的技术。
00
相似问题