展望2011

2007-03-27 | Sybase数据库简介【转】

上一篇 / 下一篇  2007-04-27 22:28:05 / 个人分类:数据库

)C"CAWR4Z??8]0一、Sybase数据库简介 

3d)|XH8u$v0

#`0c,A s._4E01.版本

+wM1?e9I6H7c051Testing软件测试网9u u??.g3] {5G

1984年,Mark B. Hiffman和Robert Epstern创建了Sybase公司,并在1987年推出了Sybase数据库产品。SYBASE主要有三种版本,一是UNIX操作系统下运行的版本,二是Novell Netware环境下运行的版本,三是Windows NT环境下运行的版本。现在最新版本已经是 12.5,在各主流Unix操作系统中均有广泛应用。IBM AIX,HP unix,Digital Unix,Sun solaris等等。51Testing软件测试网!r5|#K2R@ S @ |O

51Testing软件测试网'sll,uf8jCao q

2.Sybase数据库的特点 

9DIy2s#x6S051Testing软件测试网D3|D%d@0o

(1)它是基于客户/服务器体系结构的数据库 
6{A,m/a!^ C051Testing软件测试网nj+o9J@+G(t!| Q
一般的关系数据库都是基于主/从式的模型的。在主/从式的结构中,所有的应用都运行在一台机器上。用户只是通过终端发命令或简单地查看应用运行的结果。 而在客户/服务器结构中,应用被分在了多台机器上运行。一台机器是另一个系统的客户,或是另外一些机器的服务器。这些机器通过局域网或广域网联接起来。客户/服务器模型的好处是: 
+q `oF ow0
C{s!FAU0● 它支持共享资源且在多台设备间平衡负载 
a z#xzHHu0
m5VTk!fh] J\0● 允许容纳多个主机的环境,充分利用了企业已有的各种系统 
51Testing软件测试网8ss9]5M(B^zL-l

F7c'~^zx5}9Z0(2) 它是真正开放的数据库 

+ek.\)E ^ [_Xl051Testing软件测试网 Y.d O)q m X a

由于采用了客户/服务器结构,应用被分在了多台机器上运行。更进一步,运行在客户端的应用不必是Sybase公司的产品。对于一般的关系数据库,为了让其它语言编写的应用能够访问数据库,提供了预编译。Sybase数据库,不只是简单地提供了预编译,而且公开了应用程序接口DB-LIB,鼓励第三方编写DB-LIB接口。由于开放的客户DB-LIB允许在不同的平台使用完全相同的调用,因而使得访问DB-LIB的应用程序很容易从一个平台向另一个平台移植。

#yc-oQ#QGj0

FC v6I7F F4hb8O,@0(3) 它是一种高性能的数据库 
!u;W_E&X Kj051Testing软件测试网E%}7G.|u3_
Sybase真正吸引人的地方还是它的高性能。体现在以下几方面: 
\6i~G}U051Testing软件测试网 G9u+bY'I!I~
● 可编程数据库 51Testing软件测试网s/_x4X(a"__G*d6R4z
51Testing软件测试网;]*sW(kn@v(X
通过提供存储过程,创建了一个可编程数据库。存储过程允许用户编写自己的数据库子例程。这些子例程是经过预编译的,因此不必为每次调用都进行编译、优化、生成查询规划,因而查询速度要快得多。 51Testing软件测试网,m4o5a D I Sp1A

#~5{3c'{7nP9]0● 事件驱动的触发器 51Testing软件测试网N-Omal[S(]T
51Testing软件测试网Rv:O5b F X)PcY
触发器是一种特殊的存储过程。通过触发器可以启动另一个存储过程,从而确保数据库的完整性。 
8G8~/qW.s/au8?0
#zbB,x6r0● 多线索化 51Testing软件测试网Wu'@-AW"d

(d:_ q^i%x8l-e%cB0Sybase数据库的体系结构的另一个创新之处就是多线索化。一般的数据库都依靠操作系统来管理与数据库的连接。当有多个用户连接时,系统的性能会大幅度下降。Sybase数据库不让操作系统来管理进程,把与数据库的连接当作自己的一部分来管理。此外,Sybase的数据库引擎还代替操作系统来管理一部分硬件资源,如端口、内存、硬盘,绕过了操作系统这一环节,提高了性能。

st'd&nRC2ox051Testing软件测试网[+w%h;E:mvN

3.Sybase数据库的组成51Testing软件测试网-O~(gg%T

51Testing软件测试网Dc\0qY'^

Sybase数据库主要由三部分组成:51Testing软件测试网pu@8_w3z TU

51Testing软件测试网zy7y1Kz4ks[S

(1) 进行数据库管理和维护的一个联机的关系数据库管理系统Sybase SQL Server; 51Testing软件测试网{y l PKS#|jt

(ek^ mb~sS1g0Sybase SQL Server是个可编程的数据库管理系统,它是整个Sybase产品的核心软件,起着数据管理、高速缓冲管理、事务管理的作用。

!@ ` F-f O%t O+j)p,Td0

4[rb)wC3I0(2) 支持数据库应用系统的建立与开发的一组前端工具Sybase SQL Toolset; 
$uB/oa'GC8J0
9x,^~!TQ1Rsm0ISQL是与SQL Server进行交互的一种SQL句法分析器。ISQL接收用户发出的SQL语言,将其发送给SQL Server,并将结果以形式化的方式显示在用户的标准输出上。

(\x/L qgU6J+K)u051Testing软件测试网W,{(VsB

DWB是数据工作台,是Sybase SQL Toolset的一个主要组成部分,它的作用在于使用户能够设置和管理SQL Server上的数据库,并且为用户提供一种对数据库的信息执行添加、更新和检索等操作的简便方法。在DWB中能完成ISQL的所有功能,且由于DWB是基于窗口和菜单的,因此操作比ISQL简单,是一种方便实用的数据库管理工具。 
B3b5V_!z2k0
S"P&}$h-x}G0APT是Sybase客户软件部分的主要产品之一,也是从事实际应用开发的主要环境。APT工作台是用于建立应用程序的工具集,可以创建从非常简单到非常复杂的应用程序,它主要用于开发基于表格(Form)的应用。其用户界面采用窗口和菜单驱动方式,通过一系列的选择完成表格(Form)、菜单和处理的开发。
51Testing软件测试网{6k)B8PK3b(owRG

`i)X"FooA j0(3) 可把异构环境下其它厂商的应用软件和任何类型的数据连接在一起的接口Sybase Open Client/Open Server。 51Testing软件测试网^&e#Q|uZ x+^~Y

%{[ qqA O,o0通过Open Client的DB-LIB库,应用程序可以访问SQL Server。而通过Open Server的SERVER-LIB,应用程序可以访问其它的数据库管理系统。 51Testing软件测试网O7[w2[9x L

3CC-W:S MNc7ra0
二、SYBASE有关概念 51Testing软件测试网nM4Nc#c"cRr csD
51Testing软件测试网r kQJ6Mwn

M7k$H?%~(FB0
'Hu W7[7Cs4@ H4^2oZ0Sybase SQL Server是一个多库数据库系统。这些数据库包括系统数据库和用户数据库。 而不论是系统数据库还是用户数据库,都建立在数据库设备上。 

e G~-j['\/J3Pg0

| Mcc"l%YQ!E;u H/y01. 数据库设备 51Testing软件测试网 I Q6AF7g,Y

51Testing软件测试网7?.V9UA CV;rv

所有的数据库都创建在数据库设备上。所谓数据库设备,不是指一个可识别的物理设备,而是指用于存储数据库和数据库对象的磁盘原始分区或操作系统文件。增加一个新的数据库设备时,必须对这些设备“初始化”。初始化的过程就是将物理磁盘、磁盘分区或操作系统文件变为SYBASE数据库可以识别的设备。初始化数据库设备使用DISK INIT命令: 51Testing软件测试网 J:~hjz'E Ku
51Testing软件测试网/f*v[ VBm
DISK INIT 
` R.p(w!E051Testing软件测试网1p#It/@QtN3o
NAME=设备名, 
+U@6~ _-l"b G2P*{~051Testing软件测试网4?6Mb4z X
PHYSNAME=物理设备名, 
R(NX+KG)Xv4? \O|051Testing软件测试网8z"Z(?P8n_
VDEVNO=虚拟设备号, 51Testing软件测试网nn"],Y XB:j Z

1\9{'{| zZ ?)Z x3b0SIZE=块数 51Testing软件测试网Af Ri Q(M H i

{A!F!G!C,Q0其中,NAME指数据库设备名,此名将用于CREATE DATABASE和ALTER DATABASE命令。PHYSNAME是原始磁盘分区或操作系统文件名。VDEVNO是数据库设备的标识号,在SQL Server中,它必须是唯一的。SIZE的单位是2K的块,对于新创建的数据库,最小的SIZE是model数据库的尺寸,即1024个2K的块(2M)。 
$l&NV[I aE|^0
E XU6|d9y0例如:/*将/dev目录下400M的物理设备初始化为SYBASE的数据库设备tele114_log01*/ 51Testing软件测试网D\ y$E0yG#_5e
51Testing软件测试网3}?6b&jp4JHw
1>disk init 51Testing软件测试网;BQZ!ehRp T

\K4V V$k&d r;P9k4G02>name=“tele114_log01”, 51Testing软件测试网!@3];PuHKp|w+b Q z
51Testing软件测试网XBqxa9u-^
3>physname=“/dev/rtelelog” 51Testing软件测试网t[;k~6}9E.@Ym
51Testing软件测试网g9Q,NkXe
4>vdevno=4 51Testing软件测试网2@"\0q4uyS5e|'O
51Testing软件测试网#m8tN~J!ea[.c
5>size=204800 /*2Kbyte*204800=400Mbyte*/ 
R}#COs$n({0
0e!WGF#J5t:@L7F06>go 

r)M*~BU2s2U,m%d@0

.Sv-H [~M02、段 51Testing软件测试网er+T[T&["]g

51Testing软件测试网Hdozeq4rr_d^D

数据库设备从逻辑上被划分为数据库段以允许将某一特定的对象放置在指定的段上(创建对象时指定),一数据库设备可拥有多达192个段,一段可使用255个逻辑设备上的存储空间。当用户创建一个数据库时,SQL SERVER 会自动在该数据库中创建三个段: SYSTEM、LOGSEGMENT 、DEFAULT,这三个段分别用来存储数据库的系统表、事务日志其他数据库对象 。

+QCN5f V0

])M lOn9z5p0在数据库中创建段的步骤是: 51Testing软件测试网6k_"[,x"~;d

j,et+nK)d6Y~-U0x 先用Disk init 初始化物理设备 
i tj+]0[0
B,Yf*y]&Xd0x 通过使用Create database 和alter database 的on 子句,使数据库设备对数据库可用,于是新设备自动增加到数据库的default 和system段。 
{\ kCw%~.y051Testing软件测试网&BY wQ C3K
一旦数据库设备存在并对数据库可用,使用存储过程Sp_addsegment 定义数据库的段。语法如下: 51Testing软件测试网1yg7a%t7n

|9~LM(m0Sp_addsegment 段名,数据库名,设备名 

f U| |(?0

~^w.y^ u]$h03、 系统数据库 

'd!c!E(A)_ L0

^1Xy)Y2E2p0安装Sybase数据库时自动生成的下列系统数据库: 
,`^Hg M]051Testing软件测试网UxL!hy~
● 主数据库master; 
6s'm?8fOy}E0E,u0
I!I-oz#C0● 模型数据库model; 
? X2ff'tM g9H+M&K8f dh051Testing软件测试网f$z0w9o]!y Em)W
● 系统过程数据库sybsystemprocs; 
#Ed"b d.B051Testing软件测试网v8c%hIk7n&V7DF
● 临时数据库tempdb。 
Kv$yD[z Is1b-LB5w051Testing软件测试网S?wfoNzx)H
也可选择下列数据库: 51Testing软件测试网4L$pl$?)V2Vt#K
51Testing软件测试网x [DR&H FM3i
● 安全审核数据库sybsecurity; 
BO8Movw0
M,A#Rfd m8o0● 示例数据库pubs2; 51Testing软件测试网:^0\:YoTL#GD

(Bb)bN+P8R!s3Fq^0● 命令语法数据库sybsyntax。 
51Testing软件测试网4JZ-hjB$E&|:`T k

51Testing软件测试网ld^.u*oq~

(1) master数据库 51Testing软件测试网:z0g {cj.p0co
51Testing软件测试网/yN._rgK E
包含许多系统表和系统过程,从总体上控制用户数据库和SQL Server的操作,构成了SYBASE系统的数据字典。MASTER数据库主要记录信息为: 51Testing软件测试网n"`]'cc\5v4`

p1T'e6L'BvI3@0● 登录帐号(SQL服务器用户名);syslogins,sysremolelogins 
%w!jWWy H0
#o6`aBj({N1X B*c0● 正在执行的过程;sysprocesses 51Testing软件测试网FDQj4x0PD

T`w5qc&Z0● 可修改的环境变量;sysconfigures 
b#M%Ozw7Z n051Testing软件测试网hrh_@1b;O%CG J
● 系统错误信息;sysmessages 51Testing软件测试网*WqAL!jz;U @

I3n5P;EN2k%?\#{0● SQL服务器上每个数据库的信息;sysdatabases 51Testing软件测试网f H#Oh'z l
51Testing软件测试网"@^*x|:IR1Y
● 每个数据库占用的存储空间;sysusages 51Testing软件测试网EJAf BQ
51Testing软件测试网#OB#W#a&PKL7])L
● 系统上安装的磁带及磁带信息;sysdevices 
LY j|i051Testing软件测试网8q\|/s^&hm4f{
● 活动锁信息;syslocks 
51Testing软件测试网E:f~&w j9n

51Testing软件测试网1U,x+Amx)k B


g_ba2V2P3b7b0
51Testing软件测试网I2R5lg[ukJ7{3b'U

*K0U q0|b Se(X051Testing软件测试网X(@{ V|)^&L

(2) model数据库 
)a`r t2^ul051Testing软件测试网N{_H%LEp
提供了新用户数据库的初型。当我们每次用CREATE DATABASE命令 时,SQL Server都产生一个model数据库的拷贝,然后把它扩展到命令要求的尺寸。如果我们修改了model数据库,那么以后新创建的数据库都将随它而改变。下面是几个通常用到的对model数据库的改变: 
e%\8S'Vq:E'\r ?0
Z\ R-FA,z+C0h Zl0● 增加用户数据库类型、规则或缺省; 
3gu7K6d9b!A;Le+z0
F*Rx z2?ex0● 可存取SQL Server上所有数据库的用户用sp_adduser增加到model数据库上; 51Testing软件测试网 BAC'Mm@

"pq_ZAj9{+T0● 缺省权限(特别是guest帐号)可在model中建立; 51Testing软件测试网)S!y;VOC&hNc
51Testing软件测试网"C$Rz6ZBi%gy j
● 诸如select into/bulkcopy那样的数据库选项可在model中设置。这些设置反映到所有新创建的数据库中。它们在model中最原始的值是关(off)。 
51Testing软件测试网F0?Ly-N`;M

51Testing软件测试网#oXF+pj&e1U

51Testing软件测试网2u_$E3n-nZ

在一般情况下,大多数用户无权修改model数据库,又没被授权读取。因为model中所有内容已拷贝到新数据库中,授权读model没什么意51Testing软件测试网 rS/m _0e


TAG: sybase 数据库

snowlocusfly的个人空间 引用 删除 snowlocusfly   /   2010-07-27 13:53:18
5
 

评分:0

我来说两句

Open Toolbar