0

我从多个来源发现,对象序列化主要用于存储对象,以便它们可以通过网络发送,以进行重新制作。它甚至必须经过测试:http ://www.ibm.com/developerworks/library/j-serialtest/index.html 。作为替代方案,我决定使用关系数据库。唯一的问题是,如果我依靠关系数据库来存储数据,我必须要求我的程序的任何用户安装或配置任何东西吗?//原谅我:我之前没有使用数据库的经验。

另外,我听说过 JavaDB(我的 Java 教科书称它为 Apache Derby 的一个版本)。它是关系数据库管理系统 (RDBMS) 的集合吗?如果答案是“是”,JavaDB 包含哪些 RDBMS?

4

3 回答 3

3

根据维基百科, Apache Derby是。

一个功能齐全的关系嵌入式数据库引擎,支持 JDBC 和 SQL 作为编程 API。它使用 IBM DB2 SQL 语法。

我认为您正在考虑的是JDBC,这是一种独立于供应商的从 Java 中访问数据库的方式。

于 2013-05-06T00:04:31.020 回答
2

Derby 是您可以使用的众多关系数据库之一。其他是 Oracle、SQL Server、MySQL、PostgreSQL 和 Hypersonic SQL。

有些是开源的(MySQL、PostgreSQL、Hypersonic SQL、SQL Lite);其他需要许可证(Oracle、SQL Server)。

有些需要安装(MySQL、PostgreSQL、Oracle、SQL Server);其他人没有(SQL Lite、Derby、Hypersonic SQL)。

Java 使用 JDBC 与所有数据库进行交互。您从供应商处获得一个 JAR 类,这些类在java.sql该特定数据库的包中实现接口。

于 2013-05-06T00:13:37.013 回答
1

我很大程度上取决于你想用数据库实现什么。如果数据库只能由用户在本地(在该机器上)连接,那么您可能更喜欢单用户数据库系统。

然后,您可以将数据库引擎作为常规部署的一部分包含在内,因为大多数不需要“安装”或“配置”,只需使用专门的 JDBC 连接即可启动。

看一眼

它们都是支持单用户访问概念的纯 Java 数据库,但如果您愿意,可以将其配置为独立的数据库服务器......

于 2013-05-06T00:14:31.033 回答