Sybase培训教材.docx

上传人:b****3 文档编号:3948806 上传时间:2022-11-26 格式:DOCX 页数:41 大小:84.57KB
下载 相关 举报
Sybase培训教材.docx_第1页
第1页 / 共41页
Sybase培训教材.docx_第2页
第2页 / 共41页
Sybase培训教材.docx_第3页
第3页 / 共41页
Sybase培训教材.docx_第4页
第4页 / 共41页
Sybase培训教材.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

Sybase培训教材.docx

《Sybase培训教材.docx》由会员分享,可在线阅读,更多相关《Sybase培训教材.docx(41页珍藏版)》请在冰豆网上搜索。

Sybase培训教材.docx

Sybase培训教材

Sybase数据库培训教材

中大国际

版权所有XX

目录

第1章Sybase数据库简介7

1.1版本7

1.2Sybase数据库的特点7

1.3Sybase数据库的组成8

第2章SYBASE有关概念10

2.1数据库设备10

2.2段11

2.3系统数据库11

2.4用户数据库14

2.5数据库对象14

第3章SQL查询语言22

3.1简单查询22

3.2连接查询22

3.3子查询23

3.4集函数、分组与排序23

第4章数据库、数据库对象的增、删、改25

4.1数据库25

4.2表25

4.3索引26

4.4默认27

4.5规则27

4.6视图28

4.7存储过程28

4.8触发器29

第5章批处理和流控制语言31

5.1批处理31

5.2流控制语言31

5.3启动SQLServer32

5.4启动SQLServer的单用户模式33

5.5关闭服务器33

5.6Sybase数据库目录说明33

第6章SQLServer的用户及权限35

6.1建立SQL服务器用户名(登录帐号)35

6.2增加数据库用户名35

6.3数据库操作授权37

第7章数据库备份与恢复39

7.1系统软件故障恢复39

7.2介质故障的恢复39

第8章几个实用程序44

8.1bcp44

8.2isql44

8.3showserver45

8.4startserver45

8.5syman45

8.6dbcc数据库一致性检查46

第9章Sybase客户端软件47

9.1安装47

9.2运行47

第10章附录49

10.1附录1:

只有在master数据库中才能有的系统表49

10.2附录2:

Sysusages一行记录了分配给一个数据库的每一个磁盘分析49

10.3附录3:

由SQLServer提供的系统过程功能和执行权50

10.4附录4:

常用SQL命令52

关键词:

SYBASESQL数据库

摘要:

本文主要介绍了Sybase数据库的基础知识和常用维护操作及其工具的使用,可以与N2000产品基础共用的培训教材。

第1章

Sybase数据库简介

1.1版本

1984年,MarkB.Hiffman和RobertEpstern创建了Sybase公司,并在1987年推出了Sybase数据库产品。

SYBASE主要有三种版本,一是UNIX操作系统下运行的版本,二是NovellNetware环境下运行的版本,三是WindowsNT环境下运行的版本。

对UNIX操作系统目前广泛应用的为SYBASE12.6。

1.2Sybase数据库的特点

(1)它是基于客户/服务器体系结构的数据库

一般的关系数据库都是基于主/从式的模型的。

在主/从式的结构中,所有的应用都运行在一台机器上。

用户只是通过终端发命令或简单地查看应用运行的结果。

而在客户/服务器结构中,应用被分在了多台机器上运行。

一台机器是另一个系统的客户,或是另外一些机器的服务器。

这些机器通过局域网或广域网联接起来。

客户/服务器模型的好处是:

●它支持共享资源且在多台设备间平衡负载

●允许容纳多个主机的环境,充分利用了企业已有的各种系统

(2)它是真正开放的数据库

由于采用了客户/服务器结构,应用被分在了多台机器上运行。

更进一步,运行在客户端的应用不必是Sybase公司的产品。

对于一般的关系数据库,为了让其它语言编写的应用能够访问数据库,提供了预编译。

Sybase数据库,不只是简单地提供了预编译,而且公开了应用程序接口DB-LIB,鼓励第三方编写DB-LIB接口。

由于开放的客户DB-LIB允许在不同的平台使用完全相同的调用,因而使得访问DB-LIB的应用程序很容易从一个平台向另一个平台移植。

(3)它是一种高性能的数据库

Sybase真正吸引人的地方还是它的高性能。

体现在以下几方面:

●可编程数据库

通过提供存储过程,创建了一个可编程数据库。

存储过程允许用户编写自己的数据库子例程。

这些子例程是经过预编译的,因此不必为每次调用都进行编译、优化、生成查询规划,因而查询速度要快得多。

●事件驱动的触发器

触发器是一种特殊的存储过程。

通过触发器可以启动另一个存储过程,从而确保数据库的完整性。

●多线索化

