如何使用csv文件分层数据库



我在单独的进程中使用csv文件作为数据库。我只以单数关系存储或读取数据网格中的所有数据。每个txt文件中的每个字段都是一个且唯一的从0开始的数字。

//While reaching countries, i read allcountries.txt, 
//while reaching cities, i read allcities.txt       
//while reaching places i read allplaces.txt.

但是一个国家有很多城市,一个城市有很多地方。然而,我没有使用任何关系。我想使用,我知道这是有需求的。我怎么能达到数据的读写添加所有文本文件一个额外的列?

是否有可能在没有sql查询的情况下访问数据?

文本文件没有SELECT s或JOIN s的任何机制。你会处于非常不利的地位。

然而,LINQ给你以类似sql的方式搜索对象集合的能力,你当然可以创建有关系的实体。应用程序(无论您正在构建什么)必须在应用程序启动时从文本文件加载所有内容。由于您的代码将进行搜索,因此必须将实体(从文本文件)加载到内存中。

这可能是一个愉快或有效的体验,也可能不是,但如果您打算用文本文件替换SQL,这不是不可能的。

CSV文件适合大量输入和大量输出。它们不适合操作点或维持关系。考虑使用数据库。

根据您的评论,使用XML而不是CSV会更有意义。这满足了人类和机器可读的需求,XML有很好的内置库用于搜索、操作、序列化等。

您可以在CSV文件中使用SQL查询:如何对CSV文件使用SQL,我已经为阅读做过,但从未为写作做过,所以我不知道这是否适合您。

最新更新