background image

system table sysroles dbo system table syssegments dbo system table sysservers dbo 
system table syssrvroles dbo system table systestlog dbo system table

    systhresholds dbo system table systypes dbo system table sysusages dbo system 
table sysusermessages dbo system table sysusers dbo system table sp_configure dbo 

stored procedure sp_dboption dbo stored procedure sp_getmessage dbo stored 
procedure sp_procxmode dbo stored procedure sp_prtsybsysmsgs dbo stored procedure 

sp_validlang dbo stored procedure 

 

说明见附录表

1 (2)视图(Views) 视图是查看一张或几张表中

 

的数据的一种方式。通过将一张或几张表中的一部分数 据进行组合得到视图。视图看上去与表非常相象,但与表

 

 

还是有着本质的区别。通 过视图看到的数据实际上都是存放在表中的,在数据库中仅存在视图的定义。 使用视图

 ● 

 ● 

 

的好处是:

操作方便

安全性 (

3)索引(Index) 

 

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

Sybase 

 

数据库中,索引是由系统自 动管理的,也就是说,

Sybase 的索引操作对用户是透明的。表的索引一旦建立,系 

 

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

 

引进行操作。

Sybase 

 

支持三种不同类型的索引,一是复合索引,即包含几个列的索引;二是唯一 性索引,即任

 

意两行中的索引列不能有相同的取值;三是簇类索引 (

Clustered indexes)和非簇类索引(Nonclustered 

indexs)

 

,簇类索引使

SQL   

服 务器不断重排表行的物理顺序以使其与逻辑索引顺序相一致,非簇类索引则不需

 

 

要 表行的物理顺序与逻辑顺序一致。每个表最多只能建立一个簇类索引,非簇类索引 则可建立多个。与非簇类索

 

 

引相比,簇类索引的检索速度要快。应当在建立任何非 簇类索引以前建立簇类索引。 (

4)存储过程(Stored 

procedures) 

 

存储过程是用

T-SQL 

 

语言编写成的

SQL 

 

子例程,它存储于

SQL 

 

服务器上供用户调用 执行。

 

与一般的

SQL 

 

语句和批处理语句不同的是,存储过程是经过预编译的。当首 次运行一个存储过程时,

SQL 

Server 

 

的查询处理器将对其分析,并产生最终的执行 方案。由于查询处理的大部分工作已经完成,所以以后执

 

 

行存储过程时速度将会很 快。执行存储过程时可带参数并可调用其他存储过程,执行完毕后返回信息以指示 是否

 

成功完成相应操作。存储过程有两种:一种是

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 

 

 

配置系统参数 例:

1>; sp_helpdb 2>; go name db_size 

owner dbid created status master 3.0 MB sa 1 Jan 01, 1900 no options set model 2.0 

MB sa 3 Jan 01, 1900 no options set sybsystemprocs 10.0 MB sa 4 Oct 24, 1997 trunc 
log on chkpt tele114 370.0 MB sa 5 Oct 24, 1997 select into/bulkcopy, trunc log on 

ch kpt tempdb 22.0 MB sa 2 May 05, 1998 select into/bulkcopy (0 rows affected, 
return status = 0) 

 

例:

1>; sp_monitor 2>; go last_run current_run seconds May 5 

1998 4:09PM May 5 1998 4:13PM 224
    (0 rows affected) cpu_busy io_busy idle 17(1)-0% 5(0)-0% 923(223)-99% (0 rows 

affected) packets_received packets_sent packet_errors 21(9) 51(23) 0(0) (0 rows 
affected) total_read total_write total_errors connections 947(1) 595(113) 0(0) 

3(1) (0 rows affected, return status = 0)
    (5)触发器(Triggers) 触发器是一种特殊的存储过程,用来维护不同表中的相关数据的一致性。当在一

 

 

 

张 表中插入、删除和修改数据时,触发器就会触发另一个存储过程,从而保持数据的 一致性。 (

6)缺省与规则

(Defaults and rules) 缺省是在数据录入时,若用户没有输入数据,SQL Server 

 

自动输入的值。 规则是

可以理解为对数据库、某一列、某用户数据类型的限制。
    三、SQL 查询语言

    SQL 

 

不仅包括查询数据的有关命令,还包括创建数据库及其对象,增、删、改数据 等功能。分别定义为数

 

 

据查询语言,数据定义语言及数据操作语言。这里先介绍数 据查询语言。其基本句法为:

Select 

select_list from table_list where search_conditions 1

 

、简单查询

A

 

、选择若干列

Select 

expression [,expression]…… From table_list B

 

 

、选择若干行 查出电话号码以

415 到头的记录

    Select * from code_1th where tel like '415%' 

 

查询中消除值重复的行

Select distinct 

tel from code_1th   

Text   

char 

 

可用

like ,

其中可用通配符

%’ ‘

-’

 

,分别代表多个字符和 单个字

 

符。 其他常用查询条件有:

(  

text 类型除外) 

 

大小比较

=、>;、<、>=、<=、!=、!>;、!< 范围确定 

between exp1 and exp2 /net between exp1 and exp2 

 

列表或集合

in (exp1[,exp2,[……]]) not 

in (……) 

 

谓词

like 

 

多重条件

and or not 2

 

、连接查询

A

、等值连接和不等值连接:通过

=’来比较两个表

 

 

 

之间的数据时,称为等值连接; 而通过其他比较符时,称为不等值连接 等值连接:

Select * from