Sybase数据库的体系结构的另一个创新之处就是多线索化。

一般的数据库都依靠操作系统来管理与数据库的连接。

当有多个用户连接时,系统的性能会大幅度下降。

Sybase数据库不让操作系统来管理进程,把与数据库的连接当作自己的一部分来管理。

此外,Sybase的数据库引擎还代替操作系统来管理一部分硬件资源,如端口、内存、硬盘,绕过了操作系统这一环节,提高了性能。

1.3Sybase数据库的组成

Sybase数据库主要由三部分组成:

(1)进行数据库管理和维护的一个联机的关系数据库管理系统SybaseSQLServer;

SybaseSQLServer是个可编程的数据库管理系统,它是整个Sybase产品的核心软件,起着数据管理、高速缓冲管理、事务管理的作用。

(2)支持数据库应用系统的建立与开发的一组前端工具SybaseSQLToolset;

ISQL是与SQLServer进行交互的一种SQL句法分析器。

ISQL接收用户发出的SQL语言,将其发送给SQLServer,并将结果以形式化的方式显示在用户的标准输出上。

DWB是数据工作台,是SybaseSQLToolset的一个主要组成部分,它的作用在于使用户能够设置和管理SQLServer上的数据库,并且为用户提供一种对数据库的信息执行添加、更新和检索等操作的简便方法。

在DWB中能完成ISQL的所有功能,且由于DWB是基于窗口和菜单的,因此操作比ISQL简单,是一种方便实用的数据库管理工具。

APT是Sybase客户软件部分的主要产品之一,也是从事实际应用开发的主要环境。

APT工作台是用于建立应用程序的工具集,可以创建从非常简单到非常复杂的应用程序,它主要用于开发基于表格(Form)的应用。

其用户界面采用窗口和菜单驱动方式,通过一系列的选择完成表格(Form)、菜单和处理的开发。

(3)可把异构环境下其它厂商的应用软件和任何类型的数据连接在一起的接口SybaseOpenClient/OpenServer。

通过OpenClient的DB-LIB库,应用程序可以访问SQLServer。

而通过OpenServer的SERVER-LIB,应用程序可以访问其它的数据库管理系统。

第2章SYBASE有关概念

SybaseSQLServer是一个多库数据库系统。

这些数据库包括系统数据库和用户数据库。

而不论是系统数据库还是用户数据库,都建立在数据库设备上。

2.1数据库设备

所有的数据库都创建在数据库设备上。

所谓数据库设备,不是指一个可识别的物理设备,而是指用于存储数据库和数据库对象的磁盘原始分区或操作系统文件。

增加一个新的数据库设备时,必须对这些设备“初始化”。

初始化的过程就是将物理磁盘、磁盘分区或操作系统文件变为SYBASE数据库可以识别的设备。

初始化数据库设备使用DISKINIT命令:

DISKINIT

NAME=设备名,

PHYSNAME=物理设备名,

VDEVNO=虚拟设备号,

SIZE=块数

其中,NAME指数据库设备名,此名将用于CREATEDATABASE和ALTERDATABASE命令。

PHYSNAME是原始磁盘分区或操作系统文件名。

VDEVNO是数据库设备的标识号,在SQLServer中,它必须是唯一的。

SIZE的单位是2K的块,对于新创建的数据库,最小的SIZE是model数据库的尺寸,即1024个2K的块(2M)。

例如:

/*将/dev目录下400M的物理设备初始化为SYBASE的数据库设备tele114_log01*/

1>diskinit

2>name=“tele114_log01”,

3>physname=“/dev/rtelelog”

4>vdevno=4

5>size=204800/*2Kbyte*204800=400Mbyte*/

6>go

2.2段

数据库设备从逻辑上被划分为数据库段以允许将某一特定的对象放置在指定的段上(创建对象时指定),一数据库设备可拥有多达192个段,一段可使用255个逻辑设备上的存储空间。

当用户创建一个数据库时,SQLSERVER会自动在该数据库中创建三个段:

SYSTEM、LOGSEGMENT、DEFAULT,这三个段分别用来存储数据库的系统表、事务日志和其他数据库对象

在数据库中创建段的步骤是:

先用Diskinit初始化物理设备

通过使用Createdatabase和alterdatabase的on子句,使数据库设备对数据库可用,于是新设备自动增加到数据库的default和system段。

一旦数据库设备存在并对数据库可用,使用存储过程Sp_addsegment定义数据库的段。

语法如下:

Sp_addsegment段名,数据库名,设备名

2.3系统数据库

安装Sybase数据库时自动生成的下列系统数据库:

●主数据库master;

●模型数据库model;

●系统过程数据库sybsystemprocs;

●临时数据库tempdb。

也可选择下列数据库:

●安全审核数据库sybsecurity;

