您的位置:首页 > 运维架构 > Apache

【Derby 系列】Apache Derby 功能特点

2013-06-28 09:17 369 查看
前言
进入Derby 的应用开发之前,浏览一下derby的功能集,这样在真正选择的时候,可以决定Derby是不是适合你的应用。
本篇的是【Derby 系列】初级的第3篇。

1. Derby 是关系型数据库管理系统,所有源代码用java 语言写成,可以运行于J2SE/J2EE 1.3 及更高版本环境下。Derby是Apache的子项目,开放源代码源。
2. Derby 数据库属于轻量级,核心引擎(engine)部分只有2M大小,并于移植,携带,部署。同时也可以嵌入到其他应用程序中使用。短小精炼的derby不需要专业DBA技能。
3. Derby 全面兼容 SQL92E, 部分支持SQL99。支持 JDBC(2.0,3.0,4.0)。一些常用的特性诸如:

自动增量列(可以自动生成唯一值从而作为主键的列)

二进制大对象(Blobs)

主键,外键,约束,默认值

通过隔离级别支持事务(isolation level)

存储过程,自定义function,触发器。(这些功能对于业务逻辑的封装至关重要。还记得.net开发推荐的储存过程模式吗?)

视图 (MySQL 多久才推出这个视图功能?)

级联删除(Cascade delete)

批量装载功能

表大小不限(因为是基于文件的DB,所以和操作系统的文件大小定义有个)

方便结果集(result set)处理的滚动游标(Scrollable cursors )

支持多线程/进程的并发处理

支持多用户访问

丰富的安全性支持

多做连接支持,JDBC,ODBC,CLI,.Net,PHP,Perl等等。

除了这些,还有一些古怪的功能,比如:

可编程的备份,表和空间的自动重组

某些特殊的锁,特殊的查询优化

Eclipse插件(core 和 UI )

系统提示信息的多语言话(支持中文简体和繁体)

4. SQL 支持

基础数据类型,比如:CHAR, DECIMAL, DOUBLE PRECISION, FLOAT, INTEGER, NUMERIC, REAL, SMALLINT

其他数据类型,BIGINT, VARCHAR, CHAR FOR BIT DATA, VARCHAR FOR BIT DATA, LONG VARCHAR, LONG VARCHAR FOR BIT DATA, BLOB, CLOB

日期时间类型(from SQL92T): DATE, TIME, TIMESTAMP

运算符:+,*,-,/,一元 +,一元 -

比较运算: <,>,<=,>=,<>,=

内置功能函数: ABS or ABSVAL, CAST, LENGTH, CONCATENATION (||), NULLIF and CASE expressions, CURRENT_DATE, CURRENT_ISOLATION, CURRENT_TIME, CURRENT_TIMESTAMP, CURRENT_USER, DATE, DAY, HOUR, IDENTITY_VAL_LOCAL, LOCATE, LCASE or LOWER, LTRIM,MINUTE, MOD, MONTH, RTRIM, SECOND, SESSION_USER, SQRT, SUBSTR, TIME, TIMESTAMP, UCASE or UPPER, USER, YEAR

SQL 逻辑:BETWEEN, LIKE, NULL, IN, ALL, ANY, SOME, EXISTS

各种SQL DDM/DDL命令: create, drop schema/table/view; INSERT, UPDATE, and DELETE statements

各种约束用的关键字: NOT NULL, UNIQUE, PRIMARY KEY, CHECK, FOREIGN KEY

各种查询关键字:where, group by, having, order by, UNION and UNION ALL, SELECT DISTINCT, Select *

各种聚集功能函数:AVG, COUNT, MAX, MIN, SUM

支持子查询

支持joins(SQL92T): INNER, RIGHT OUTER, LEFT OUTER, named column join, conditional join, Joins in the WHERE clause

UNION in views

.....

总结
以上简要列举了Derby的功能,挂一漏万,并不完备。但从中也看出Derby的功能足够强了。比当年Mysql提供的sql支持要强大的多。
而且Derby还在不断的完善,更新。我们既可以用它做商业开发,也可以作为学习的对象。(应用级,代码级。)
下一篇中,将要介绍Derby的3大组成部分,以及应用连接的2种重要架构模式--嵌入式Client/Server 相关

相关文章:

/article/2585964.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: