Sybase入门

来源:互联网 发布:java io实例 编辑:程序博客网 时间:2024/05/02 01:40
 一Sybase数据库简介 
1.版本 
1984年,Mark B. Hiffman和Robert Epstern创建了Sybase公司,并在1987年推出了Sybase数据库产品SYBASE主要有三种版本,一是UNIX操作系统下运行的版本,二是Novell Netware环境下运行的版本,三是Windows NT环境下运行的版本对UNIX操作系统目前广泛应用的为SYBASE 10 及SYABSE 11 for SCO UNIX 
2.Sybase数据库的特点 
(1)它是基于客户/服务器体系结构的数据库 
一般的关系数据库都是基于主/从式的模型的在主/从式的结构中,所有的应用都运行在一台机器上用户只是通过终端发命令或简单地查看应用运行的结果 
而在客户/服务器结构中,应用被分在了多台机器上运行一台机器是另一个系统的客户,或是另外一些机器的服务器这些机器通过局域网或广域网联接起来 
客户/服务器模型的好处是: 
 它支持共享资源且在多台设备间平衡负载 
 允许容纳多个主机的环境,充分利用了企业已有的各种系统 
(2) 它是真正开放的数据库 
由于采用了客户/服务器结构,应用被分在了多台机器上运行更进一步,运行在客户端的应用不必是Sybase公司的产品对于一般的关系数据库,为了让其它语言编写的应用能够访问数据库,提供了预编译Sybase数据库,不只是简单地提供了预编译,而且公开了应用程序接口DB-LIB,鼓励第三方编写DB-LIB接口由于开放的客户DB-LIB允许在不同的平台使用完全相同的调用,因而使得访问DB-LIB的应用程序很容易从一个平台向另一个平台移植 

(3) 它是一种高性能的数据库 
Sybase真正吸引人的地方还是它的高性能体现在以下几方面: 
 可编程数据库 
通过提供存储过程,创建了一个可编程数据库存储过程允许用户编写自己的数据库子例程这些子例程是经过预编译的,因此不必为每次调用都进行编译优化生成查询规划,因而查询速度要快得多 
 事件驱动的触发器 
触发器是一种特殊的存储过程通过触发器可以启动另一个存储过程,从而确保数据库的完整性 
 多线索化 
Sybase数据库的体系结构的另一个创新之处就是多线索化一般的数据库都依靠操作系统来管理与数据库的连接当有多个用户连接时,系统的性能会大幅度下降Sybase数据库不让操作系统来管理进程,把与数据库的连接当作自己的一部分来管理此外,Sybase的数据库引擎还代替操作系统来管理一部分硬件资源,如端口内存硬盘,绕过了操作系统这一环节,提高了性能 
3.Sybase数据库的组成 
Sybase数据库主要由三部分组成: 

(1) 进行数据库管理和维护的一个联机的关系数据库管理系统Sybase SQL Server; 
Sybase SQL Server是个可编程的数据库管理系统,它是整个Sybase产品的核心软件,起着数据管理高速缓冲管理事务管理的作用 

(2) 支持数据库应用系统的建立与开发的一组前端工具Sybase SQL Toolset; 
ISQL是与SQL Server进行交互的一种SQL句法分析器ISQL接收用户发出的SQL语言,将其发送给SQL Server,并将结果以形式化的方式显示在用户的标准输出上 
DWB是数据工作台,是Sybase SQL Toolset的一个主要组成部分,它的作用在于使用户能够设置和管理SQL Server上的数据库,并且为用户提供一种对数据库的信息执行添加更新和检索等操作的简便方法在DWB中能完成ISQL的所有功能,且由于DWB是基于窗口和菜单的,因此操作比ISQL简单,是一种方便实用的数据库管理工具 
APT是Sybase客户软件部分的主要产品之一,也是从事实际应用开发的主要环境APT工作台是用于建立应用程序的工具集,可以创建从非常简单到非常复杂的应用程序,它主要用于开发基于表格(Form)的应用其用户界面采用窗口和菜单驱动方式,通过一系列的选择完成表格(Form)菜单和处理的开发 

(3) 可把异构环境下其它厂商的应用软件和任何类型的数据连接在一起的接口Sybase Open Client/Open Server 
通过Open Client的DB-LIB库,应用程序可以访问SQL Server而通过Open Server的SERVER-LIB,应用程序可以访问其它的数据库管理系统 


二SYBASE有关概念 


Sybase SQL Server是一个多库数据库系统这些数据库包括系统数据库和用户数据库 而不论是系统数据库还是用户数据库,都建立在数据库设备上 
1. 数据库设备 
所有的数据库都创建在数据库设备上所谓数据库设备,不是指一个可识别的物理设备,而是指用于存储数据库和数据库对象的磁盘原始分区或操作系统文件增加一个新的数据库设备时,必须对这些设备初始化初始化的过程就是将物理磁盘磁盘分区或操作系统文件变为SYBASE数据库可以识别的设备初始化数据库设备使用DISK INIT命令: 