●示例数据库pubs2;

●命令语法数据库sybsyntax。

(1)master数据库

包含许多系统表和系统过程,从总体上控制用户数据库和SQLServer的操作,构成了SYBASE系统的数据字典。

MASTER数据库主要记录信息为:

●登录帐号(SQL服务器用户名);syslogins,sysremolelogins

●正在执行的过程;sysprocesses

●可修改的环境变量;sysconfigures

●系统错误信息;sysmessages

●SQL服务器上每个数据库的信息;sysdatabases

●每个数据库占用的存储空间;sysusages

●系统上安装的磁带及磁带信息;sysdevices

●活动锁信息;syslocks

(2)model数据库

提供了新用户数据库的初型。

当我们每次用CREATEDATABASE命令时,SQLServer都产生一个model数据库的拷贝,然后把它扩展到命令要求的尺寸。

如果我们修改了model数据库,那么以后新创建的数据库都将随它而改变。

下面是几个通常用到的对model数据库的改变:

●增加用户数据库类型、规则或缺省;

●可存取SQLServer上所有数据库的用户用sp_adduser增加到model数据库上;

●缺省权限(特别是guest帐号)可在model中建立;

●诸如selectinto/bulkcopy那样的数据库选项可在model中设置。

这些设置反映到所有新创建的数据库中。

它们在model中最原始的值是关(off)。

在一般情况下,大多数用户无权修改model数据库,又没被授权读取。

因为model中所有内容已拷贝到新数据库中,授权读model没什么意义。

usemodel

go

sp_help

go

NameOwnerObject_type

----------------------------------------------------

sysalternatesdbosystemtable

syscolumnsdbosystemtable

syscommentsdbosystemtable

sysconstraintsdbosystemtable

sysdependsdbosystemtable

sysgamsdbosystemtable

sysindexesdbosystemtable

syskeysdbosystemtable

syslogsdbosystemtable

sysobjectsdbosystemtable

sysproceduresdbosystemtable

sysprotectsdbosystemtable

sysreferencesdbosystemtable

sysrolesdbosystemtable

syssegmentsdbosystemtable

systhresholdsdbosystemtable

systypesdbosystemtable

sysusermessagesdbosystemtable

sysusersdbosystemtable

(3)sybsystemprocs数据库

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

(4)临时数据库tempdb

该数据库为临时表和临时工作提供了一个存储区域。

临时数据库是SQLServer上所有数据库共享的工作空间。

由于这些表都是临时的,所以每当用户退出或系统失败,这些表都将消失。

(5)安全审核数据库sybsecurity

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

(6)示例数据库pubs2

为用户提供一个学习SYBASE的数据库模型。

(7)命令语法数据库sybsyntax

库中保存SYBASE数据库的命令语法及支持的语言库。

2.4用户数据库

用户数据库是指用Createdatabase命令创建的数据库。

所有新的用户数据库都要在master数据库中创建,也就是说,不能存取master数据库的用户是无权创建新的数据库的。

SA可以将创建数据库的权限授予其他用户。

新建数据库中存在一些系统表,在sysusers表中至少有一条记录,既该数据库的创建者。

数据库创建时,创建者既为该数据库的owner,当然创建者可以将这一地位或这一所有权用系统过程授予别的用户。

2.5数据库对象

(1)表(Tables)

在一个关系数据库中,表是最重要的数据库对象,对应于关系数据库理论中关系,与DBASE或FOXPRO中的DBF文件是类似。

一切数据都存放在表中。

其它数据库对象都是为了用户很好地操作表中的数据。

表都以一张二维表的形式存在。

其中,每一列称之为一个字段,或一个域;而每一行称之为一个记录,也就是一项数据。

有一类表,它们的名字都是以sys开头的,这些表称为系统表,系统表记录着有关SQLServer的信息。

在master数据库中的表大部分为系统表,这些表是随着master数据库的创建而建立的。

另外,每个用户数据库在创建时都有一个系统表的子集。

例如,只有在master数据库中才有的系统表有:

sysconfigures、sysdatabases、sysdevices、syslogins等;在用户数据库和系统数据库中都有的系统表有:

sysalternates、syscolumns、sysindexs、syslogs、sysobjects、sysusers等。

例:

usemaster

go

sp_help

go

NameOwnerObject_type

-----------------------------------------------------------------------------

spt_committabdbousertable

spt_datatype_infodbousertable

spt_datatype_info_extdbousertable

spt_monitordbousertable

spt_server_infodbousertable

spt_valuesdbousertable

sysalternatesdbosystemtable

syscharsetsdbosystemtable

syscolumnsdbosystemtable

syscommentsdbosystemtable

sysconfiguresdbosystemtable

sysconstraintsdbosystemtable

syscurconfigsdbosystemtable

