Sybase数据库管理培训 1Word文档下载推荐.docx

上传人:b****3 文档编号:6506413 上传时间:2023-05-06 格式:DOCX 页数:38 大小:36.25KB
下载 相关 举报
Sybase数据库管理培训 1Word文档下载推荐.docx_第1页
第1页 / 共38页
Sybase数据库管理培训 1Word文档下载推荐.docx_第2页
第2页 / 共38页
Sybase数据库管理培训 1Word文档下载推荐.docx_第3页
第3页 / 共38页
Sybase数据库管理培训 1Word文档下载推荐.docx_第4页
第4页 / 共38页
Sybase数据库管理培训 1Word文档下载推荐.docx_第5页
第5页 / 共38页
Sybase数据库管理培训 1Word文档下载推荐.docx_第6页
第6页 / 共38页
Sybase数据库管理培训 1Word文档下载推荐.docx_第7页
第7页 / 共38页
Sybase数据库管理培训 1Word文档下载推荐.docx_第8页
第8页 / 共38页
Sybase数据库管理培训 1Word文档下载推荐.docx_第9页
第9页 / 共38页
Sybase数据库管理培训 1Word文档下载推荐.docx_第10页
第10页 / 共38页
Sybase数据库管理培训 1Word文档下载推荐.docx_第11页
第11页 / 共38页
Sybase数据库管理培训 1Word文档下载推荐.docx_第12页
第12页 / 共38页
Sybase数据库管理培训 1Word文档下载推荐.docx_第13页
第13页 / 共38页
Sybase数据库管理培训 1Word文档下载推荐.docx_第14页
第14页 / 共38页
Sybase数据库管理培训 1Word文档下载推荐.docx_第15页
第15页 / 共38页
Sybase数据库管理培训 1Word文档下载推荐.docx_第16页
第16页 / 共38页
Sybase数据库管理培训 1Word文档下载推荐.docx_第17页
第17页 / 共38页
Sybase数据库管理培训 1Word文档下载推荐.docx_第18页
第18页 / 共38页
Sybase数据库管理培训 1Word文档下载推荐.docx_第19页
第19页 / 共38页
Sybase数据库管理培训 1Word文档下载推荐.docx_第20页
第20页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Sybase数据库管理培训 1Word文档下载推荐.docx

《Sybase数据库管理培训 1Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Sybase数据库管理培训 1Word文档下载推荐.docx(38页珍藏版)》请在冰点文库上搜索。

Sybase数据库管理培训 1Word文档下载推荐.docx

●多线索化

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

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

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

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

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

3.Sybase数据库的组成

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

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

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

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

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

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

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

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

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

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

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

二SYBASE有关概念

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

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

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

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、段

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

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

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

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

x先用Diskinit初始化物理设备

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

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

语法如下:

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

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没什么意义。

(3)sybsystemprocs数据库

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

(4)临时数据库tempdb

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

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

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

(5)安全审核数据库sybsecurity

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

(6)示例数据库pubs2

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

(7)命令语法数据库sybsyntax

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

4、用户数据库

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

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

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

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

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

5、数据库对象

(1)表(Tables)

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

一切数据都存放在表中。

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

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

其中,每一列称之为一个字段,或一个域;

而每一行称之为一个记录,也就是一项数据。

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

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

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

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

sysconfigures、sysdatabases、sysdevices、syslogins等;

在用户数据库和系统数据库中都有的系统表有:

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

(2)视图(Views)

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

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

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

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

使用视图的好处是:

●操作方便

●安全性

(3)索引(Index)

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

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

表的索引一旦建立,系统会自动对其进行更新维护以使它与相应表对应一致;

操作时,用户无须指定索引,系统会自动确定是否使用索引进行操作。

