【发布时间】:2015-04-06 23:32:45
【问题描述】:
假设您可以读取 CSV 文件中的一堆数据,其中包含一些相互关联的表。什么 Java 对象结构,它使用 JDK 提供的标准 Java 集合最适合表示关系数据库,以预期为类似于大多数常见数据库查询的请求提供服务,包括标准选择,以及 count(*),select distinct() 、分组依据和其他最常见的查询。数据量相对较小,因此如果我们将所有内容都保存在内存中,则不会出现内存问题。
只是想强调一下,这不是关于 SQL 解析或使用内存 SQL 数据库的问题。当您预先不知道所有特定查询时,这几乎是 Java 中最有效的后端关系数据库表示。
【问题讨论】:
-
我认为表示关系数据的最有效方式是在关系数据库中。为什么不将您的 CSV 解析为 SQLite 并进行查询?
-
嗯,这更像是一个理论问题,只是感兴趣,他们是如何做到的,在 SQLite 内部说?
-
关系数据库怎么样?
-
您可能想要编辑您的问题以更清楚地表明它是理论上的(在这种情况下,CS Theory 可能会更好地回答);因为您似乎在寻求有关如何实现关系数据存储的建议,这基本上不可能简明扼要地回答。
-
dimo414 - 非常感谢您的有趣回复。你是对的,我没有合理地提出这个问题。这不完全是理论上的问题。假设你只有一个 CSV 文件,只有一个表,甚至 SQLlite 和 H2 都不值得,它们都可以放在内存中,所以数据量并不大。将此表表示为 java 对象的最佳方法是什么?预测您通常会向数据库表显示的查询,但不知道您需要如何查询它?
标签: java database oop relational