interbase

interbase

InterBase是一種關係數據管理系統(Relational database management system RDBMS),它提供了在單機或多用戶環境中的快速數據處理及共享的工具。InterBase的核心是提供透明的多機種支持的網路運行伺服器技術。InterBase是可以在Windows 95Windows NTNovell NetWare及多種UNIX操作系統上運行的工具。

目錄

正文


InterBase概述
InterBase的Windows 95和Windows NT版有兩種形式,一是基於單機應用的 Local InterBase,另一種為基於遠程、多機工作方式的InterBase Server。兩種伺服器都帶有Windows 的客戶工具,包括用戶授權和資料庫管理器Server Manager、用作資料庫定義及操作的Windows ISQL以及一系列其它高效的工具。
一、Local InterBase
作為一種單用戶32位ANSI SQL的本地伺服器,InterBase是與Borland的客戶開發工具(如Delphi、Visual dBase)的Client/Server版共同發售的。單用戶版是基於PC開發的,並被用來開發在本地資料庫環境中獨立應用的SQL應用程序及遠端伺服器連接的客戶/伺服器(Client/Server)應用程序。
二、InterBase Server
作為一種多用戶的、32 位ANSI SQL支持的遠端伺服器,InterBase Server是單獨發售或同Borland的有限客戶使用的Client/Server版開發工具(如 Delphi)一起發售的。
開發者可以使用基於資料庫引擎(Borland DataBase Engine--BDE)、核心資料庫及連通性軟體(connectivity middleware)的Borland用戶開發工具建立Client/Server應用程序。通過InterBase SQL Links連接到InterBase資料庫伺服器
當使用了Borland的客戶端開發工具(如Delphi Client/Server suit)時,BDE被作為InterBase Server 的 API介面使用。直接對 InterBase API進行操作的應用程序必須用InterBase Server Developer版來創建。
使用InterBase Server,客戶的應用程序也可以在其宿主語言中嵌入SQL、動態SQL語句。此外,這些應用程序還可以用 InterBase API的底層函數來編寫。InterBase通過InterBase API提供了訪問入口。
InterBase Server還包含了一個驅動程序,它專為開放式資料庫介面 (ODBC)而設計,使得ODBC客戶端應用程序同InterBase Server共享數據。
三、InterBase的特性簡介
InterBase提供了RDBMS的全部優點,下面是InterBase的一些關鍵特性:
表附錄C.1 InterBase的關鍵特性
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
特性(Feature) 簡介(Description)
─────────────────────────────────────
支持網路協議 支持Microsoft NetBEUI/命名管道和TCP/IP協議,便
於通訊。(只用於InterBase Server)
與SQL-92入口的一致性 通過互動式SQL工具和Borland桌面應用程序使ANSI
的標準SQL可被利用
同時訪問多個資料庫 一個應用程序可以在同一時間訪問多個資料庫
多代結構 伺服器可保持(必須的)紀錄的老版本。這樣多個事務可
以查到一致的資料庫視圖
查詢優化 伺服器對用戶進行自動優化處理,或用戶可以人為指定
查詢方案。
BLOB數據類型 Binary Large Objects(二進位大對象) 可以包含非格式化
數據如圖像和文本
定義參考完整性 自動交叉表格關係(在Fore|GN和Primary Key之間)進行
強制轉換
存儲過程資料庫中可編程元素。用其進行高級的查詢及數據操作
觸發器 自包含的程序模塊。當指定表格中的數據被插入、更
新或刪除時被激活
事件警報器 從資料庫嚮應用程序傳遞消息,允許應用程序接收數據
庫改變的非同步通知消息
可更新的視圖 當數據改變時,可立即在視圖上反映出來
用戶定義函數(ODFS) 在伺服器上運行的程序模塊
外部連接 在兩個表之間構造關聯,並進行更複雜的操作
顯式事務管理 對事務開始通訊及迴轉,也含已命令事務的全方位控制
多程序同時訪問數據 一個應用程序讀取表格,不需要禁止其它程序訪問此表
多維數組 按索引表排列的多列數據
自動兩階段提交 多資料庫協作事物中,在提交前先檢查所有資料庫的修
改情況(只用於InterBase Server)
InterBase的API 底層函數庫。使得應用程序構造SQL/DSQL語句,直接
訪問InterBase引擎並接收返回結果 (僅InterBase Server
Developer 版)
gpre 將嵌入的SQL/DSQL 語句的變數轉換成為可由語言編譯
器讀取格式的處理器。(僅InterBase Server Developer版)
伺服器管理器 一種Windows工具,對資料庫進行備份、修復、保持及
(Server Manager) 安全性的管理
Windows ISQL Windows的一種直觀互動式的數據定義及查詢工具。
命令行(Command-line)ISQL InterBase的直觀互動式SQL工具的命令行版,可以用其
替代Windows ISQL
Comdiag InterBase通訊診斷工具
命令行DBA工具 InterBase資料庫管理工具的命令行版本。可以用其替代
伺服器管理器Server Manager
頭文件 在應用程序開頭包含的文件。定義了 InterBase 的數
(Header Files) 據類型及函數調用 (僅InterBase Server Developer版)
製作文件(make file) 用來演示如何使用Borland MAKE工具來在Windows下
編譯、鏈接InterBase應用程序的文件 (僅 InterBase
Server Developer 版)
常式 C程序,可進行編譯、鏈接。程序可以用來在伺服器上
查詢InterBase資料庫範例。(僅 InterBase Server
Developer 版)
消息文件 INTERBAS.MSG文件,含呈送給用戶的消息。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
四、InterBase的約束
約束是由操作系統及硬體引入的限制項目。
對象限制
資料庫大小:沒有嚴格限制
每個資料庫可含文件:65536.元數據則只允許更少的文件數目(須為SHORT類型)
一個事務中打開的資料庫數:沒有嚴格限制
每個資料庫中可含表格:65536(用SHORT數字錶示)
每個表格的行、列數:無限制,記錄可以到64K。可創建列數視所用數據類型而
定。
行大小:64K
每個資料庫索引個數:無嚴格限制
每個表格的索引數:無嚴格限制
每個觸發器所容事件:無限制
每存貯過程所容事件:無限制
BLOB大小:32GB(BLOB段大小64K)
數組大小:64K
可聯表格:無限制
查詢嵌套層數:無限制
每一綜合檢索的列數:16
每一存貯過程的嵌套層數:Windows 3.x系統為75、Windows 95及WindowsNT
750、其它系統 1000
每一觸發器的嵌套層數:同上存貯過程的規定
存貯過程長度:48K
排序從句鍵:64K
觸發器長度:64K
五、語法規則
表附錄C.2講述了語句及簡碼中的語法約定,並提供了用法的簡單常式。
表附錄C.2 InterBase的語法約定
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
約定 用途 實例
─────────────────────────────────────
大寫(UPPERCASE) 應用時必須被正確輸入的關 SET TERM II;
鍵字
斜體(italic) 不能被分為更小單元的參數 CREATE TABLE,name
例如表格名稱不能再細分 ([,…];@
<斜體>() 在尖括弧中的參數可以被划 CREATE TABLE name
分為更小的句法單元,例如 ([,…]
列定義()可以被再分為 =mane
名稱、數據類型和強制定義 [CONSTRAINT name]
方括弧[ ] 方括中放可選項語句 ,[
省略號… 省略號表示括弧中的句子可 (,[…];
以重複需要的若干次
分隔符| 分隔符表示其分隔的兩個句 SET TRANSACTION
子中的任何一個可被用,但 {SNA PSHOT
不會都用 [TABLE STABILITY]|
READ COMMITTED}
花括弧{ } 在花括弧中的分隔符隔開多 SET TRANSACTION
種選項,必須使用其中之一, {SNAP SHOT[TABEL
在實際應用此語句時,必須 STABILITY] | READ
有一個選項被包含 COMMITTED
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
六、資料庫對象命名規則
在InterBase文件集中,InterBase資料庫對象如表格(tables)、視圖(views)及列(columns)的名稱,顯示為大寫字元。因為這是資料庫系統表格存貯信息的方式。
當程序員或用戶創建一個資料庫對象或用名稱來指定對象時,大小寫並不是很重要,只須遵守以下的資料庫對象命名規則即可:
① 每一個名字的第一個元素一定要是字母,即以字母(A-Z或a-z)開頭
② 對象名最長限度為31個字元,其中包括美元符號($)、下劃線(_),數字0-9,字母A-Z和a-z。一些對象會約束名稱,限制長度為27位元組
③ 保證對象名的唯一性。在所有情況下,同類型(如表格、視窗)的對象,名稱必須是唯一的。多數情況下,在資料庫範圍內的對象名稱亦必須是唯一的
七、文件命名規則
InterBase對於很多平台都是可用的。多數情況下,在多機種網路環境中的用戶可以訪問他們的InterBase資料庫文件,即使客戶端和伺服器端的平台是不相同的,只需知道目標平台上的文件命名規則即可。
因為文件命名規則在不同的平台上區別很大,而且由於核心的InterBase文件集對這些平台都是相同的,因此所有的文件名在文本狀態及例子中都是用DOS的 "8.3" 規則的,即最長8個字元的文件名和最長 3個字元的擴展名。例如,所有伺服器上的示範資料庫都是employee.gdb.
您可能注意到在例子中都用了擴展名:“.gdb”,它是預設的 InterBase 資料庫擴展名。通常情況下,InterBase完全支持各種平台的文件命名規則,包括節點和路徑名的用法。InterBase能識別用命令和語句表明的兩種類型的文件名稱說明。一種叫做主文件說明,另一種叫做次級文件說明。一些命令和語句在用次級文件說明時對節點名稱要進行規範限制。
在語法上,文件說明表示如下:
“<file spec>”
八、文件說明
1.主文件說明
在進行主文件說明時,InterBase語法總支持完整文件說明,包括可選的節點名和完全的路徑。例如,CREATE DATABASE用語法表示如下:
CREATE {DATABASE |SCHEMA]""
[USER "username"[PASSWORD"password"]
[PAGE-81ZE [=] int]
[LENGTH [=] int [PAGE[S]]
[DEFAULT CHARACTER SET charset]
在以上句子中,緊跟在CREATE DATABASE後面,它支持節點名和路徑說明,包括一個指定平台的驅動器或指定列。
2、次級文件說明
對於支持多種文件說明的InterBase語法,例如CREATA DATABASE,所有在第一個文件說明后的均為次級文件說明。次級文件說明通常不包含節點名稱,但可能說明一個完整的路徑,例如,CREATE DATABASE的句法說明如下:
CREATE {DATABASE |SCHEMA} : "filespec"
[USER "username" [PASSWORD "password"]]
[PAGA SIZE [=] int [PAGE[S]]]
[DEFAULT CHARACTER SET charset]
[
= FILE "filespec" [][
=LENGTH[=]int[PAGEE]|STARTING[AT[PAGE]]int[]
在次級文件說明中,不支持節點名稱的說明。
  • 目錄