DISK INIT 
NAME=设备名, 
PHYSNAME=物理设备名, 
VDEVNO=虚拟设备号, 
SIZE=块数 

其中,NAME指数据库设备名,此名将用于CREATE DATABASE和ALTER DATABASE命令PHYSNAME是原始磁盘分区或操作系统文件名VDEVNO是数据库设备的标识号,在SQL Server中,它必须是唯一的SIZE的单位是2K的块,对于新创建的数据库,最小的SIZE是model数据库的尺寸,即1024个2K的块(2M) 

例如:/*将/dev目录下400M的物理设备初始化为SYBASE的数据库设备tele114_log01*/ 
1>;disk init 
2>;name=tele114_log01, 
3>;physname=/dev/rtelelog 
4>;vdevno=4 
5>;size=204800 /*2Kbyte*204800=400Mbyte*/ 
6>;go 
2段 
数据库设备从逻辑上被划分为数据库段以允许将某一特定的对象放置在指定的段上(创建对象时指定),一数据库设备可拥有多达192个段,一段可使用255个逻辑设备上的存储空间当用户创建一个数据库时,SQL SERVER 会自动在该数据库中创建三个段: SYSTEMLOGSEGMENT DEFAULT,这三个段分别用来存储数据库的系统表事务日志和其他数据库对象 
在数据库中创建段的步骤是: 
x 先用Disk init 初始化物理设备 
x 通过使用Create database 和alter database 的on 子句,使数据库设备对数据库可用,于是新设备自动增加到数据库的default 和system段 
一旦数据库设备存在并对数据库可用,使用存储过程Sp_addsegment 定义数据库的段语法如下: 
Sp_addsegment 段名,数据库名,设备名 

3 系统数据库 
安装Sybase数据库时自动生成的下列系统数据库: 
 主数据库master; 
 模型数据库model; 
 系统过程数据库sybsystemprocs; 
 临时数据库tempdb 
也可选择下列数据库: 
 安全审核数据库sybsecurity; 
 示例数据库pubs2; 
 命令语法数据库sybsyntax 

(1) master数据库 
包含许多系统表和系统过程,从总体上控制用户数据库和SQL Server的操作,构成了SYBASE系统的数据字典MASTER数据库主要记录信息为: 
 登录帐号(SQL服务器用户名);syslogins,sysremolelogins 
 正在执行的过程;sysprocesses 
 可修改的环境变量;sysconfigures 
 系统错误信息;sysmessages 
 SQL服务器上每个数据库的信息;sysdatabases 
 每个数据库占用的存储空间;sysusages 
 系统上安装的磁带及磁带信息;sysdevices 
 活动锁信息;syslocks 

(2) model数据库 
提供了新用户数据库的初型当我们每次用CREATE DATABASE命令 时,SQL Server都产生一个model数据库的拷贝,然后把它扩展到命令要求的尺寸如果我们修改了model数据库,那么以后新创建的数据库都将随它而改变下面是几个通常用到的对model数据库的改变: 
 增加用户数据库类型规则或缺省; 
 可存取SQL Server上所有数据库的用户用sp_adduser增加到model数据库上; 
 缺省权限(特别是guest帐号)可在model中建立; 
 诸如select into/bulkcopy那样的数据库选项可在model中设置这些设置反映到所有新创建的数据库中它们在model中最原始的值是关(off) 
在一般情况下,大多数用户无权修改model数据库,又没被授权读取因为model中所有内容已拷贝到新数据库中,授权读model没什么意义 
1>; use model 
2>; go 
3>; sp_help 
4>; go 
Name Owner Object_type 
--------------- --------------- ---------------------- 
sysalternates dbo system table 
syscolumns dbo system table 
syscomments dbo system table 
sysconstraints dbo system table 
sysdepends dbo system table 
sysgams dbo system table 
sysindexes dbo system table 
syskeys dbo system table 
syslogs dbo system table 
sysobjects dbo system table 
sysprocedures dbo system table 
sysprotects dbo system table 
sysreferences dbo system table 
sysroles dbo system table 
syssegments dbo system table 
systhresholds dbo system table 
systypes dbo system table 
sysusermessages dbo system table 
sysusers dbo system table 

(3) sybsystemprocs数据库 
库中存储系统过程,当用户执行一存储过程(以sp_开始)时,SQL 服务器首先在用户当前数据库中搜索指定的存储过程,如果没有相应过程,则到系统过程数据库中寻找,若没有,再到MASTER数据库中寻找 

(4)临时数据库tempdb 
该数据库为临时表和临时工作提供了一个存储区域临时数据库是SQL Server上所有数据库共享的工作空间由于这些表都是临时的,所以每当用户退出或系统失败,这些表都将消失 

(5)安全审核数据库sybsecurity 
数据库中保存系统的安全审核信息,它可跟踪记录每个用户的操作情况,为维护系统安全提供控制手段 

(6)示例数据库pubs2 
为用户提供一个学习SYBASE的数据库模型 
原创粉丝点击