华为Sybase数据库培训教材_第1页
华为Sybase数据库培训教材_第2页
华为Sybase数据库培训教材_第3页
华为Sybase数据库培训教材_第4页
华为Sybase数据库培训教材_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Sybaase数数据库培培训教材材华为技术术有限公司版权所有有侵权必必究PAGEiv目录TOC o 1-3 h z u HYPERLINK l _Toc27791902 第1章 Sybbasee数据库库简介 PAGEREF _Toc27791902 h 77 HYPERLINK l _Toc27791903 1.1 版本 PAGEREF _Toc27791903 h 77 HYPERLINK l _Toc27791904 1.2 Sybbasee数据库库的特点点 PAGEREF _Toc27791904 h 7 HYPERLINK l _Toc27791905 1.3 Sybbasee数据库库

2、的组成成 PAGEREF _Toc27791905 h 8 HYPERLINK l _Toc27791906 第2章 SYBBASEE有关概概念 PAGEREF _Toc27791906 h 100 HYPERLINK l _Toc27791907 2.1 数据库库设备 PAGEREF _Toc27791907 h 110 HYPERLINK l _Toc27791908 2.2 段 PAGEREF _Toc27791908 h 111 HYPERLINK l _Toc27791909 2.3 系统数数据库 PAGEREF _Toc27791909 h 111 HYPERLINK l _Toc

3、27791910 2.4 用户数数据库PAGEREF _Toc27791910 h 114 HYPERLINK l _Toc27791911 2.5 数据库库对象 PAGEREF _Toc27791911 h 114 HYPERLINK l _Toc27791912 第3章 SQLL 查询询语言 PAGEREF _Toc27791912 h 222 HYPERLINK l _Toc27791913 3.1 简单查查询 PAGEREF _Toc27791913 h 222 HYPERLINK l _Toc27791914 3.2 连接查查询 PAGEREF _Toc27791914 h 222

4、HYPERLINK l _Toc27791915 3.3 子查询询 PAGEREF _Toc27791915 h 23 HYPERLINK l _Toc27791916 3.4 集函数数、分组组与排序序 PAGEREF _Toc27791916 h 23 HYPERLINK l _Toc27791917 第4章 数据库库、数据据库对象象的增、删、改改 PAGEREF _Toc27791917 h 25 HYPERLINK l _Toc27791918 4.1 数据库库 PAGEREF _Toc27791918 h 25 HYPERLINK l _Toc27791919 4.2 表 PAGERE

5、F _Toc27791919 h 255 HYPERLINK l _Toc27791920 4.3 索引 PAGEREF _Toc27791920 h 226 HYPERLINK l _Toc27791921 4.4 默认 PAGEREF _Toc27791921 h 227 HYPERLINK l _Toc27791922 4.5 规则 PAGEREF _Toc27791922 h 227 HYPERLINK l _Toc27791923 4.6 视图 PAGEREF _Toc27791923 h 228 HYPERLINK l _Toc27791924 4.7 存储过过程 PAGEREF

6、_Toc27791924 h 288 HYPERLINK l _Toc27791925 4.8 触发器器 PAGEREF _Toc27791925 h 29 HYPERLINK l _Toc27791926 第5章 批处理理和流控控制语言言 PAGEREF _Toc27791926 h 31 HYPERLINK l _Toc27791927 5.1 批处理理 PAGEREF _Toc27791927 h 31 HYPERLINK l _Toc27791928 5.2 流控制制语言 PAGEREF _Toc27791928 h 331 HYPERLINK l _Toc27791929 5.3 启

7、动SSQL Serrverr PAGEREF _Toc27791929 h 32 HYPERLINK l _Toc27791930 5.4 启动SSQL Serrverr的单用用户模式式 PAGEREF _Toc27791930 h 33 HYPERLINK l _Toc27791931 5.5 关闭服服务器 PAGEREF _Toc27791931 h 333 HYPERLINK l _Toc27791932 5.6 Sybbasee数据库库目录说说明 PAGEREF _Toc27791932 h 333 HYPERLINK l _Toc27791933 第6章 SQLL Seerveer的

8、用用户及权权限 PAGEREF _Toc27791933 h 355 HYPERLINK l _Toc27791934 6.1 建立SSQL服服务器用用户名(登登录帐号号) PAGEREF _Toc27791934 h 355 HYPERLINK l _Toc27791935 6.2 增加数数据库用用户名 PAGEREF _Toc27791935 h 335 HYPERLINK l _Toc27791936 6.3 数据库库操作授授权 PAGEREF _Toc27791936 h 377 HYPERLINK l _Toc27791937 第7章 数据库库备份与与恢复 PAGEREF _Toc2

