前言
进入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 相关

相关文章:

http://blog.csdn.net/cmanlh/article/details/5278866

【Derby 系列】Apache Derby 功能特点相关推荐

  1. Apache Derby数据库JVM安全策略

    抽象 我已经发布了许多有关Derby的博客: Derby数据库备份 同一主机上的多个Derby网络服务器 Apache Derby数据库用户和权限 与Maven和内存中Derby数据库的集成测试 这本 ...

  2. java derby数据库_使用Apache Derby进行Java数据库开发,第1部分

    java derby数据库 JDBC简介 以前,本系列文章通过使用ij工具连接Apache Derby数据库并与之交互来演示了许多数据库概念. 尽管当时可能还不太明显,但是您使用的Java应用程序使用 ...

  3. java derby数据库_使用Apache Derby进行Java数据库开发,第3部分

    该"使用Apache Derby进行Java数据库开发"系列的上一篇文章向您展示了如何使用Java Statement对象在Apache Derby数据库上执行SQL SELECT ...

  4. apache derby_使用Apache Derby进行数据库开发,第2部分

    apache derby 关系数据库系统的基础 在开始开发数据库应用程序之前,您需要了解基本概念. 本节介绍了Apache Derby中可用的数据类型以及影响您设计和创建有用的Derby数据库应用程序 ...

  5. apache derby_使用Apache Derby进行数据库开发,第3部分

    apache derby SQL脚本 在本系列的上一篇文章" 使用Apache Derby进行数据库开发,第2部分:模式 "(developerWorks,2006年4月)中,您直 ...

  6. Apache Derby数据库用户和权限

    抽象 Apache Derby很棒! 尤其是在微服务环境中,服务的数据(可能)会缩减,并且不需要更强大的RDBMS. Derby很棒,因为它非常易于使用,尤其是在涉及用户和权限时,您不需要任何东西! ...

  7. 小巧数据库 Apache Derby 使用攻略

    1. Derby 介绍 将目光放在小 Derby 的原因是纯绿色.轻巧.内存占用小,分分钟在你机子跑起来,自己做点需要连接数据库的代码实践非常方便. 虽然 Mysql 也可以,多一种选择,不是也挺好么 ...

  8. derby ij命令_回归基础:编写Apache Derby的ij工具的脚本

    derby ij命令 ij工具的目的是什么? Apache Derby数据库(及其商业堂兄弟IBM®Cloudscape™)的位置非常适合嵌入到应用程序中. 它体积小巧,同时兼容Java™数据库连接( ...

  9. 安装启动azkaban的server和executor时报错Error:Could not initialize class org.apache.derby.jdbc.AutoloadedDrive

    问题描述: 安装启动azkaban的server和executor时报错Error:Could not initialize class org.apache.derby.jdbc.Autoloade ...

最新文章

  1. hbase shell
  2. 线程安全的理论讲解(volatile)
  3. 3月6日 输入与输出 数据类型 运算符
  4. 5月25日-js操作DOM遍历子节点
  5. 在Unbuntu 上安装Phalcon
  6. Linux网络编程之connect创建
  7. p12文件和mobileprovision文件导入到xcode如何使用
  8. 三星android o测试版,三星美版 Galaxy Note8 N950U 升级安卓8.0测试版固件和教程
  9. 中标麒麟V7系列OS强制破解密码
  10. 三极管、MOSE管的作用总结
  11. JSP 银行网上账户管理系统myeclipse编程java网页
  12. 百丽时尚赴港IPO,持续释放品牌年轻化活力
  13. SpringBoot碰到的常见问题
  14. #今日论文推荐# 文字秒变3D?苹果发布最新AI生成模型GAUDI,根据文字提示创建3D场景
  15. Hadoop分布式集群搭建以及案例运行-fs操作
  16. VUE:自定义指令(directives )选项的用法
  17. android2.3.7刷机包,【新蜂】联想A789 刷机包 V3.2 (Android 4.0.4) 稳定流畅 纯净省电 完整ROOT...
  18. 计算机显示字体怎么设置,电脑字体太小怎么调,教您怎样更改电脑界面的字体大小...
  19. 统计学简介之十——样本量的确定
  20. 关于root登陆远程亚马逊服务器

热门文章

  1. 安装 | Windows 10下基于Anaconda平台的TensorFlow详细安装步骤
  2. 光流 | 基于KLT(Kanade-Lucas-Tomasi)特征点跟踪算法(附代码,可扩展)
  3. __typeof__() 、 __typeof() 、 typeof()的区别
  4. C Runtime Library 的来历
  5. 写了 15 年代码,总结出提升 10 倍效率的三件事
  6. 和卷积的区别_[CVPR2019]:最新高效卷积方式HetConv
  7. 嘉宾及议程速览,第四范式2021发布会进入一周倒计时
  8. erlang精要(30)-卫语句
  9. 【深度学习】19家机构联合发布,200页大模型Roadmap!
  10. 荒唐!获得杰青的北大教授,竟被本科生质疑硕士毕业双非高校也能任教?