在早期的速达软件中数据库是用INTERBASE数据库O\|qvy_P POKA}G
INTERBASE 数据库是什么呢?o#bKy)j2Yu38/y/z
InterBase是一种关系数据管理体系(Relational database management system RDBMS),它提供了在单机或多用户环境中的快速数据处理及共享的工具。InterBase的核心是提供透明的多机种支撑的网络运行服务器技术。InterBase是可以在Windows 95、Windows NT、Novell NetWare及多种UNIX操作体系上运行的工具。
Z?P*,7 {yCqW
InterBase的Windows 95和Windows NT版有两种情势,一是基于单机应用的 Local InterBase,另一种为基于长途、多机工作体例的InterBase Server。两种服务器都带有Windows 的客户工具,包括用户授权和数据库管理器Server Manager、用作数据库定义及操作的Windows ISQL以及一系列其它高效的工具。
6+30y/F&;1$gJlr
一、Local InterBase
3m^kz"DFgJcP-vPDa
作为一种单用户32位ANSI SQL的本地服务器,InterBase是与Borland的客户开发工具(如Delphi、Visual dBase)的Client/Server版共同发售的。单用户版是基于PC开发的,并被用来开发在本地数据库环境中自力应用的SQL应用程序及远端服务器连接的客户/服务器(Client/Server)应用程序。
4+=: sN
ei5€jGvN
二、InterBase Server
q}1.qZ#plH_MA&I%
作为一种多用户的、32 位ANSI SQL支撑的远端服务器,InterBase Server是单独发售或同Borland的有限客户使用的Client/Server版开发工具(如 Delphi)一路发售的。
3+ {HCB)"#oZ26K
开发者可以使用基于数据库引擎(Borland DataBase Engine--BDE)、核心数据库及连通性软件(connectivity middleware)的Borland用户开发工具建立Client/Server应用程序。通过InterBase SQL Links连接到InterBase数据库服务器。
[_Derc=b'*=c-2
当使用了Borland的客户端开发工具(如Delphi Client/Server suit)时,BDE被作为InterBase Server 的 API接口使用。直接对 InterBase API进行操作的应用程序必须用InterBase Server Developer版来创建。
G{|Zpn8lN@kWp(1
使用InterBase Server,客户的应用程序也可以在其宿主语言中嵌入SQL、动态SQL语句。此外,这些应用程序还可以用 InterBase API的底层函数来编写。InterBase通过InterBase API提供了访问入口。
Ztkq
,,€3QxfNt~
InterBase Server还包含了一个驱动程序,它专为开放式数据库接口 (ODBC)而设计,使得ODBC客户端应用程序同InterBase Server共享数据。
h' ?a-?_ZLdU(`mc
三、InterBase的特征简介
xz, Q/h]Z)aaH'
InterBase提供了RDBMS的悉数好处,下面是InterBase的一些关键特征:
] u€g2#f4m
表附录C.1 InterBase的关键特征
-ndLHp€40(K7}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
,/*)#z=SO |NL:
特征(Feature) 简介(Description)
+?C 0gq"&ca?:BP
─────────────────────────────────────
V7ru$JD€NR:f
支撑网络协议 支撑Microsoft NetBEUI/命名管道和TCP/IP协议, 便
OjjRX%WP48Sc9nP6
于通信。(只用于InterBase Server)
~F{EF`
{lV4@En
与SQL-92入口的同等性 通过交互式SQL工具和Borland桌面应用程序使ANSI
$f
}N#0D/4+- \=I
的标准SQL可被行使
sDh@Al:[n)Xqv
同时访问多个数据库 一个应用程序可以在统一时间访问多个数据库
.$WWf$a xD3c{C|n
多代结构 服务器可保持(必须的)纪录的老版本。如许多个事务可
t1oG!*)Suh\JJ6(H=
以查到同等的数据库视图
4=q"MLm(1"7*eN?
查询优化 服务器对用户进行主动优化处理, 或用户可以人为指定
$XX.7O{VF*9OWLW]
查询方案。
-tK0Ae+r
|eK2v,
BLOB数据类型 Binary Large Objects(二进制大对象) 可以包含非格式化
ZTs*$R
MRU2?(Z-P
y
数据如图像和文本
?nsde^D)$#Bgjz
定义参考完备性 主动交叉表格关系(在Fore|GN和Primary Key之间)进行
UuPv:|:m Y%?H
强制转换
@S|9R)uw;)hk|;'_],
存储过程 数据库中可编程元素。用其进行高级的查询及数据操作
?|{|80=!n[nvv [H
触发器 自包含的程序模块。当指定表格中的数据被插入、 更
Hi=Z%MwgJ!QuhCyrK-
新或删除时被激活
3v€@^WrB?Nlxb
事件警报器 从数据库向应用程序传递新闻,许可应用程序接收数据
HnX@o%Q%?rKA-=n- d
库改变的异步关照新闻
b.]}kNZpzp@q=b
可更新的视图 当数据改变时,可立即在视图上反映出来
uB*.el, `%C8'Jup
用户定义函数(ODFS) 在服务器上运行的程序模块
(6Bum (R[ E2/_s
外部连接 在两个表之间构造关联,并进行更复杂的操作
/]od\!'u€\Ark
显式事务管理 对事务开始通信及回转,也含已饬令事务的全方位控制
5K5L}pD7* )JQ5rvPN
多程序同时访问数据 一个应用程序读取表格,不必要禁止其它程序访问此表
+c!ulg3;&$uM=~%(
多维数组 按索引表排列的多列数据
`_O0e\f3ezR=@Z
主动两阶段提交 多数据库协作事物中,在提交前先检查所稀有据库的修
uY~tZl E|5ngHW3w
改情况(只用于InterBase Server)
zzrT-"V:eTP:=ia8M:/
InterBase的API 底层函数库。使得应用程序构造SQL/DSQL语句, 直接
jw2z`paHe5J4WG]
访问InterBase引擎并接收返回效果 (仅InterBase Server
zo=hX)8\V
r;+
Developer 版)
RseE[qAXU
niwIsP~^
gpre 将嵌入的SQL/DSQL 语句的变量转换成为可由语言编译
F
f+
!k0,01;*C
器读取格式的处理器。(仅InterBase Server Developer版)
* E.vASNAXy=vY5
服务器管理器 一种Windows工具,对数据库进行备份、修复、保持及
jdFh? @7xZ{!KGwstI
(Server Manager) 安全性的管理
=:9!3;(*=T^@Sc1A7
Windows ISQL Windows的一种直观交互式的数据定义及查询工具。
%Wf#c6X%UvCb(
饬令行(Command-line)ISQL InterBase的直观交互式SQL工具的饬令行版,可以用其
D ^nc) =[?,2^\1=w
替换Windows ISQL
suE*x-iV#~}H)w2$
Comdiag InterBase通信诊断工具
11RcK[%DW
XZM;
饬令行DBA工具 InterBase数据库管理工具的饬令行版本。可以用其替换
pOP-HV*n8s)g$=\=n
服务器管理器Server Manager
%CUBhcTmx~?;o+
头文件 在应用程序开头包含的文件。定义了 InterBase 的数
b-s , Lkl
'_kCiI
(Header Files) 据类型及函数调用 (仅InterBase Server Developer版)
VA&]A)i7?hr€f[}
制作文件(make file) 用来演示如何使用Borland MAKE工具来在Windows下
f9([=BGLtuD69=G@,~
编译、链接InterBase应用程序的文件 (仅 InterBase
%Ry2Xo%Ft/G\_x~~Xp
Server Developer 版)
k?W.:~5[U=EdpJsg
例程 C程序,可进行编译、链接。程序可以用来在服务器上
LjjH.8:Is)E43p|4
查询InterBase数据库范例。(仅 InterBase Server
cXh=5m{$g6~$l=OL
Developer 版)
HA(63(Xq%$ k,~}^U
新闻文件 INTERBAS.MSG文件,含呈送给用户的新闻。
ziJPg=$ T
[LKqM
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
#X1v !LPx#KW,bX
四、InterBase的束缚
TT'G.\`ak{8TA]f%
束缚是由操作体系及硬件引入的限定项目。
3!*H
G?q(KaO`&}
对象限定
€WM6mj!-Q*0
"u
8i
数据库大小 :没有严酷限定
yZ"AU:?I:1n 1n,
每个数据库可含文件 :65536.元数据则只许可更少的文件数目(须为SHORT类型)
y#=qsD%~~{
d~BH
一个事务中打开的数据库数 :没有严酷限定
)&g0xiapU
y[ %N48P
每个数据库中可含表格 :65536(用SHORT数字透露表现)
qN
:'GP"xN!XJtkAJ
每个表格的行、列数 :无穷制,记录可以到64K。可创建列数视所用数据类型而
hUN`^i
Yi3]`)T^
定。
@14`AnuOdoK7yG
行大小 :64K
!iUh=4# ,K|0=R
每个数据库索引个数 :无严酷限定
8 'UXD-'My|VhI{
每个表格的索引数 :无严酷限定
glNw6GYIt|^€1GN
每个触发器所容事件 :无穷制
5C
&2Bok,!&(FwZ
每存贮过程所容事件 :无穷制
kW;[
]svlO._'|,
BLOB大小 :32GB(BLOB段大小64K)
cc
EUu=$zk\3In!w3
数组大小 :64K
b\EIB|5m€
)C
可联表格 :无穷制
€$Ds?F${CIJ)"L88
查询嵌套层数 :无穷制
`eyDK7'
~JbvI_#
每一综合检索的列数 :16
WO),kiuSP-OIwlfx
每一存贮过程的嵌套层数 :Windows 3.X体系为75、Windows 95及WindowsNT为
N|dR*rz*.:E5f%k/V
750、其它体系 1000
\Te€o+ dAU/74lq
每一触发器的嵌套层数 :同上存贮过程的规定
3s:
D'lMpJ&%jn
存贮过程长度 :48K
3~nEd4p"* qY#y69|
排序从句键 :64K
(O U~7ekb8O€lq=
触发器长度 :64K
'65QzA~=\ooX
五、语法规则
I o}og{B*4eq}R$
表附录C.2讲述了语句及简码中的语法约定,并提供了用法的简单例程。
J%sc,1I(SMf ~m
表附录C.2 InterBase的语法约定
nseGP r?h$AZ&T(K
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
\6X85Ag$
:CL'|
约定 用途 实例
%UPjsk'{871~R[
─────────────────────────────────────
ErDz-
*`S0`') '
大写(UPPERCASE) 应用时必须被精确输入的关 SET TERM II;
j{Z;w-+$,)J1L-z
键字
-Nay-cz#Odx
斜体(italic) 不能被分为更小单元的参数 CREATE TABLE,name
m!E?Aa\P`%QQVm_X
例如表格名称不能再细分 (<col>[,<col>…];@
z=%atb4$|nEs(GFq
<斜体>(<italic>) 在尖括号中的参数可以被划 CREATE TABLE name
OW"03:))=\*D{MGva
分为更小的句法单元,例如 (<col>[,<col>…]
€47p-wjCf'6i%
8
列定义(<col>)可以被再分为 <col>=mane<datatype>
eKlCjmbQ*ZsNe4l
名称、数据类型和强制订义 [CONSTRAINT name<type>]
}\2xb&0"9.)t)€
方括号[ ] 方括中放可选项语句 <col>,[<col…]
s0S6%T }_`?
k4
省略号… 省略号透露表现括号中的句子可 (<col>,[<col>…];
;JNbm= +F@Iv
以重复必要的若干次
q@0hrbo&;Ee~6
分隔符| 分隔符透露表现其分隔的两个句 SET TRANSACTION
;+Gf&YFDtwo`{}5(sCw
子中的任何一个可被用,但 {SNA PSHOT
I€h?ga;U?D'u"r5*^L
不会都用 [TABLE STABILITY]|
x;9=3ad oRkCp€#y
READ COMMITTED}
]Djt#(e
=l~b€
花括号{ } 在花括号中的分隔符隔开多 SET TRANSACTION
@5\xE"w
sR4HO="#
种选项,必须使用其中之一, {SNAP SHOT[TABEL
fCM?oO
,oQ€i`\3
在现实应用此语句时,必须 STABILITY] | READ
o^}#ZfdX(PHgi`=8F
有一个选项被包含 COMMITTED
y4A~M7Yn{McXV€1O
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
8-RvSv'
mlxs
六、数据库对象命名规则
[\TY|
C=$/{tv"?
在InterBase文件集中,InterBase数据库对象如表格(tables)、视图(views)及列(columns)的名称,表现为大写字符。由于这是数据库体系表格存贮信息的体例。
\2)o^5=']jlGC=
当程序员或用户创建一个数据库对象或用名称来指定对象时,大小写并不是很紧张,只须遵守以下的数据库对象命名规则即可:
]N{O %g%xpPO(k0RT
① 每一个名字的第一个元素肯定要是字母,即以字母(A-Z或a-z)开头
q-Ws#-L}m?jFn=v
② 对象名最长限度为31个字符,其中包括美元符号($)、下划线(_),数字0-9,字母A-Z和a-z。一些对象会束缚名称,限定长度为27字节
hKGsR!*ymN4gq8i
③ 保证对象名的唯一性。在所有情况下,同类型(如表格、视窗)的对象,名称必须是唯一的。多数情况下,在数据库范围内的对象名称亦必须是唯一的
+ h284.{l
s&|0
七、文件命名规则
(|g**K?fKVj~k[Af
InterBase对于许多平台都是可用的。多数情况下,在多机种网络环境中的用户可以访问他们的InterBase数据库文件,即使客户端和服务器端的平台是不雷同的,只需知道目标平台上的文件命名规则即可。
Vn?8e@rQ4AQr1H]jZ
由于文件命名规则在不同的平台上区别很大,而且因为核心的InterBase文件集对这些平台都是雷同的,因此所有的文件名在文本状况及例子中都是用DOS的 "8.3" 规则的,即最长8个字符的文件名和最长 3个字符的扩展名。例如,所有服务器上的示范数据库都是employee.gdb.
4wjZA"e
&@3Ifp
您可能细致到在例子中都用了扩展名:“.gdb”,它是缺省的 InterBase 数据库扩展名。通常情况下,InterBase完全支撑各种平台的文件命名规则,包括节点和路径名的用法。InterBase能识别用饬令和语句注解的两种类型的文件名称说明。一种叫做主文件说明,另一种叫做次级文件说明。 一些饬令和语句在用次级文件说明时对节点名称要进行规范限定。
*_q#j9:fltjRScQ"qx
在语法上,文件说明透露表现如下:
^1B)|fn
K\cx: |3&@
“<file spec>”
tMwVGG S:Pb
nHdhGm
八、文件说明
ZT: OTgFz @`4N8gK
1.主文件说明
#2d@.€D?5w78%-B3
在进行主文件说明时,InterBase语法总支撑完备文件说明,包括可选的节点名和完全的路径。例如,CREATE DATABASE用语法透露表现如下:
$€xQA{bFIHmvlkbK
CREATE {DATABASE |SCHEMA]"<file spec>"
xCJ{"lC60(6[
[USER "username"[PASSWORD"password"]
2}1NN?u2o'U0LjQ
[PAGE-81ZE [=] int]
DI~NgxHn\]s0
[LENGTH [=] int [PAGE[S]]
=rSUU\j0Ja oU@y
[DEFAULT CHARACTER SET charset]
-k?T7$43e'.(#0{}
…
)iv/]€g=4]2iU7]y
在以上句子中,<filespec>紧跟在CREATE DATABASE后面,它支撑节点名和路径说明,包括一个指定平台的驱动器或指定列。
jEA[=D!l-S'7W
2、次级文件说明
U7+V=it{j,rU?\Bqx
对于支撑多种文件说明的InterBase语法,例如CREATA DATABASE,所有在第一个文件说明后的均为次级文件说明。次级文件说明通常不包含节点名称, 但可能说明一个完备的路径,例如,CREATE DATABASE的句法说明如下:
P=/'jSY~hBl^sLo6
CREATE {DATABASE |SCHEMA} : "filespec"
w/2b{,=V€0z:.q"DX
[USER "username" [PASSWORD "password"]]
[kt&;5t-;
,%
[PAGA SIZE [=] int [PAGE[S]]]
q-?3t|quzW''d5
[DEFAULT CHARACTER SET charset]
Z42h088FeD0(G6Mv
[<secondary-file]
0_~QN!&m8(ZStD4_%
<secondary-file> = FILE "filespec" [<fileinto>][<secondaryfile]
T:MzaGcym2('7Z\
<fileinfo>=LENGTH[=]int[PAGEE]|STARTING[AT[PAGE]]int[<fileinfo>]
h€li(@lvT`x
在次级文件说明中,<filespec>不支撑节点名称的说明。
${=OI[\ i/ir&0Vqqd
[版权归原作者及coolcxm共同拥有,转载请注明出处]