9、7791937 h 339 HYPERLINK l _Toc27791938 7.1 系统软软件故障障恢复 PAGEREF _Toc27791938 h 339 HYPERLINK l _Toc27791939 7.2 介质故故障的恢恢复 PAGEREF _Toc27791939 h 399 HYPERLINK l _Toc27791940 第8章 几个实实用程序序 PAGEREF _Toc27791940 h 44 HYPERLINK l _Toc27791941 8.1 bcpp PAGEREF _Toc27791941 h 44 HYPERLINK l _Toc27791942 8.2

10、isqql PAGEREF _Toc27791942 h 444 HYPERLINK l _Toc27791943 8.3 shoowseerveer PAGEREF _Toc27791943 h 455 HYPERLINK l _Toc27791944 8.4 staartsservver PAGEREF _Toc27791944 h 445 HYPERLINK l _Toc27791945 8.5 symman PAGEREF _Toc27791945 h 445 HYPERLINK l _Toc27791946 8.6 dbccc 数数据库一一致性检检查 PAGEREF _Toc2779

11、1946 h 466 HYPERLINK l _Toc27791947 第9章 Sybbasee客户端端软件 PAGEREF _Toc27791947 h 447 HYPERLINK l _Toc27791948 9.1 安装 PAGEREF _Toc27791948 h 447 HYPERLINK l _Toc27791949 9.2 运行 PAGEREF _Toc27791949 h 447 HYPERLINK l _Toc27791950 第10章章 附录录 PAGEREF _Toc27791950 h 49 HYPERLINK l _Toc27791951 10.11 附录录1:只有有

12、在maasteer数据据库中才才能有的的系统表表 PAGEREF _Toc27791951 h 49 HYPERLINK l _Toc27791952 10.22 附录录2:Syssusaagess一行记记录了分分配给一一个数据据库的每每一个磁磁盘分析析 PAGEREF _Toc27791952 h 49 HYPERLINK l _Toc27791953 10.33 附录录3:由SQLL Seerveer提供供的系统统过程功功能和执执行权 PAGEREF _Toc27791953 h 550 HYPERLINK l _Toc27791954 10.44 附录录4:常用用SQLL命令 PAGER

13、EF _Toc27791954 h 522F-PAGE5关键词: SYBBASEE SQLL 数据库库摘要:本文主要要介绍了了Sybbasee数据库库的基础础知识和和常用维维护操作作及其工工具的使使用,可可以与NN20000产品品基础共共用的培培训教材材。 华为技术Sybase数据库培训教材PAGE1PAGE8Sybaase数数据库简简介版本 19884年,Maark B. Hifffmaan和Robbertt Eppsteern创创建了SSybaase公公司,并并在19987年年推出了了Sybbasee数据库库产品。SYBBASEE主要有有三种版版本,一一是UNNIX操操作系统统下运行行的版

14、本本,二是是Novvelll Neetwaare环环境下运运行的版版本,三三是Wiindoows NT环环境下运运行的版版本。对对UNIIX操作作系统目目前广泛泛应用的的为SYYBASSE 112.66。Sybaase数数据库的的特点(1)它它是基于于客户/服务器器体系结结构的数数据库一般的关关系数据据库都是是基于主主/从式的的模型的的。在主主/从式的的结构中中,所有有的应用用都运行行在一台台机器上上。用户户只是通通过终端端发命令令或简单单地查看看应用运运行的结结果。而在客户户/服务器器结构中中,应用用被分在在了多台台机器上上运行。一台机机器是另另一个系系统的客客户,或或是另外外一些机机器的服

15、服务器。这些机机器通过过局域网网或广域域网联接接起来。客户/服服务器模模型的好好处是:它支持持共享资资源且在在多台设设备间平平衡负载载允许容容纳多个个主机的的环境,充充分利用用了企业业已有的的各种系系统(2)它它是真正正开放的的数据库库由于采用用了客户户/服务器器结构,应应用被分分在了多多台机器器上运行行。更进进一步,运运行在客客户端的的应用不不必是SSybaase公公司的产产品。对对于一般般的关系系数据库库,为了了让其它它语言编编写的应应用能够够访问数数据库,提提供了预预编译。Sybbasee数据库库,不只只是简单单地提供供了预编编译,而而且公开开了应用用程序接接口DBB-LIIB,鼓鼓励第

