【Derby 系列】Apache Derby 功能特点
前言 
進入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 功能特点的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: Malware FAQ: How doe
- 下一篇: Android 第三课 构建简单的用户界