sysdatabasesdbosystemtable

sysdependsdbosystemtable

sysdevicesdbosystemtable

sysenginesdbosystemtable

sysgamsdbosystemtable

sysindexesdbosystemtable

syskeysdbosystemtable

syslanguagesdbosystemtable

syslistenersdbosystemtable

syslocksdbosystemtable

sysloginrolesdbosystemtable

sysloginsdbosystemtable

syslogsdbosystemtable

sysmessagesdbosystemtable

sysmonitorsdbosystemtable

sysobjectsdbosystemtable

sysproceduresdbosystemtable

sysprocessesdbosystemtable

sysprotectsdbosystemtable

sysreferencesdbosystemtable

sysremoteloginsdbosystemtable

sysrolesdbosystemtable

syssegmentsdbosystemtable

sysserversdbosystemtable

syssrvrolesdbosystemtable

systestlogdbosystemtable

systhresholdsdbosystemtable

systypesdbosystemtable

sysusagesdbosystemtable

sysusermessagesdbosystemtable

sysusersdbosystemtable

sp_configuredbostoredprocedure

sp_dboptiondbostoredprocedure

sp_getmessagedbostoredprocedure

sp_procxmodedbostoredprocedure

sp_prtsybsysmsgsdbostoredprocedure

sp_validlangdbostoredprocedure

说明见附录表1

(2)视图(Views)

视图是查看一张或几张表中的数据的一种方式。

通过将一张或几张表中的一部分数据进行组合得到视图。

视图看上去与表非常相象,但与表还是有着本质的区别。

通过视图看到的数据实际上都是存放在表中的,在数据库中仅存在视图的定义。

使用视图的好处是:

●操作方便

●安全性

(3)索引(Index)

索引是对字段生成的,用于加快数据的检索。

在Sybase数据库中,索引是由系统自动管理的,也就是说,Sybase的索引操作对用户是透明的。

表的索引一旦建立,系统会自动对其进行更新维护以使它与相应表对应一致;操作时,用户无须指定索引,系统会自动确定是否使用索引进行操作。

Sybase支持三种不同类型的索引,一是复合索引,即包含几个列的索引;二是唯一性索引,即任意两行中的索引列不能有相同的取值;三是簇类索引(Clusteredindexes)和非簇类索引(Nonclusteredindexs),簇类索引使SQL服务器不断重排表行的物理顺序以使其与逻辑索引顺序相一致,非簇类索引则不需要表行的物理顺序与逻辑顺序一致。

每个表最多只能建立一个簇类索引,非簇类索引则可建立多个。

与非簇类索引相比,簇类索引的检索速度要快。

应当在建立任何非簇类索引以前建立簇类索引。

(4)存储过程(Storedprocedures)

存储过程是用T-SQL语言编写成的SQL子例程,它存储于SQL服务器上供用户调用执行。

与一般的SQL语句和批处理语句不同的是,存储过程是经过预编译的。

当首次运行一个存储过程时,SQLServer的查询处理器将对其分析,并产生最终的执行方案。

由于查询处理的大部分工作已经完成,所以以后执行存储过程时速度将会很快。

执行存储过程时可带参数并可调用其他存储过程,执行完毕后返回信息以指示是否成功完成相应操作。

存储过程有两种:

一种是SQL服务器安装时自动建立的系统存储过程(系统过程),另一种是用户自己创建的存储过程。

系统过程是用于系统管理,并且为用户提供了从事数据库管理的一种途径。

这些系统过程都是以sp_开头的,它们都放在master数据库中且隶属于sa(系统管理员)。

也有很多可以在任一个数据库中运行的系统过程。

常见的系统过程有:

Sp_addgroup

在当前数据库中建立一个数据库用户组

Sp_addlogin

建立一个SQL服务器用户

Sp_adduser

在当前数据库中增加一个用户

sp_changegroup

改变数据库用户组

Sp_dboption

查询或改变数据库系统设置

Sp_dropdevice

删除设备

Sp_dropgroup

删除组

Sp_droplogin

删除帐号

Sp_help

查询数据库对象及所有数据库信息

Sp_helpdb

查询数据库信息

Sp_helpdevice

查询设备信息

Sp_helpgroup

查询组信息

Sp_helpindex

查询给定表信息

Sp_helpuser

查询用户信息

Sp_lock

查询当前加锁信息

Sp_monitor

查询SQL服务器统计信息

Sp_password

改变登录帐号口令

Sp_spaceused

查询表中的行数、数据页数及空间大小

Sp_who

查询当前用户及过程信息

Sp_syntax

查询操作语法

Sp_configure

配置系统参数

例:

sp_helpdb

go

namedb_sizeownerdbidcreatedstatus

--------------------------------------------------------------------------

mast

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1