Apache Derby数据库系统使用方法

Apache Derby数据库系统使用方法


 

 

最近由于项目要求,试用了一下Apache Derby数据库,这里对了解到的内容做一个记录。

Apache Derby是一个开源的关系型数据库管理系统,用Java语言开发,它是在2005年被IBM捐赠给Apache Software Foundation的。它支持SQL-92标准,非常易于使用。

 

提纲

1、发展历史

2、基本情况介绍

3、应用使用Derby的方式

4、基本使用方法

 

1、发展历史

============

Apache Derby 项目的目标是构建一个完全用 Java 编程语言编写的、易于使用却适合大多数应用程序的开放源码数据库。开发一个数据库并不简单,Apache Derby 数据库也不例外。但是 Derby 项目并不是从零开始的。

1996年,一个叫做 Cloudscape, Inc 的新公司成立了,公司的目标是构建一个用 Java 语言编写的数据库服务器。公司的第一个发行版在一年之后推出,后来产品的名称变成 Cloudscape。

1999年,Cloudscape, Inc. 被大型数据库厂商 Informix Software, Inc. 收购。

2001年,Informix Software又被 IBM 收购,然后 IBM Cloudscape™ 数据库系统在许多 IBM 的产品中被用作内嵌的数据库引擎。

2004年4月,IBM 把 Cloudscape 数据库软件赠送给 Apache 软件基金会,从此 Apache Derby 项目诞生了。

 

2、基本情况介绍

==============

Derby 易于管理。当嵌入到客户应用程序中时, Derby 系统不需要任何管理干预。

Derby 是可嵌入的。应用程序可以将数据库管理系统( Database Management System , DBMS )引擎嵌入应用程序进程中,从而无需管理单独的数据库进程或服务。通过网络服务器( Network Server )架构或您选择的服务器架构,可以将 Derby 作为单独的进程来运行。

Derby 是Java 编写的内存数据库,属于 Apache 的一个开源项目,是一个纯 Java 的类库:对于 Java 开发人员,这点十分重要,因为他们正试图维护 Java 技术的优点,例如平台无关性、易于配置以及易于安装。

Derby 不需要专有的 Java 虚拟机( Java Virtual Machine , JVM )。因为完全是用 Java 语言编写的,所以它适应所有合格的 JVM 。

DerbyDBMS 引擎是轻量级的。类文件大小大约是 2MB ,并且只使用了 4MB 的 Java 堆。

Derby 支持使用 Java 编写存储过程和函数,这些存储过程和函数可以在应用程序的任何层上运行。 Derby 没有专用的存储过程语言,它使用 JDBC 。

 

3、应用使用Derby的方式

=====================

Derby的核心功能已经被打包成一个jar文件了,它的名字是derby.jar,只有 2 MB 大小,不过它运行之后占用内存更小。另外, Derby 数据库可以容易地与应用程序绑定在一起。

应用程序开发人员可以用两种方式使用Apache Derby数据库系统:

  • 作为内嵌的数据库使用。这中情况下,用户并不知道数据库的存在,应用程序把数据库集成到自己中,使数据库成为自己的一部分,二者在同一个 JVM 中运行,而数据库把数据保存在本地文件系统中。在内嵌模型中,数据库只与运行在同一JVM 中的应用程序通信。
  • 作为专业的数据库服务器使用。是许多商业厂商使用的更传统的模型,在这种模型中,应用程序通过网络连接与数据库通信,应用程序和数据库分别在各自的 JVM 中运行。数据库服务器可以与多个客户机应用程序通信。

 

4、基本使用方法

==============

这里介绍Apache Derby数据库的安装、作为网络服务器使用的时候它的服务端如何启动、客户端连接服务器、在客户端执行基本的查询命令等内容,有了这些内容,我们可以开始使用Derby,并且做一些基本的操作。

 

4.1 下载安装

-------------------