16、三三方编写写DB-LIBB接口。由于开开放的客客户DBB-LIIB允许许在不同同的平台台使用完完全相同同的调用用,因而而使得访访问DBB-LIIB的应应用程序序很容易易从一个个平台向向另一个个平台移移植。(3)它它是一种种高性能能的数据据库 Syybasse真正正吸引人人的地方方还是它它的高性性能。体体现在以以下几方方面:可编程程数据库库通过提供供存储过过程,创创建了一一个可编编程数据据库。存存储过程程允许用用户编写写自己的的数据库库子例程程。这些些子例程程是经过过预编译译的,因因此不必必为每次次调用都都进行编编译、优优化、生生成查询询规划,因因而查询询速度要要快得多多。事件驱驱动的触触发器触

17、发器是是一种特特殊的存存储过程程。通过过触发器器可以启启动另一一个存储储过程,从从而确保保数据库库的完整整性。多线索索化 SSybaase数数据库的的体系结结构的另另一个创创新之处处就是多多线索化化。一般般的数据据库都依依靠操作作系统来来管理与与数据库库的连接接。当有有多个用用户连接接时,系系统的性性能会大大幅度下下降。SSybaase数数据库不不让操作作系统来来管理进进程,把把与数据据库的连连接当作作自己的的一部分分来管理理。此外外,Syybasse的数数据库引引擎还代代替操作作系统来来管理一一部分硬硬件资源源,如端端口、内内存、硬硬盘,绕绕过了操操作系统统这一环环节,提提高了性性能。Syb

18、aase数数据库的的组成Sybaase数数据库主主要由三三部分组组成:(1) 进行数数据库管管理和维维护的一一个联机机的关系系数据库库管理系系统Syybasse SSQL Serrverr; Sybbasee SQQL SServver是是个可编编程的数数据库管管理系统统,它是是整个SSybaase产产品的核核心软件件,起着着数据管管理、高高速缓冲冲管理、事务管管理的作作用。 (2) 支持持数据库库应用系系统的建建立与开开发的一一组前端端工具SSybaase SQLL Tooolsset; ISQQL是与与SQLL Seerveer进行行交互的的一种SSQL句句法分析析器。IISQLL接收用用

19、户发出出的SQQL语言言,将其其发送给给SQLL Seerveer,并并将结果果以形式式化的方方式显示示在用户户的标准准输出上上。 DWBB是数据据工作台台,是SSybaase SQLL Tooolsset的的一个主主要组成成部分,它它的作用用在于使使用户能能够设置置和管理理SQLL Seerveer上的的数据库库,并且且为用户户提供一一种对数数据库的的信息执执行添加加、更新新和检索索等操作作的简便便方法。在DWWB中能能完成IISQLL的所有有功能,且且由于DDWB是是基于窗窗口和菜菜单的,因因此操作作比ISSQL简简单,是是一种方方便实用用的数据据库管理理工具。 APTT是Sybbasee

20、客户软软件部分分的主要要产品之之一,也也是从事事实际应应用开发发的主要要环境。APTT工作台台是用于于建立应应用程序序的工具具集,可可以创建建从非常常简单到到非常复复杂的应应用程序序,它主主要用于于开发基基于表格格(Foorm)的的应用。其用户户界面采采用窗口口和菜单单驱动方方式,通通过一系系列的选选择完成成表格(Form)、菜单和处理的开发。 (3) 可把把异构环环境下其其它厂商商的应用用软件和和任何类类型的数数据连接接在一起起的接口口Sybbasee Oppen Cliientt/Oppen Serrverr。通过Oppen Cliientt的DB-LIBB库,应应用程序序可以访访问SQQ

21、L SServver。而通过过Opeen SServver的的SERRVERR-LIIB,应应用程序序可以访访问其它它的数据据库管理理系统。PAGE25SYBAASE有有关概念念 Sybbasee SQQL SServver是是一个多多库数据据库系统统。这些些数据库库包括系系统数据据库和用用户数据据库。而而不论是是系统数数据库还还是用户户数据库库,都建建立在数数据库设设备上。数据库设设备所有的数数据库都都创建在在数据库库设备上上。所谓谓数据库库设备,不不是指一一个可识识别的物物理设备备,而是是指用于于存储数数据库和和数据库库对象的的磁盘原原始分区区或操作作系统文文件。增增加一个个新的数数据库设

