【问题标题】:Is there any database system which I can use it without installation有没有我可以不用安装就可以使用的数据库系统
【发布时间】:2014-05-04 01:47:46
【问题描述】:

我正在设计一个小程序,我想使用数据库来管理我的数据。我想要一个数据库,我可以把它放到我的系统中,这样用户就可以在不安装任何数据库系统的情况下使用它。

那么有没有适合我项目需求的数据库?

编程语言:Java 平台:跨平台(linux、windows、mac)

我想使用嵌入式数据库系统的三个原因

  1. 我的系统中没有太多信息
  2. 我希望用户可以直接使用我的系统而无需设置任何数据库
  3. 我也希望当我将我的系统从计算机 A 复制到计算机 B 时,它可以保留所有数据

除了数据库,我也考虑用XML文件来管理数据,但我觉得用XML不是一个好主意,因为它不容易更新或删除数据。

这是我第一次使用stackoverflow,所以有些文化我不是很清楚。如果我冒犯了stackoverflow,请原谅我。

【问题讨论】:

  • 为什么用户必须为您的项目安装数据库系统?您的数据库用于为他们存储信息......他们使用系统/项目/程序。不是数据库系统。所以要么你没有为这个问题提供足够的信息,要么用户不需要安装数据库系统

标签: mysql sql xml database sqlite


【解决方案1】:

我在java中使用h2

对于以下场景:

  1. h2真的很小(1Mb左右),很容易复制,和maven、gradle等配合使用也很方便。
  2. h2是纯java db,当我想对我的DAO java代码写单元测试时,很容易上手。
  3. h2可以模拟oracle方言、mysql方言。在我用 h2 构建了一个演示后,很容易将所有 java 代码移动到一个大型数据库系统中。
  4. 在 H2 jdbc URL 中,很容易在文件中配置初始化 SQL 脚本。通过此功能,可以轻松创建一个清晰的数据库,其中仅包含必要的数据。
  5. 当您想要共享数据时,您可以简单地将数据库文件发布到您的生产环境中,这对于 Oracle 或 MySQL 来说很难。

另一个真实的例子是Atlassian Confluence。您可以下载并安装 Confluence,使用 h2 启动它进行试用。当您决定在业务中使用它时,请将其设置为连接 MySQL 或 Oracle。

【讨论】:

  • 我的编程语言是java,我的平台是linux和windows
  • 没关系,h2不管你用什么操作系统。它只是一个小 jar 文件,可以将数据持久化到磁盘上的文件中或仅将数据存储在内存中。
  • 这应该是一条评论。但是由于您的声誉太低而无法制作,因此我赞成您的回答,以使您更接近能够做到这一点。
【解决方案2】:

SQLite 是一种常见的选择。您可以将数据库核心功能作为库嵌入到您的应用程序中。唯一需要的本地资源是普通文件系统上的普通文件——没有驱动程序、守护进程等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-21
    • 1970-01-01
    • 2014-09-10
    相关资源
    最近更新 更多