下载Apache Derby可以从Derby的官方网站上下载(http://db.apache.org/derby/),下载之后一般是一个类似于db-derby-10.14.2.0-bin.tar.gz这样的压缩文件,安装它的过程,其实就是解压缩此文件到合适的位置。

解压之后,应该在/etc/profile中设置DERBY_HOME环境变量,使它指向derby的安装目录。

环境变量设置之后,应该验证Derby的安装。首先,source derby_home/bin/setEmbeddedCP脚本,运行之后,需要运行sysinfo工具来验证derby的安装是否成功。具体执行过程如下:

[root@localhost db-derby-10.14.2.0-bin]# source bin/setEmbeddedCP
/root/Test/db-derby-10.14.2.0-bin
[root@localhost db-derby-10.14.2.0-bin]# echo $CLASSPATH
/root/Test/db-derby-10.14.2.0-bin/lib/derby.jar:/root/Test/db-derby-10.14.2.0-bin/lib/derbytools.jar:/root/Test/db-derby-10.14.2.0-bin/lib/derbyoptionaltools.jar:
[root@localhost db-derby-10.14.2.0-bin]# java org.apache.derby.tools.sysinfo
------------------ Java Information ------------------
Java Version:    1.8.0_144
Java Vendor:     Oracle Corporation
Java home:       /usr/local/jdk1.8.0_144/jre
Java classpath:  /root/Test/db-derby-10.14.2.0-bin/lib/derby.jar:/root/Test/db-derby-10.14.2.0-bin/lib/derbytools.jar:/root/Test/db-derby-10.14.2.0-bin/lib/derbyoptionaltools.jar:
OS name:         Linux
OS architecture: amd64
OS version:      2.6.32-696.el6.x86_64
Java user name:  root
Java user home:  /root
Java user dir:   /root/Test/db-derby-10.14.2.0-bin
java.specification.name: Java Platform API Specification
java.specification.version: 1.8
java.runtime.version: 1.8.0_144-b01
--------- Derby Information --------
[/root/Test/db-derby-10.14.2.0-bin/lib/derby.jar] 10.14.2.0 - (1828579)
[/root/Test/db-derby-10.14.2.0-bin/lib/derbytools.jar] 10.14.2.0 - (1828579)
[/root/Test/db-derby-10.14.2.0-bin/lib/derbyoptionaltools.jar] 10.14.2.0 - (1828579)
------------------------------------------------------
----------------- Locale Information -----------------
Current Locale :  [English/United States [en_US]]
Found support for locale: [cs]
         version: 10.14.2.0 - (1828579)
Found support for locale: [de_DE]
         version: 10.14.2.0 - (1828579)
Found support for locale: [es]
         version: 10.14.2.0 - (1828579)
Found support for locale: [fr]
         version: 10.14.2.0 - (1828579)
Found support for locale: [hu]
         version: 10.14.2.0 - (1828579)
Found support for locale: [it]
         version: 10.14.2.0 - (1828579)
Found support for locale: [ja_JP]
         version: 10.14.2.0 - (1828579)
Found support for locale: [ko_KR]
         version: 10.14.2.0 - (1828579)
Found support for locale: [pl]
         version: 10.14.2.0 - (1828579)
Found support for locale: [pt_BR]
         version: 10.14.2.0 - (1828579)
Found support for locale: [ru]
         version: 10.14.2.0 - (1828579)
Found support for locale: [zh_CN]
         version: 10.14.2.0 - (1828579)
Found support for locale: [zh_TW]
         version: 10.14.2.0 - (1828579)
------------------------------------------------------
------------------------------------------------------
[root@localhost db-derby-10.14.2.0-bin]# 

  

4.2 服务器的启动

==============

作为一个专业数据库服务器使用的时候,需要使用两个控制台窗口,一个用于启动Derby数据库服务端,另一个做为访问Derby数据库的客户端。

在命令行进入bin目录,运行startNetworkServer即可启动数据库服务器。

v[root@localhost db-derby-10.14.2.0-bin]# cd bin
[root@localhost bin]# ./startNetworkServer
Fri Jun 22 15:05:27 CST 2018 : Security manager installed using the Basic server security policy.
Fri Jun 22 15:05:28 CST 2018 : Apache Derby Network Server - 10.14.2.0 - (1828579) started and ready to accept connections on port 1527

  

4.3 客户端连接服务器

=================

在derby_home/bin目录下有一个 ij (interactive java)脚本,它是交互式 Java工具,用来作为客户端与 Apache Derby 数据库服务器通信。

[root@localhost bin]# ./ij
ij version 10.14
ij> connect 'jdbc:derby://localhost:1527/test;create=true';
ij> 

 

4.4 基本的使用方法

================

用ij工具连接上derby服务器之后,可以做一些基本的操作,具体如下:

ij> connect 'jdbc:derby:test;create=true' ;  #连接数据库test,如果不存在test数据库,则创建它
WARNING 01J01: Database 'test' not created, 
connection made to existing database instead.
ij> connect 'jdbc:derby:test' ;
ij(CONNECTION1)> show connections ;   #连接到test数据库了,show connections显示了目前已经连接到test数据库的连接有几个,以及当前的连接是哪一个
CONNECTION0 -   jdbc:derby:test
CONNECTION1* -  jdbc:derby:test
* = current connection
ij(CONNECTION1)> disconnect ;  #断开和数据库的连接
ij> show connections ;         #查看当前的连接
CONNECTION0 -   jdbc:derby:test
No current connection
ij> set connection CONNECTION0 ;  #把CONNECTION0设置为当前连接
ij> show connections ;
CONNECTION0* -  jdbc:derby:test
* = current connection
ij> exit ;  #退出ij

  

 以上就介绍了Apache Derby的基本使用方法,更多的详细内容,可以参考两个地方,第一个是Apache Derby的官方网站,第二是参考资料2。

 

参考资料:

1、https://www.cnblogs.com/zuzZ/p/8107915.html

2、https://www.ibm.com/developerworks/cn/opensource/os-ad-trifecta1/index.html?ca=drs-

3、http://db.apache.org/derby/

4、https://www.cnblogs.com/java-class/p/5753997.html

 

转载于:https://www.cnblogs.com/zhangzl419/p/9210253.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值