(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配置系统参数

例:

1>

sp_help

(5)触发器(Triggers)

触发器是一种特殊的存储过程,用来维护不同表中的相关数据的一致性。

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

(6)缺省与规则(Defaultsandrules)

缺省是在数据录入时,若用户没有输入数据,SQLServer自动输入的值。

规则是可以理解为对数据库、某一列、某用户数据类型的限制。

三SQL查询语言

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

分别定义为数据查询语言,数据定义语言及数据操作语言。

这里先介绍数据查询语言。

其基本句法为:

Selectselect_listfromtable_listwheresearch_conditions

1、简单查询

A、选择若干列

Selectexpression[,expression]...Fromtable_list

B、选择若干行

查出电话号码以415到头的记录

Select*fromcode_1thwheretellike'

415%'

查询中消除值重复的行

Selectdistincttelfromcode_1th

对Text和char可用like,其中可用通配符‘%’及‘-’,分别代表多个字符和单个字符。

其他常用查询条件有:

(出text类型除外)

大小比较=、>

、<

、>

=、<

=、!

>

、!

<

范围确定betweenexp1andexp2/netbetweenexp1andexp2

列表或集合in(exp1[,exp2,[...]])notin(...)

谓词like

多重条件andornot

2、连接查询

A、等值连接和不等值连接:

通过‘=’来比较两个表之间的数据时,称为等值连接;

而通过其他比较符时,称为不等值连接

等值连接:

Select*frompublishers,authorswherepublishers.city=authors.city

不等值连接:

Select*frompublishers,authorswherepublishers.city>

authors.city

B、自然连接:

在连接的目标列中相同名的列只保留一个

Selectpublishers.pub_idpublishers.pub_name,publishers.state,authors.*

Frompublishers,authorswherepublishers.city=authors.city

3、子查询

A、表达式子查询

Selectau_lname,au_fnamefromauthorswherecity=

(selectcityfrompublisherswherepub_name="

abcde"

可以使用一切大小比较操作符;

在操作符和子查询之间可以使用All或any。

B、限定谓词子查询

Selectpub_namefrompublishersfrompublishers

Wherepub_idin

(selectpub_idfromtitleswheretype='

abcde'

C、相关查询

相关查询即嵌套查询依赖于外部父查询的值,嵌套查询要重复执行若干次。

Selectdistinctt1.typefromtitlest1

Wheret1.typein(selectt2.typefromtitlest2wheret1.pub_id!

=t2.pub_id)

4、集函数、分组与排序

A、对查询结果进行聚集处理

聚集函数:

Sum([all|distinct]expression),avg([all|distinct]exoression),

Count([all|distinct]expression),count(*),max(expression),min(expression)

Selectcount(*)fromtitles

B、用Groupby和having子句对查询结果分组

Selecttype,avg(advance),sum(total_sales)fromtitlesgroupbytype

Selecttypefromtitlesgroupbytypehavingcount(*)>

1

Having类似于where,但where不能用聚集函数。

C、用Orderby对查询结果进行排序

Selecttype,avg(price)fromtitlesgroupbytypeorderbyavg(price)

D、Compute子句

完成基于每一组中的值的聚集运算,聚集值作为一个新行出现在查询结果中。

Selecttype,priceadvancefromtitlesorderbytypecomputesum(price),sum(advance)bytype

四数据库、数据库对象的增、删、改

1、数据库

x打开数据库

Usetele114

x创建数据库。

拥有创建数据库权利的用户可以创建自己的数据库。

CREATEDATABASEtele114

ONtele114_def01=10,tele114_run01=200,tele114_idx01=200

LOGONtele114_log01=80

x删除数据库

Dropdatabasetele114

x修改数据库

Alterdatabasetele114ontele114_run02=100,tele114_idx02=100

2、表

x建表

createtablespec_code

Notinyintnotnull,/*特编号(0--99)*/

Namevarchar(50)null,/*名称*/

Addrvarchar(50)null,/*地址*/

Telvarchar(8)null,/*电话号码*/

StaffNovarchar(4)notnull/*录入员工号*/

onsegrun/*将表放在segrun段上*/

x删除表

Droptabeltele114_1th

x修改表,在表中增加新的列(用这个命令增加的列必须允许null值)

Altertablefriends_etcaddcountryvarchar(20)null

x表级或列级约束

Createtablemy_publishers

(pub_idchar(4),

Pub_namecarchar(40).

Constraintmy_chk_constraint

Check(pub_idin('

1389'

'

0736'

0877'

))

Or(pub_namenotlike'

badnewsbooks'

x指定默认值

Createtableny_titles

(title_idchar(6t),

Titlevarchar(80),

Pricemoneydefaultnull,

Total_salesintdefault(0))

x指定Unique和primarykey约束

Primarykey不允许空值,常用来产生唯一的聚集索引,unique允许空值,常用来产生唯一的非聚集索引

Createtablemy_sales

(stor_idchar(4),

Ord_numvarchar(20),

Datedatetime,

Uniqueclustered(stor_id,ord_num))

3、索引

x建立索引

createuniqueclusteredindexcode1thidx1oncode_1th(Code1,Name,UnitNo1,Used)

onsegrun

Unique:

建立唯一性索引

Clustered:

建立聚集索引,使得数据行的逻辑顺序与物理顺序一致,查询速度较快;

每个表仅允许建立一个唯一性索引。

(非聚集索引nonclustered)

Onsegrun:

将索引放在segrun上

x删除索引:

dropindexcode_1th.code1thidx1

默认:

当用户没有显示地为某一列赋值时,SQLSERVER为该列插入的值

4、规则:

可以理解为对数据库、某一列、某用户数据类型的限制.规则中的任何变量名必须

冠以@,不能直接引用列

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

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2