22、设备时,必必须对这这些设备备“初始化化”。初始始化的过过程就是是将物理理磁盘、磁盘分分区或操操作系统统文件变变为SYYBASSE数据据库可以以识别的的设备。初始化化数据库库设备使使用DIISK INIIT命令令: DIISK INIITNAMEE=设备备名,PHYSSNAMME=物物理设备备名,VDEVVNO=虚拟设设备号,SIZEE=块数数其中,NNAMEE指数据据库设备备名,此此名将用用于CRREATTE DDATAABASSE和ALTTER DATTABAASE命命令。PPHYSSNAMME是原原始磁盘盘分区或或操作系系统文件件名。VVDEVVNO是是数据库库设备的的标识号号,在SSQL

23、 Serrverr中,它它必须是是唯一的的。SIIZE的的单位是是2K的块块,对于于新创建建的数据据库,最最小的SSIZEE是moddel数数据库的的尺寸,即即10224个2K的块块(2MM)。例如:/*将/deev目录录下4000M的的物理设设备初始始化为SSYBAASE的的数据库库设备ttelee1144_loog011*/1diisk iniit2naame=“telle1114_llog001”,3phhysnnamee=“/deev/rrtelleloog”4vddevnno=445siize=20448000 /*22Kbyyte*20448000=4000Mbbytee*/6go

24、o段数据库设设备从逻逻辑上被被划分为为数据库库段以允允许将某某一特定定的对象象放置在在指定的的段上(创创建对象象时指定定),一一数据库库设备可可拥有多多达1992个段段,一段段可使用用2555个逻辑辑设备上上的存储储空间。当用户户创建一一个数据据库时,SQL SERVER 会自动在该数据库中创建三个段: SYSTEM、LOGSEGMENT 、DEFAULT,这三个段分别用来存储数据库的系统表、事务日志和其他数据库对象在数据库库中创建建段的步步骤是:先用Diisk iniit 初初始化物物理设备备通过使用用Creeatee daatabbasee 和altter dattabaase 的on 子

25、句,使使数据库库设备对对数据库库可用,于于是新设设备自动动增加到到数据库库的deefauult 和sysstemm段。一旦数据据库设备备存在并并对数据据库可用用,使用用存储过过程Spp_adddseegmeent 定义数数据库的的段。语语法如下下:Sp_aaddssegmmentt 段名名,数据据库名,设设备名系统数据据库安装Syybasse数据据库时自自动生成成的下列列系统数数据库:主数据据库maasteer;模型数数据库mmodeel;系统过过程数据据库syybsyysteemprrocss;临时数数据库ttemppdb。也可选择择下列数数据库:安全审审核数据据库syybseecurrit

26、yy;示例数数据库ppubss2;命令语语法数据据库syybsyyntaax。(1) massterr数据库库包含许多多系统表表和系统统过程,从从总体上上控制用用户数据据库和SSQL Serrverr的操作作,构成成了SYYBASSE系统统的数据据字典。MASSTERR数据库库主要记记录信息息为:登录帐帐号(SSQL服服务器用用户名);sysslogginss,syysreemollelooginns正在执执行的过过程;ssyspproccessses可修改改的环境境变量;syssconnfiggurees系统错错误信息息;syysmeessaagess SQQL服务务器上每每个数据据库的信信

27、息;ssysddataabasses每个数数据库占占用的存存储空间间;syysussagees系统上上安装的的磁带及及磁带信信息;ssysddeviicess活动锁锁信息;syssloccks(2) moddel数数据库提供了新新用户数数据库的的初型。当我们们每次用用CREEATEE DAATABBASEE命令时,SQQL SServver都都产生一一个moodell数据库库的拷贝贝,然后后把它扩扩展到命命令要求求的尺寸寸。如果果我们修修改了mmodeel数据据库,那那么以后后新创建建的数据据库都将将随它而而改变。下面是是几个通通常用到到的对mmodeel数据据库的改改变:增加用用户数据据库类

28、型型、规则则或缺省省;可存取取SQLL Seerveer上所所有数据据库的用用户用ssp_aadduuserr增加到到moddel数数据库上上;缺省权权限(特特别是gguesst帐号号)可在在moddel中中建立;诸如sseleect intto/bbulkkcoppy那样样的数据据库选项项可在mmodeel中设设置。这这些设置置反映到到所有新新创建的的数据库库中。它它们在mmodeel中最最原始的的值是关关(offf)。在一般情情况下,大大多数用用户无权权修改mmodeel数据据库,又又没被授授权读取取。因为为moddel中中所有内内容已拷拷贝到新新数据库库中,授授权读mmodeel没什什么

