设为首页 收藏本站
查看: 1363|回复: 0

[经验分享] 【Derby 系列】Apache Derby 功能特点

[复制链接]

尚未签到

发表于 2015-8-3 13:22:36 | 显示全部楼层 |阅读模式
  前言
进入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.iyunv.com/cmanlh/article/details/5278866

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-93739-1-1.html 上篇帖子: apache 压力测试 下篇帖子: apache DocumentRoot
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表