【问题标题】:Array/List for implementing DBMS (Java)用于实现 DBMS (Java) 的数组/列表
【发布时间】:2017-07-13 14:12:33
【问题描述】:

我对编程很陌生,只编程了大约四到六个月。

我想找到一种在 java 中构建表的方法,并有方法可以连接两个不同的表,也许还有 where 子句(类似于 SQL)。我意识到可能存在一些可以完成工作的库,但我想自己实现它。我也希望能够支持 string 和 int 类型的列。

作为一个起点,我考虑将我的数据表示为一组行。我最初也在考虑创建一个列类,但是我希望加入工作的方式(类似于 SQL)这似乎令人头疼且不必要。

鉴于我只想使用列表/数组,行集合是个好主意吗?另外,如果我执行 String[][] 之类的操作并想要一个 int 列,我该怎么做?

谢谢

【问题讨论】:

  • 您可能希望在您的 Java 代码中进行表连接。这就是您的数据库适合的用途,也是创建数据库的原因。如果您需要在 Java 代码中表示一条记录,那么Object[] 将是执行此操作的最简单方法。同时,尽可能缩小您的问题范围。
  • @TimBiegeleisen “这就是您的数据库适合的用途,也是创建数据库的原因。”看来这就是他想要创造的。
  • 好吧,鉴于列的唯一类型可能是字符串和整数,我想支持两个表的自然内部连接。我并不是说字符串列可以保存整数,反之亦然,只是表可以有字符串列和整数列。所以为了更好地提出我的问题,我怎样才能只使用数组/列表来实现呢?

标签: java mysql arrays sql-server list


【解决方案1】:

我认为决定是使用 ArrayList 还是 Object[] 将是您最不关心的问题。但是,如果我们假设每个表的列数不变,那么在内部将一行存储为Object[] 并用提供实用方法的合理 Row 对象包装当然是有意义的。然后由于可以插入和删除行,因此在内部将它们存储为 List<Row> 是有意义的,当然用合理的 Table 对象包装。

【讨论】:

  • 你的意思是在预连接中保持不变的列数吗?如果是这样,那么是的。虽然我想支持像表 Z1 有 A 列和 B 列。表 Z2 有 A 列和 C 列。然后,表的笛卡尔积将返回一个大小很可能与 A、B 或 C 不同的表.
  • @JohnFang 就像我说的,决定使用哪种内部数据结构是您的问题中最少的。无意冒犯,但我认为您选择的项目对于您当前的技能水平来说太难了。而且这里没有人会一步一步为你写。
猜你喜欢
  • 2019-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-27
  • 1970-01-01
相关资源
最近更新 更多