29、意义义。use moddelgosp_hhelppgoNamee Owwnerr OObjeect_typpe syssaltternnatees dbbo ssysttem tabble sysscollumnns dbbo ssysttem tabble sysscommmennts dbbo ssysttem tabble syssconnstrrainnts dbbo ssysttem tabble syssdeppendds dbbo ssysttem tabble syssgamms dbbo ssysttem tabble syssinddexees dbbo ssysttem

30、tabble sysskeyys dbbo ssysttem tabble syssloggs dbbo ssysttem tabble syssobjjectts dbbo ssysttem tabble syssprooceddurees dbbo ssysttem tabble syssprooteccts dbbo ssysttem tabble syssreffereencees dbbo ssysttem tabble syssrolles dbbo ssysttem tabble syssseggmennts dbbo ssysttem tabble syssthrreshhol

31、dds dbbo ssysttem tabble sysstyppes dbbo ssysttem tabble syssuseermeessaagess dbbo ssysttem tabble syssuseers dbbo ssysttem tabble (3) sybbsysstemmproocs数数据库库中存储储系统过过程,当当用户执执行一存存储过程程(以ssp_开开始)时时,SQQL 服服务器首首先在用用户当前前数据库库中搜索索指定的的存储过过程,如如果没有有相应过过程,则则到系统统过程数数据库中中寻找,若若没有,再再到MAASTEER数据据库中寻寻找。(4)临临时数据据库teem

32、pddb该数据库库为临时时表和临临时工作作提供了了一个存存储区域域。临时时数据库库是SQQL SServver上上所有数数据库共共享的工工作空间间。由于于这些表表都是临临时的,所所以每当当用户退退出或系系统失败败,这些些表都将将消失。(5)安安全审核核数据库库sybbseccuriity数据库中中保存系系统的安安全审核核信息,它它可跟踪踪记录每每个用户户的操作作情况,为为维护系系统安全全提供控控制手段段。(6)示示例数据据库puubs22为用户提提供一个个学习SSYBAASE的的数据库库模型。(7)命命令语法法数据库库sybbsynntaxx库中保存存SYBBASEE数据库库的命令令语法及及支

33、持的的语言库库。用户数据据库用户数据据库是指指用Crreatte ddataabasse 命命令创建建的数据据库。所所有新的的用户数数据库都都要在mmastter数据据库中创创建,也也就是说说,不能能存取mmastter数数据库的的用户是是无权创创建新的的数据库库的。SSA可以以将创建建数据库库的权限限授予其其他用户户。新建建数据库库中存在在一些系系统表,在在syssuseers表表中至少少有一条条记录,既既该数据据库的创创建者。数据库库创建时时,创建建者既为为该数据据库的 ownner, 当然然创建者者可以将将这一地地位或这这一所有有权用系系统过程程授予别别的用户户。数据库对对象(1)表表(

34、Taablees)在一个关关系数据据库中,表表是最重重要的数数据库对对象,对应于于关系数数据库理理论中关关系,与与DBAASE或或FOXXPROO中的DBBF文件件是类似似。一切切数据都都存放在在表中。其它数数据库对对象都是是为了用用户很好好地操作作表中的的数据。表都以以一张二二维表的的形式存存在。其其中,每每一列称称之为一一个字段段,或一一个域;而每一一行称之之为一个个记录,也也就是一一项数据据。有一类表表,它们们的名字字都是以以syss开头的的,这些些表称为为系统表表,系统统表记录录着有关关SQLL Seerveer的信信息。在在massterr数据库库中的表表大部分分为系统统表,这这些表

35、是是随着mmastter数数据库的的创建而而建立的的。另外外,每个个用户数数据库在在创建时时都有一一个系统统表的子子集。例如,只只有在mmastter数数据库中中才有的的系统表表有:ssyscconffiguuress、syssdattabaasess、syssdevvicees、sysslogginss等;在在用户数数据库和和系统数数据库中中都有的的系统表表有:ssysaalteernaatess、sysscollumnns、syssinddexss、syssloggs、syssobjjectts、syssuseers等等。例:use massterrgosp_hhelppgoNamee O

