【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
进入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
相关文章推荐
- 【Derby 系列】[初级-2] Apache Derby 功能特点概览
- Atlas系列一:Atlas功能特点FAQ
- 【Derby 系列】[初级-3] Apache Derby 组成
- 小程序干活系列----实现常见一些功能按钮(flex布局)
- mongodb基础系列——java操作mongodb实现图片文件功能
- VR系列——Oculus Audio sdk文档:二、Oculus音频SDK指南(1~2)——SDK内容和特点及要求
- OllyDBG 入门系列(七)-汇编功能
- [js高手之路]设计模式系列课程-设计一个模块化扩展功能(define)和使用(use)库
- Python Twisted系列教程10:增强defer功能的客户端
- ext2.2打造全新功能grid系列--批量删除篇
- OllyDBG 入门系列(七)-汇编功能
- Mysql系列(五)索引功能
- 一步一步学Silverlight 2系列(5):实现简单的拖放功能
- TIBCO iProcess实战系列:TIBCO iProcess集成功能简介
- Liferay 6.2 改造系列之三:删除Docbar中的添加内容功能
- VR系列——Oculus Audio sdk文档:二、Oculus音频SDK指南(6~8)——平台笔记,中间设备支持以及Oculus硬件功能
- 微软邮件系统Exchange 2013系列(一)新增功能 推荐
- Distributed System: ZooKeeper系列之二 (功能)
- Android系列之夜间模式和日间模式的功能实现
- iOS开发工具系列(按功能分)