sybase基础知识
http://www.chinaunix.net 作者:陈苏文 发表于:2002-10-14 16:31:50 【程序编程相关:bugzilla安装】 【推荐阅读:我的文章-《剖析Delphi中的构造和析】一.客户/服务器体系结构 【扩展信息:C# 静态成员和方法的学习小结】
第一讲 sybase基础知识
sybase是一种建立在客户/服务器体系结构上的数据库管理系统. ●什么是客户/服务器体系结构? 从硬件角度看,客户/服务器体系结构是指将某项任务在两台或多台机器之间进行分配,其中客户机(client)用来运行提供用户接口与前端处理的应用程序,服务器机(server)提供客户机使用的各种资源与服务. 从软件角度看,客户/服务器体系结构是把某项应用或软件系统按逻辑功能划分为客户软件部分与服务器软件部分.客户软件部分一般负责数据的表示与应用,处理用户界面,用以接收用户的数据处理请求并将之转换为对服务器的请求,要求服务器为其提供数据的存储与检索服务;服务器端软件负责接收客户端软件发来的请求并提供相应服务. 客户/服务器融合了大型机的强大功能与中央控制以及pc机的低成本与较好的处理平衡.客户/服务器为任务的集中/局部分布提供了一种新的方法,这种体系能够使用户对数据完整性.管理与安全性进行集中控制.在缓解网络交通与主机负荷以及满足用户需要方面,客户/服务器体系提供了良好的解决方案. 总之,客户/服务器的工作模式是:客户与服务器之间采用网络协议(如tcp/ip.ipx/spx)进行连接与通讯,由客户端向服务器发出请求,服务器端响应请求,并进行相应服务. 数据库应用的客户/服务器模式如下图所示:
二.访问sybase服务器的基本过程 1.建立客户与服务器之间的连接,包括网络连接.客户进程与服务器进程之间的连接; 2.客户端通过网络发送sql语句给服务器,用来查询或操作服务器中的数据或数据库对象; 3.服务器接收到sql语句后,对其进行语法分析.优化与编译后执行; 4.如果执行的语句产生一个结果集,服务器通过网络把结果集返回给客户; 5.客户端对收到的结果作相应的处理. 在客户/服务器体系,有两种数据库引擎结构,即多进程数据库引擎与单进程.多线程引擎结构. 多进程结构即多个可执行程序同时运行.每当用户登录到数据库系统时实际上都启动了数据库引擎的一个独立实例.存在起协调作用的进程协调进行之间的通讯以保证当多用户访问相同数据时数据的完整性.多进程数据库引擎一般用在大型机数据库上. 单进程多线程数据库引擎在原理上与多进程数据库引擎类似,不同的是多线程数据库引擎自己负责调度各应用程序占用cpu的时间,而不依赖于操作系统.这样,多线程数据库引擎自我保护的能力更强. oracle server是一个真正的多进程数据库引擎,sybase数据库管理系统采用的是单进程多线程的引擎结构. 三.sybase产品概述 1.sybase软件的组成 sybase软件可划分为三个部分:一是进行数据管理与维护的联机关系数据库管理系统sybase sql server;二是支持数据库应用系统的建立与开发的一组前端工具软件sybase sql tools;三是可把异构环境下其他厂商的应用软件与任何类型的数据连接在一起的接口软件open client/open server. sql server是个可编程的数据库管理系统(dbms),它是整个sybase产品的核心软件,起着数据管理.高速缓冲区管理.事务管理的作用. 2.sql server的基本特征 sql server是个关系数据库管理系统,它具有如下一些基本特征: a.sql server可以放在若干个磁盘设备上,初始安装时所需的磁盘空间至少要17mb. b.sql server支持多库结构,也就是说sybase系统中可以有多个数据库.sybase可以管理多个数据库. c.sql server可以编译与运行t-sql语句,并可返回客户程序所要求的结果.t-sql语句是标准sql的扩充,它除了有数据定义语句.数据操纵语句与数据控制语句之外,主要增加了流程控制语句. d.sql server可以管理多个用户并具有较高的事务吞吐量与较低的事务响应时间. 客户的应用程序可以存取server中某一个或几个数据库的数据. 四.sql server的主要内容 sybase sql server是一个多库结构的rdbms,体系结构大致如下:
1.数据库 服务器自身所使用的数据库,也可以说是管理服务器与用户数据库的数据库.sybase在安装时,自动创建了四个系统数据库: master.model.tempdb.sybsystemprocs (1) master数据库 它是管理与控制用户数据库以及维护服务器正常运行的核心数据库,它保存了大量的系统信息,如服务器配置.用户.设备等. 在master数据库中不允许普通用户在其中创建数据库对象,否则会使得master数据库的事务日志很快变满.如果事务日志用尽,就无法使用dump transaction命令释放master数据库中的空间. (2)model数据库 它是为创建用户数据库而提供的模板.每当创建新的数据库时,sql server自动建立model数据库的一份拷贝,并把它扩充到用户所要求的大小,以此作为新用户数据库. model数据库中包含每个用户数据库所要求的系统表.model数据库可以被修改以便定制新创建的. (3)tempdb数据库 它是个临时数据库,为服务器运行与处理提供一个共享的存储区域,如group by与order by的中间结果就存放在这里.tempdb的空间为服务器中所有数据库的所有用户所共享. 每次重启sql server,服务器的一个自动进程都拷贝model数据库到tempdb数据库,并清除tempdb中原来的内容.因此tempdb中的用户表都是临时的.临时表分为两类:可共享的与不可共享的.不可共享的临时表在由create table中将符号#置于表名之前创立;可共享的临时表通过create table中指定表名前缀tempdb..而创立.不可共享的临时表sql server自动为其添加数字后缀名,且它只存在于当前会话中. (4)sybsystemprocs数据库master数据库 它是专门用来保存系统命令(存储过程)的数据库,如sp_help.sp_configure.sp_helpdevice等.当任一数据库用户运行以sp_开头的存储过程时,sql server按照以下顺序查找:当前数据库.sybsystemprocs数据库.master数据库. 2.用户数据库 用户数据库是我们使用sybase服务器的真正目的.要管理用户数据,必须在sybase中创建自己的数据库,它是指用create database命令创建的数据库.不能存取master数据库的用户是无权创建新的数据库的. 数据库中的主要内容——数据库对象: 表.视图.临时表 索引.主键.外键 缺省值.规则 存储过程.触发器等 五.sybase的安装与配置 1.服务器端的安装 安装建立sql server以后,要建立放置数据库.日志与索引的逻辑磁盘设备.数据库.日志与索引的配置应注意以下原则; a.不要把任何用户对象安装在master数据库中. b.日志应该保存在与数据库分离的磁盘上. c.可以通过跨越多个设备分配工作优化i/o性能. 2.客户端的安装 3.需要立即更改的内容 (1)更改sa的登录口令;(2)命名服务器;(3)修改文件名(保证sybase central正常启动);(4)更改缺省设备;(5)增加tempdb的空间. 4.创建用户数据库 以下通过一个建立数据库的脚本说明建立数据库的过程: //创建数据库设备,设备大小以页(2k)为单位 disk init name=”test_dbdev”, physname=”c:\test\test_dbdev.dat”, vdevno=10, size=10240 go disk init name=”test_logdev”, phyname=”c:\test\test_logdev.dat”, vdevno=11, size=5120 go //创建数据库test_db,其大小为20m,日志大小为10m create database test_db on test_dbdev=20 log on test_logdev=10 go //打开数据库 use test_db go 5.系统管理的主要内容 a.物理资源的管理 b.用户及其权限管理 c.数据库的备份与恢复 6.sql server的配置参数 服务器配置是系统管理员的职责,正确的配置对系统性能有重大的影响.有两个系统表存储配置信息:sysconfigures与syscurconfigs;sysconfigures是永久性的,一旦系统运行,sysconfigures的信息就拷贝到syscurconfigs中.显示配置与改变配置使用系统过程sp_configure. 有两种配置值:动态的与静态的,动态值一旦改变立即生效,静态值要在系统重启动后才起作用.
第二讲 数据库设备与存储空间管理
一.概述
1.安装初始化 初始安装sql server时,安装程序与脚本初始化主设备,并建立master.model.tempdb与sybsystemprocs数据库.系统数据库.预定义设备与段按下列默认方式组织: a.master.model.tempdb数据库安装在主设备master上; b.sybsystemprocs数据库安装在安装时选择的设备上(sysprocsdev); ... 下一页