36、wnner OObjeect_typpe spt_commmitttabb dboo useer ttablle spt_dattatyype_inffo dboo useer ttablle spt_dattatyype_inffo_eext dboo useer ttablle spt_monnitoor dboo useer ttabllespt_serrverr_innfo dboo useer ttablle spt_valluess dboo useer ttabllesysaalteernaatess dboo sysstemm taablee sysccharrsetts db

37、oo sysstemm taableesysccoluumnss dboo sysstemm taableesysccommmentts dboo sysstemm taableesyscconffiguuress dboo sysstemm taableesyscconsstraaintts dboo sysstemm taableesysccurcconffigss dboo sysstemm taableesysddataabasses dboo sysstemm taableesysddepeendss dboo sysstemm taableesysddeviicess dboo s

38、ysstemm taablee syseengiiness dboo sysstemm taableesysggamss dboo sysstemm taableesysiindeexess dboo sysstemm taableesyskkeyss dboo sysstemm taableesysllangguagges dboo sysstemm taableesysllistteneers dboo sysstemm taableesysllockks dboo sysstemm taableesysllogiinrooless dboo sysstemm taableesysllog

39、iins dboo sysstemm taablee sysllogss dboo sysstemm taablee sysmmesssagees dboo sysstemm taableesysmmoniitorrs dboo sysstemm taableesysoobjeectss dboo sysstemm taableesyspprocceduuress dboo sysstemm taableesyspproccessses dboo sysstemm taableesyspprottectts dboo sysstemm taableesysrrefeerenncess dboo

40、 sysstemm taableesysrremootellogiins dboo sysstemm taableesysrrolees dboo sysstemm taableesysssegmmentts dboo sysstemm taableesyssservverss dboo sysstemm taableesysssrvrrolees dboo sysstemm taableesysttesttlogg dboo sysstemm taableesystthreeshooldss dboo sysstemm taableesysttypees dboo sysstemm taab

41、leesysuusagges dboo sysstemm taablee sysuuserrmesssagges dboo sysstemm taableesysuuserrs dboo sysstemm taableesp_cconffiguure dboo stooredd prroceedurresp_ddbopptioon dboo stooredd prroceedurresp_ggetmmesssagee dboo stooredd prroceedurresp_pproccxmoode dboo stooredd prroceedurresp_pprtssybssysmmsgss

42、 dboo stooredd prroceedurresp_vvaliidlaang dboo stooredd prroceedurre说明见附附录表11(2)视视图(VViewws)视图是查查看一张张或几张张表中的的数据的的一种方方式。通通过将一一张或几几张表中中的一部部分数据据进行组组合得到到视图。视图看看上去与与表非常常相象,但但与表还还是有着着本质的的区别。通过视视图看到到的数据据实际上上都是存存放在表表中的,在在数据库库中仅存存在视图图的定义义。使用视图图的好处处是:操作方方便安全性性(3)索索引(IIndeex)索引是对对字段生生成的,用用于加快快数据的的检索。在Syybasse

43、数据据库中,索索引是由由系统自自动管理理的,也也就是说说,Syybasse的索索引操作作对用户户是透明明的。表表的索引引一旦建建立,系系统会自自动对其其进行更更新维护护以使它它与相应应表对应应一致;操作时时,用户户无须指指定索引引,系统统会自动动确定是是否使用用索引进进行操作作。Sybaase支持持三种不不同类型型的索引引,一是是复合索索引,即即包含几几个列的的索引;二是唯唯一性索索引,即即任意两两行中的的索引列列不能有有相同的的取值;三是簇簇类索引引(Cllusttereed iindeexess)和非非簇类索索引(NNoncclussterred inddexss),簇簇类索引引使SQQL

44、服务务器不断断重排表表行的物物理顺序序以使其其与逻辑辑索引顺顺序相一一致,非非簇类索索引则不不需要表表行的物物理顺序序与逻辑辑顺序一一致。每每个表最最多只能能建立一一个簇类类索引,非非簇类索索引则可可建立多多个。与与非簇类类索引相相比,簇簇类索引引的检索索速度要要快。应应当在建建立任何何非簇类类索引以以前建立立簇类索索引。(4)存存储过程程(Sttoreed pprocceduuress)存储过程程是用TT-SQQL语言言编写成成的SQQL子例例程,它它存储于于SQLL服务器器上供用用户调用用执行。与一般般的SQQL语句句和批处处理语句句不同的的是,存存储过程程是经过过预编译译的。当当首次运运

45、行一个个存储过过程时,SQL Server的查询处理器将对其分析,并产生最终的执行方案。由于查询处理的大部分工作已经完成,所以以后执行存储过程时速度将会很快。执行存储过程时可带参数并可调用其他存储过程,执行完毕后返回信息以指示是否成功完成相应操作。存储过程有两种:一种是SQL服务器安装时自动建立的系统存储过程(系统过程),另一种是用户自己创建的存储过程。系统过程程是用于于系统管管理,并并且为用用户提供供了从事事数据库库管理的的一种途途径。这这些系统统过程都都是以ssp_开开头的,它它们都放放在maasteer数据据库中且且隶属于于sa(系统管管理员) 。也也有很多多可以在在任一个个数据库库中运

46、行行的系统统过程。常见的系系统过程程有:Sp_aaddggrouup在当前数数据库中中建立一一个数据据库用户户组Sp_aaddllogiin建立一个个SQLL服务器器用户Sp_aadduuserr在当前数数据库中中增加一一个用户户sp_cchanngeggrouup改变数据据库用户户组Sp_ddbopptioon查询或改改变数据据库系统统设置Sp_ddroppdevvicee删除设备备Sp_ddroppgrooup删除组Sp_ddropploggin删除帐号号Sp_hhelpp查询数据据库对象象及所有有数据库库信息Sp_hhelppdb查询数据据库信息息Sp_hhelppdevvicee查询设

47、备备信息Sp_hhelppgrooup查询组信信息Sp_hhelppinddex查询给定定表信息息Sp_hhelppuseer查询用户户信息Sp_llockk查询当前前加锁信信息Sp_mmoniitorr查询SQQL服务务器统计计信息Sp_ppasssworrd改变登录录帐号口口令Sp_sspacceussed查询表中中的行数数、数据据页数及及空间大大小Sp_wwho查询当前前用户及及过程信信息Sp_ssynttax查询操作作语法Sp_cconffiguure配置系统统参数例:sp_hhelppdbgonamee db_sizze owwnerr dbbid creeateed staatus

48、s mastter 3.00 MBB saa 1 Jann 011, 119000 noo opptioons sett moddel 2.00 MBB saa 3 Jann 011, 119000 noo opptioons settsybssysttempproccs 110.00 MBB saa 4 Octt 244, 119977 truunc logg onn chhkptt telee1144 3700.0 MB sa 55 OOct 24, 19997 sseleect intto/bbulkkcoppy, truunc logg onn chhkptt temppdb 22.0

49、 MMB ssa 2 Maay 005, 19998 sseleect intto/bbulkkcoppy (0 rowws aaffeecteed, retturnn sttatuus = 0)例:sp_mmoniitorrgolastt_ruun ccurrrentt_ruun ssecoondss Mayy 5 19998 4:009PMM Mayy 5 19998 4:113PMM 2224 (0 rrowss afffecctedd) cpuu_buusy iio_bbusyy iidlee 17(1)-0% 55(0)-0% 9233(2223)-99% (0 rrowss aff

50、fecctedd) paccketts_rreceeiveed ppackketss_seent paackeet_eerroors 21(9) 551(223) 0(0) (0 rrowss afffecctedd) tottal_reaad ttotaal_wwritte tootall_errrorrs connnecctioons 9477(1) 5595(1133) 0(0) 3(11) (0 rrowss afffecctedd, rretuurn staatuss = 0)(5)触触发器(Triiggeers)触发器是是一种特特殊的存存储过程程,用来来维护不不同表中中的相关关数据

51、的的一致性性。当在在一张表表中插入入、删除除和修改改数据时时,触发发器就会会触发另另一个存存储过程程,从而而保持数数据的一一致性。(6)缺缺省与规规则(DDefaaultts aand rulles)缺省是在在数据录录入时,若若用户没没有输入入数据,SQL Server自动输入的值。规则是可可以理解解为对数数据库、某一列列、某用用户数据据类型的的限制。PAGE29SQL 查询语语言 SQQL不仅仅包括查查询数据据的有关关命令,还还包括创创建数据据库及其其对象,增增、删、改数据据等功能能。分别别定义为为数据查查询语言言,数据据定义语语言及数数据操作作语言。这里先先介绍数数据查询询语言。其基本本句

52、法为为: SSeleect seelecct_llistt frrom tabble_lisst wwherre ssearrch_conndittionns简单查询询A、选择择若干列列 Seelecct eexprresssionn ,exppresssioon Froom ttablle_llisttB、选择择若干行行查出电话话号码以以4155到头的的记录Seleect * ffromm coode_1thh whheree teel llikee 4415%查询中消消除值重重复的行行Seleect disstinnct tell ffromm coode_1thh 对Texxt 和和 c

53、hhar 可用 llikee ,其其中可用用通配符符%及-,分别别代表多多个字符符和单个个字符。其他常用用查询条条件有:(出texxt类型型除外)大小比较较=、=、!1Haviing 类似于于wheere , 但但wheere 不能用用聚集函函数。C、用OOrdeer bby 对对查询结结果进行行排序Seleect typpe ,avgg(prricee) ffromm tiitlees ggrouup bby ttypee orrderr byy avvg(ppricce)D、Coompuute 子句完成基于于每一组组中的值值的聚集集运算,聚聚集值作作为一个个新行出出现在查查询结果果中。Se

54、leect typpe ,priice advvancce ffromm tiitlees oordeer bby ttypee coompuute summ(prricee), summ(addvannce) byy tyypePAGE37数据库、数据库库对象的的增、删删、改数据库打开数据据库Use telle1114创建数据据库。拥拥有创建建数据库库权利的的用户可可以创建建自己的的数据库库。CREAATE DATTABAASE telle1114ON ttelee1144_deef011=100,teele1114_runn01=2000,teele1114_idxx01=2000 LOG

55、G ONN teele1114_logg01=80删除数据据库 Droop ddataabasse ttelee1144修改数据据库 Altter dattabaase telle1114 oon ttelee1144_ruun022=1000, telle1114_iidx002=1100表建表 creeatee taablee sppec_codde ( No tinnyinnt nnot nulll, /*特编号号(0999)*/ Namme vvarccharr(500) nnulll, /*名称*/ Adddr vvarccharr(500) nnulll, /*地址*/ Tell

56、vaarchhar(8) nulll, /*电话号号码*/ StaaffNNo vvarccharr(4) noot nnulll /*录入员员工号*/ )on ssegrrun /*将表放放在seegruun段上上*/删除表Dropp taabell teele1114_1thh修改表,在表中中增加新新的列(用这个个命令增增加的列列必须允允许nuull值值)Alteer ttablle ffrieendss_ettc aadd couuntrry vvarccharr(200 ) nulll 表级或列列级约束束Creaate tabble my_pubblissherrs (pubb_idd

57、 chhar(4),Pub_namme ccarccharr(400).Consstraaintt myy_chhk_cconsstraainttChecck (pubb_idd inn (13889,07736,008777)Or (pubb_naame nott liike baad nnewss boookss)指定默认认值Creaate tabble ny_tittless(tittle_id chaar(66t),Titlle vvarccharr(800),Pricce mmoneey ddefaaultt nuull,Totaal_ssalees iint deffaullt (

58、0)指定Unniquue 和和priimarry kkey 约束Primmaryy keey 不不允许空空值,常常用来产产生唯一一的聚集集索引,unique 允许空值,常用来产生唯一的非聚集索引Creaate tabble my_salles(stoor_iid ccharr(4),Ord_numm vaarchhar(20),Datee daatettimee,Uniqque cluusteeredd(sttor_id,ordd_nuum)索引建立索引引 creeatee unniquue cclussterred inddex codde1tthiddx1 on coode_1thh(Co

59、ode11,Naame,UniitNoo1,UUsedd) onn seegruunUniqque: 建立立唯一性性索引Clussterred : 建立聚聚集索引引,使得得数据行行的逻辑辑顺序与与物理顺顺序一致致,查询询速度较较快;每每个表仅仅允许建建立一个个唯一性性索引。(非聚集集索引nnoncclussterred)On ssegrrun:将索引引放在ssegrrun上上删除索引引: droop iindeex ccodee_1tth.ccodee1thhidxx1默认当用户没没有显示示地为某某一列赋赋值时,SQL SERVER 为该列插入的值创建默认认值CAA,把默默认值CCA用到到fr

60、iiendds_eetc表表中的SStatte列上上Creaat ddefaaultt sttateedflltGoSp_bbinddefaaultt sttateedfllt, ffrennds_etcc.sttateego断离默认认Sp_uunbiindeefauult frrendds_eetc.staate删除默认认Dropp deefauult staateddfltt规则可以理解解为对数数据库、某一列列、某用用户数据据类型的的限制.规则中中的任何何变量名名必须冠冠以,不能能直接引引用列或或其他数数据库对对象。创建规则则并把他他关联到到用户定定义的数数据类型型P#上Creaate r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论