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

下载本文档

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

文档简介

培训体系华为S数据库培训教材目录第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启动SQLServer...............................................................32精品文档放心下载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.1bcp..........................................................................44精品文档放心下载8.2isql.........................................................................44感谢阅读8.3showserver...................................................................45精品文档放心下载8.4startserver..................................................................45感谢阅读8.5syman........................................................................45感谢阅读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年推出了SybaseSYBASEUNIX谢谢阅读操作系统下运行的版本,二是NovellNetware环境下运行的版本,三是感谢阅读WindowsNT环境下运行的版本。对UNIX操作系统目前广泛应用的为SYBASE感谢阅读12.6。1.2Sybase数据库的特点(1)它是基于客户/服务器体系结构的数据库一般的关系数据库都是基于主/从式的模型的。在主/从式的结构中,谢谢阅读所有的应用都运行在一台机器上。用户只是通过终端发命令或简单地查看应感谢阅读用运行的结果。而在客户/服务器结构中,应用被分在了多台机器上运行。一台机器感谢阅读是另一个系统的客户,或是另外一些机器的服务器。这些机器通过局域网或谢谢阅读广域网联接起来。客户/服务器模型的好处是:●它支持共享资源且在多台设备间平衡负载●允许容纳多个主机的环境,充分利用了企业已有的各种系统谢谢阅读(2)它是真正开放的数据库由于采用了客户/服务器结构,应用被分在了多台机器上运行。更进谢谢阅读一步,运行在客户端的应用不必是Sybase公司的产品。对于一般的关系数据谢谢阅读库,为了让其它语言编写的应用能够访问数据库,提供了预编译。Sybase数精品文档放心下载据库,不只是简单地提供了预编译,而且公开了应用程序接口DB-LIB,鼓励谢谢阅读第三方编写DB-LIB接口。由于开放的客户DB-LIB允许在不同的平台使用完谢谢阅读DB-LIB的应用程序很容易从一个平台向另一个精品文档放心下载平台移植。(3)它是一种高性能的数据库Sybase真正吸引人的地方还是它的高性能。体现在以下几方面:感谢阅读●可编程数据库通过提供存储过程,创建了一个可编程数据库。存储过程允许用户精品文档放心下载编写自己的数据库子例程。这些子例程是经过预编译的,因此不必为每次调感谢阅读用都进行编译、优化、生成查询规划,因而查询速度要快得多。谢谢阅读●事件驱动的触发器触发器是一种特殊的存储过程。通过触发器可以启动另一个存储过精品文档放心下载程,从而确保数据库的完整性。●多线索化Sybase精品文档放心下载据库都依靠操作系统来管理与数据库的连接。当有多个用户连接时,系统的精品文档放心下载性能会大幅度下降。Sybase数据库不让操作系统来管理进程,把与数据库的谢谢阅读连接当作自己的一部分来管理。此外,Sybase的数据库引擎还代替操作系统谢谢阅读来管理一部分硬件资源,如端口、内存、硬盘,绕过了操作系统这一环节,精品文档放心下载提高了性能。1.3Sybase数据库的组成Sybase数据库主要由三部分组成:(1)进行数据库管理和维护的一个联机的关系数据库管理系统SybaseSQL精品文档放心下载Server;SybaseSQLServer是个可编程的数据库管理系统,它是整个Sybase产谢谢阅读品的核心软件,起着数据管理、高速缓冲管理、事务管理的作用。感谢阅读(2)支持数据库应用系统的建立与开发的一组前端工具SybaseSQL精品文档放心下载Toolset;ISQL是与SQLServer进行交互的一种SQL句法分析器。ISQL接收用户感谢阅读发出的SQL语言,将其发送给SQLServer,并将结果以形式化的方式显示在感谢阅读用户的标准输出上。DWB是数据工作台,是SybaseSQLToolset的一个主要组成部分,它的谢谢阅读作用在于使用户能够设置和管理SQLServer谢谢阅读种对数据库的信息执行添加、更新和检索等操作的简便方法。在DWB中能完精品文档放心下载成ISQL的所有功能,且由于DWB是基于窗口和菜单的,因此操作比ISQL简谢谢阅读单,是一种方便实用的数据库管理工具。APT是Sybase客户软件部分的主要产品之一,也是从事实际应用开发的精品文档放心下载主要环境。APT精品文档放心下载非常复杂的应用程序,它主要用于开发基于表格(Form)的应用。其用户界谢谢阅读面采用窗口和菜单驱动方式,通过一系列的选择完成表格(Form)、菜单和感谢阅读处理的开发。(3)可把异构环境下其它厂商的应用软件和任何类型的数据连接在一起精品文档放心下载的接口SybaseOpenClient/OpenServer。精品文档放心下载通过OpenClient的DB-LIBSQLServerOpen谢谢阅读Server的SERVER-LIB,应用程序可以访问其它的数据库管理系统。精品文档放心下载第2章SYBASE有关概念SybaseSQLServer精品文档放心下载和用户数据库。而不论是系统数据库还是用户数据库,都建立在数据库设备精品文档放心下载上。2.1数据库设备所有的数据库都创建在数据库设备上。所谓数据库设备,不是指一个可谢谢阅读识别的物理设备,而是指用于存储数据库和数据库对象的磁盘原始分区或操谢谢阅读作系统文件。增加一个新的数据库设备时,必须对这些设备“初始化”。初谢谢阅读始化的过程就是将物理磁盘、磁盘分区或操作系统文件变为SYBASE数据库可谢谢阅读以识别的设备。初始化数据库设备使用DISKINIT命令:谢谢阅读DISKINITNAME=设备名,PHYSNAME=物理设备名,VDEVNO=虚拟设备号,SIZE=块数其中,NAME指数据库设备名,此名将用于CREATEDATABASE和ALTER感谢阅读DATABASE命令。PHYSNAMEVDEVNO是数据精品文档放心下载库设备的标识号,在SQLServer中,它必须是唯一的。SIZE的单位是2K的精品文档放心下载SIZE是model1024个2K感谢阅读的块(2M)。例如:/*将/dev目录下400M的物理设备初始化为SYBASE的数据库设备感谢阅读tele114_log01*/1>diskinit2>name=“tele114_log01”,3>physname=“/dev/rtelelog”精品文档放心下载4>vdevno=45>size=204800/*2Kbyte*204800=400Mbyte*/谢谢阅读6>go2.2段数据库设备从逻辑上被划分为数据库段以允许将某一特定的对象放感谢阅读置在指定的段上(创建对象时指定),一数据库设备可拥有多达192个段,谢谢阅读一段可使用255个逻辑设备上的存储空间。当用户创建一个数据库时,SQL感谢阅读SERVER会自动在该数据库中创建三个段: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中设置。这些谢谢阅读modeloff)。精品文档放心下载在一般情况下,大多数用户无权修改model数据库,又没被授权读取。因为精品文档放心下载model中所有内容已拷贝到新数据库中,授权读model没什么意义。精品文档放心下载usemodelgosp_helpgoNameOwnerObject_type----------------------------------------------------谢谢阅读sysalternatesdbosystemtable精品文档放心下载syscolumnsdbosystemtable精品文档放心下载syscommentsdbosystemtable感谢阅读sysconstraintsdbosystemtable精品文档放心下载sysdependsdbosystemtable谢谢阅读sysgamsdbosystemtablesysindexesdbosystemtable谢谢阅读syskeysdbosystemtablesyslogsdbosystemtablesysobjectsdbosystemtable精品文档放心下载sysproceduresdbosystemtable感谢阅读sysprotectsdbosystemtable感谢阅读sysreferencesdbosystemtable谢谢阅读sysrolesdbosystemtablesyssegmentsdbosystemtable谢谢阅读systhresholdsdbosystemtable谢谢阅读systypesdbosystemtablesysusermessagesdbosystemtable精品文档放心下载sysusersdbosystemtable(3)sybsystemprocs数据库库中存储系统过程,当用户执行一存储过程(以sp_开始)时,SQL服感谢阅读务器首先在用户当前数据库中搜索指定的存储过程,如果没有相应过程,则精品文档放心下载到系统过程数据库中寻找,若没有,再到MASTER数据库中寻找。感谢阅读(4)临时数据库tempdb该数据库为临时表和临时工作提供了一个存储区域。临时数据库是SQL精品文档放心下载Server上所有数据库共享的工作空间。由于这些表都是临时的,所以每当用感谢阅读户退出或系统失败,这些表都将消失。(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数据库的创建而建立的。另外,每个用户数据库在创建感谢阅读时都有一个系统表的子集。mastersysconfiguressysdatabases、精品文档放心下载sysdevices、syslogins等;在用户数据库和系统数据库中都有的系统表有:谢谢阅读sysalternatessyscolumnssysindexssyslogssysobjectssysusers谢谢阅读等。例:usemastergosp_helpgoNameOwnerObject_type------------------------------精品文档放心下载-----------------------------------------------精品文档放心下载spt_committabdbousertablespt_datatype_infodbouser感谢阅读tablespt_datatype_info_extdbouser精品文档放心下载tablespt_monitordbousertablespt_server_infodbousertablespt_valuesdbousertablesysalternatesdbosystemtablesyscharsetsdbosystemtablesyscolumnsdbosystemtablesyscommentsdbosystemtablesysconfiguresdbosystemtablesysconstraintsdbosystemtablesyscurconfigsdbosystemtablesysdatabasesdbosystemtablesysdependsdbosystemtablesysdevicesdbosystemtablesysenginesdbosystemtablesysgamsdbosystemtablesysindexesdbosystemtablesyskeysdbosystemtablesyslanguagesdbosystemtablesyslistenersdbosystemtablesyslocksdbosystemtablesysloginrolesdbosystemtablesysloginsdbosystemtablesyslogsdbosystemtablesysmessagesdbosystemtablesysmonitorsdbosystemtablesysobjectsdbosystemtablesysproceduresdbosystemtablesysprocessesdbosystemtablesysprotectsdbosystemtablesysreferencesdbosystemtablesysremoteloginsdbosystemtablesysrolesdbosystemtablesyssegmentsdbosystemtablesysserversdbosystemtablesyssrvrolesdbosystemtablesystestlogdbosystemtablesysthresholdsdbosystemtablesystypesdbosystemtablesysusagesdbosystemtablesysusermessagesdbosystemtablesysusersdbosystemtablesp_configuredbostoredproceduresp_dboptiondbostoredproceduresp_getmessagedbostoredproceduresp_procxmodedbostoredproceduresp_prtsybsysmsgsdbostoredproceduresp_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_helpdbgonamedb_sizeownerdbidcreated精品文档放心下载status------------------------------------------------------------------感谢阅读--------master3.0MBsa1Jan01,1900谢谢阅读nooptionssetmodel2.0MBsa3Jan01,1900精品文档放心下载nooptionssetsybsystemprocs10.0MBsa4Oct24,1997trunc感谢阅读logonchkpttele114370.0MBsa5Oct24,1997select感谢阅读into/bulkcopy,trunclogonchkpt感谢阅读tempdb22.0MBsa2May05,1998select谢谢阅读into/bulkcopy(0rowsaffected,returnstatus=0)精品文档放心下载例:sp_monitorgolast_runcurrent_runseconds谢谢阅读---------------------------------------------------------------精品文档放心下载May519984:09PMMay519984:13PM224谢谢阅读(0rowsaffected)cpu_busyio_busyidle--------------------------------------------------感谢阅读-------------------------17(1)-0%5(0)-0%923(223)-99%(0rowsaffected)packets_receivedpackets_sentpacket_errors精品文档放心下载--------------------------------------------------感谢阅读-------------------------21(9)51(23)0(0)(0rowsaffected)total_readtotal_writetotal_errors精品文档放心下载connections---------------------------------------------------------谢谢阅读------------------947(1)595(113)0(0)3(1)(0rowsaffected,returnstatus=0)精品文档放心下载(5)触发器(Triggers)触发器是一种特殊的存储过程,用来维护不同表中的相关数据的一致性。谢谢阅读当在一张表中插入、删除和修改数据时,触发器就会触发另一个存储过程,感谢阅读从而保持数据的一致性。(6)缺省与规则(Defaultsandrules)谢谢阅读SQLServer自动输入的值。精品文档放心下载规则是可以理解为对数据库、某一列、某用户数据类型的限制。精品文档放心下载第3章SQL查询语言SQL谢谢阅读删、改数据等功能。分别定义为数据查询语言,数据定义语言及数据操作语感谢阅读言。这里先介绍数据查询语言。其基本句法为:Selectselect_listfromtable_listwhere精品文档放心下载search_conditions3.1简单查询A、选择若干列Selectexpression[,expression]...From精品文档放心下载table_listB、选择若干行查出电话号码以415到头的记录Select*fromcode_1thwheretellike'415%'谢谢阅读查询中消除值重复的行Selectdistincttelfromcode_1th感谢阅读对Text和char可用like,其中可用通配符‘%’及‘-’,分别代表多个谢谢阅读字符和单个字符。其他常用查询条件有:(出text类型除外)大小比较=、>、<、>=、<=、!=、!>、!<范围确定betweenexp1andexp2/netbetweenexp1andexp2谢谢阅读列表或集合in(exp1[,exp2,[...]])notin(...)谢谢阅读谓词like多重条件andornot3.2连接查询A、等值连接和不等值连接:通过‘=’来比较两个表之间的数据时,称为等感谢阅读值连接;而通过其他比较符时,称为不等值连接等值连接:Select*frompublishers,authorswhere感谢阅读publishers.city=authors.city谢谢阅读不等值连接:B、自然连接:在连接的目标列中相同名的列只保留一个精品文档放心下载Selectpublishers.pub_idpublishers.pub_name,publishers.state,精品文档放心下载authors.*Frompublishers,authorswherepublishers.city=authors.city精品文档放心下载3.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.typefromtitlest2where精品文档放心下载t1.pub_id!=t2.pub_id)3.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)fromtitlesgroupby谢谢阅读typeSelecttypefromtitlesgroupbytypehavingcount(*)>1感谢阅读Having类似于where,但where不能用聚集函数。谢谢阅读C、用Orderby对查询结果进行排序Selecttype,avg(price)fromtitlesgroupbytypeorderby谢谢阅读avg(price)D、Compute子句完成基于每一组中的值的聚集运算,聚集值作为一个新行出现在查询结果中。精品文档放心下载Selecttype,priceadvancefromtitlesorderbytypecompute谢谢阅读sum(price),sum(advance)bytype精品文档放心下载第4章数据库、数据库对象的增、删、改4.1数据库打开数据库Usetele114创建数据库。拥有创建数据库权利的用户可以创建自己的数据库。精品文档放心下载CREATEDATABASEtele114ONtele114_def01=10,tele114_run01=200,tele114_idx01=200谢谢阅读LOGONtele114_log01=80删除数据库Dropdatabasetele114修改数据库Alterdatabasetele114ontele114_run02=100,tele114_idx02=100感谢阅读4.2表建表createtablespec_code(Notinyintnotnull,/*(0--99)*/感谢阅读Namevarchar(50)null,/*名称*/精品文档放心下载Addrvarchar(50)null,/*地址*/精品文档放心下载Telvarchar(8)null,/*电话号码*/精品文档放心下载StaffNovarchar(4)notnull/*录入员工号*/感谢阅读)onsegrun/*将表放在segrun段上*/谢谢阅读删除表Droptabeltele114_1th修改表,在表中增加新的列(用这个命令增加的列必须允许null值)感谢阅读Altertablefriends_etcaddcountryvarchar(20)null感谢阅读表级或列级约束Createtablemy_publishers谢谢阅读(pub_idchar(4),Pub_namecarchar(40).Constraintmy_chk_constraint谢谢阅读Check(pub_idin('1389','0736','0877'))谢谢阅读Or(pub_namenotlike'badnewsbooks'))精品文档放心下载指定默认值Createtableny_titles(title_idchar(6t),Titlevarchar(80),Pricemoneydefaultnull,Total_salesintdefault(0))感谢阅读指定Unique和primarykey约束精品文档放心下载Primarykey不允许空值,常用来产生唯一的聚集索引,unique允许空值,谢谢阅读常用来产生唯一的非聚集索引Createtablemy_sales(stor_idchar(4),Ord_numvarchar(20),Datedatetime,Uniqueclustered(stor_id,ord_num))精品文档放心下载4.3索引建立索引createuniqueclusteredindexcode1thidx1on感谢阅读code_1th(Code1,Name,UnitNo1,Used)谢谢阅读onsegrunUnique:建立唯一性索引Clustered:建立聚集索引,使得数据行的逻辑顺序与物理顺序一致,查询谢谢阅读速度较快;每个表仅允许建立一个唯一性索引。(非聚集索引nonclustered)谢谢阅读Onsegrun:将索引放在segrun上删除索引:dropindexcode_1th.code1thidx1精品文档放心下载4.4默认当用户没有显示地为某一列赋值时,SQLSERVER为该列插入的值精品文档放心下载创建默认值CA,把默认值CA用到friends_etc表中的State列上谢谢阅读CreatdefaultstatedfltGoSp_bindefaultstatedflt,"frends_etc.state"谢谢阅读go断离默认Sp_unbindefault"frends_etc.state"感谢阅读删除默认Dropdefaultstatedflt4.5规则可以理解为对数据库、某一列、某用户数据类型的限制.规则中的任何变量名感谢阅读必须冠以@,不能直接引用列或其他数据库对象。创建规则并把他关联到用户定义的数据类型P#上Createrulephoneruleas@phonelike415[0-9][0-9][0-9][0-9]感谢阅读Sp_bindrulephonerule,"p#"精品文档放心下载断离规则Sp_unbindrule"p#"删除规则Droprulephonerule4.6视图视图是从一个或多个基本表或其他视图上导出的表,感谢阅读改创建视图创建视图的句法为:createviewview_name(column_1,...,column_n)asselect_statements例:在authors表和publishers表上定义一个视图如下:感谢阅读Createviewcities(authorname,acity,publishername,pcity)精品文档放心下载Asselectau_lname,authors.city,pub_name,publishers.city谢谢阅读Fromauthors,publishers通过使用Dropview命令来撤消一个视图Dropviewview_name4.7存储过程创建存储过程CREATEPROCEDUREprocedure_name[(para1[,para2,...])]谢谢阅读Assql_statements存储工程的参数名必须一@开头,包括@最长为30个字符。精品文档放心下载执行存储过程EXEC[UTE]procedure_name[(para1[,para2,...])]谢谢阅读存储过程能够返回一个整数,用来指示存储过程执行是完全错误还是错误。感谢阅读SQLSERVER用0指示成功的返回,-1~-990及谢谢阅读-1~-14的含义如表所示。值含义0过程执行无错-1丢失对象-2数据类型错误-3进程被选作死锁的牺牲品-4权限错误-5语法错误-6各种用户错误-7资源错误:如空间错误-8非严重的内部错误-9触及系统限制-10严重的内部不一致-11严重的内部不一致-12表或索引坏了-13数据库坏了-14硬件错误更改存储过程名Sp_renameobjnamenewname删除存储过程DROPPROCEDUREprocedure_name精品文档放心下载4.8触发器创建触发器CREATETRIGGER[owner.]trigger_name精品文档放心下载ON[owner.]table_name{FORINSERT,UPDATE,DELETE}感谢阅读ASSQL_statements或使用IFUPDATE子句:CREATETRIGGER[owner.]trigger_name精品文档放心下载ON[owner.]table_name{FORINSERT,UPDATE}AS[IFUPDATE(column_name)[{AND|OR}UPDATE(column_name)]...}感谢阅读SQL_statments[IFUPDATE(column_name)[{AND|OR}UPDATEcolumn_name)]...谢谢阅读SQL_statements]...触发器的删除DROPTRIGGER[owner.]trigger_name谢谢阅读第5章批处理和流控制语言5.1批处理SYBASE感谢阅读同时处理。一批语句的结束以go语句为标志。严格地讲,单条SQL语句也精品文档放心下载是一个批处理。例:Selectcount(*)fromtitles精品文档放心下载Selectcount(*)fromauthors感谢阅读Go也可以将一组SQL谢谢阅读给isql执行。5.2流控制语言流控制语句在批处理中,我们可以加入流程控制语句,从而达到编程的目的。在T-SQL谢谢阅读语言中,流控制语句有:if。。。Else。。。begin。。。End。。。while和break。。。Continuedeclare和局部变量以及全局变量GotoReturnWaitforprint和Raiserror注释例:ifexists(select*fromzyl感谢阅读wherexm="李军")print"ok"elseprint"nothisone"使用批处理有以下规则:CREATEPROCEDURE、CREATERULE、CREATEDEFAULT、CREATETRIGGER谢谢阅读以及CREATEVIEWE必须单独交给SQLSERVER,他们不能和别的SQL语句一谢谢阅读起作批处理(CREATEDATABASE、CREATETABLE和CREATEINDEX能和其他精品文档放心下载语句组成批处理)。规则和默认值都不能在一组批处理中刚关联就使用。USE命令必须在引用这个数据库的对象的语句的前一组批处理中提交。谢谢阅读不能刚删除(DROP)一个数据库对象又在同一批处理中重新创建他。谢谢阅读用SET语句做的任何选择设置在批处理尾处发生作用。可以把SET语句和查精品文档放心下载询语句放入一组批处理中,但SET选择项不能在这组批处理中使用。感谢阅读系统的启动和关闭5.3启动SQLServer应用SQLServer安装程序(sybinit)创建SQLServer或BackupServer,感谢阅读默认文件名为RUN_SYBASE和RUN_SYB_BACKUP,放在¥SYBASE/INSTALL目录谢谢阅读下。Startserver用来启动一SQLServer或BackupServer:精品文档放心下载Startserver-fRUN_SYBASEStartserver-fRUN_SYB_BAKUP精品文档放心下载可以通过showserver查看SQLServerBackupServer是否已经启动,在谢谢阅读$SYASE/INSTALL下运行showserver查看SQLServer是否启动感谢阅读UIDPIDPPIDCSTIMETTYTIME感谢阅读CMD(BackupServer已启动的信息)sybase831830017:23:50ttyp100:00:00精品文档放心下载/sybase/bin/backupserver朣SYB_BACKUP-I/sybase/interfaces谢谢阅读-M/sybase/bin/sybmul(SQLServer已启动的信息)sybase6741014:29:11ttyp000:00:45感谢阅读/sybase/bin/dataserver-d/sybase/master.dat朹SYBASE谢谢阅读-e/sybase/install/errorlog感谢阅读SQLServer的启动过程master数据库启动-----------鄐ybsystemproces数据库启动谢谢阅读-----------郷清空tempdb---------郷启动其它数据库-------郷事务的回精品文档放心下载滚5.4启动SQLServer的单用户模式如果要恢复一已被损坏的master数据库,则必须要启动SQLServer的单用精品文档放心下载户模式。单用户模式下仅允许一个系统管理员向SQLServer注册。谢谢阅读Startserver-fRUN_SYBASE-m精品文档放心下载5.5关闭服务器关闭SQLServer可以在isql中使用T-SQL命令:感谢阅读关闭SQL备服务器shutdownSYB_BACKUP关闭SQL主服务器shutdown[withnowait]5.6Sybase数据库目录说明/usr/sybase=..主目录../install安装程序../bin执行程序../include库函数文件../lib宿主语言库../doc联机文件../scriptsSQL动态描述文件../help帮助信息../locales语言限制文件../termdef终端定义文件../charsets字符集文件第6章SQLServer的用户及权限Sybase中的用户分为两种:SQL服务器用户(登录帐号)和数据库用户。感谢阅读安装完SQL服务器后,系统自动建立一个SQL服务器用户sa,口令为空,即谢谢阅读系统管理员,他对整个系统有操作权,其他用户均由系统管理员建立。精品文档放心下载在SQLServer中有三种特殊的用户:系统管理员、用户数据库所有者(建精品文档放心下载立相应数据库的数据库用户)DBO、一般用户。系统管理员对整个系统有操作谢谢阅读权;用户数据库所有者对他所建立的数据库具有全部操作权利;一般用户对感谢阅读给定的数据库只有被授权的操作权限。数据库用户一般可分为用户组,任一数据库在建立后即被赋予一个用户组精品文档放心下载public。6.1建立SQL服务器用户名(登录帐号)SQLServerSQLServer上有一个SQL服精品文档放心下载务器用户名(登录帐号)。这个帐号是系统管理员通过sp_addlogin来增加感谢阅读的。sp_addlogin登录名,口令,库名,语言,全名精品文档放心下载例:建立用户zhang,口令为zhangling(最低六位),全名为Zhangling精品文档放心下载sp_addloginzhang,zhangling,null,null,"Zhangling"谢谢阅读goselect*fromsysloginsgo6.2增加数据库用户名同样,为了使用SQLServer上的数据库,他必须在数据库中有一个用户名,感谢阅读这个用户名是数据库所有者通过sp_adduser感谢阅读用户帐户一样,而且在不同的数据库中用户名可以不同。多个用户可以有相感谢阅读同的SQLServerSQLServer帐户可以有相同的数据库名。谢谢阅读sp_adduser登录名,别名,组名登录名为用户的SQL服务器登录名;别名为用户在数据库中的用户名;组名精品文档放心下载为用户所属的数据库用户组。例:用户zhang增加为tele114的用户,别名为zhang1,属于用户组china精品文档放心下载1>sp_addgroupchina2>go1>sp_adduserzhang,zhang1,china感谢阅读2>gosp_helpusergo*例:删除别名zhang1,用户组china,登录名zhang精品文档放心下载usetele114gosp_dropuserzhang1gosp_helpusergo1>sp_dropgroupchina2>gosp_helpgroupgousemastergosp_droploginzhanggoselect*fromsysloginsgo6.3数据库操作授权grant命令序列to用户名A.系统管理员可以授予其他用户CREATEDATABASE精品文档放心下载其他用户可以成为数据库所有者。B.数据库所有者在他所拥有的数据库中,可以授予其他用户的权限精品文档放心下载有:CREATETABLE-------------------建表感谢阅读CREATEDEFAULT------------------建缺省谢谢阅读CREATERULE-------------------建规则感谢阅读CREATEPROCedure------------------建存储过程精品文档放心下载CREATEVIEW-------------------建视图感谢阅读DUMPDATABASE-------------------备份数据库感谢阅读DUMPTRANsaction------------------备份日志感谢阅读C.数据库对象所有者可以授予其他用户的操作权限有:谢谢阅读SELECTUPDATEINSERTEXECuteDELETEREFERENCE予zhang1在数据库tele114;对表students精品文档放心下载有select,reference权;对name,native字段有update权。谢谢阅读usetele114gograntcreattable,createprocedure,createviewtozhang1谢谢阅读gograntselect,referenceonstudentstozhang1withgrantoption精品文档放心下载gograntupdateonstudents(name,native)tozhang1精品文档放心下载gosp_helprotectgo第7章数据库备份与恢复SQLServer提供了两种不同类型的恢复:一类是系统自动完成的恢复;精品文档放心下载另一类是人工完成的恢复。7.1系统软件故障恢复系统自动恢复是在系统软件出现故障的情况下通过重新启动SQLServer精品文档放心下载进行恢复。自动恢复从master数据库开始,然后是model数据库,再是temporary感谢阅读数据库,最后是用户数据库。在每个数据库上,恢复机制观察事务日志。如精品文档放心下载果日志写入比数据库更近的数据,则向前恢复数据库。如果事务尚未完成,谢谢阅读则要回退它们。所谓事务日志就是一张系统表,syslogs。在这张表中记录着对数据库的谢谢阅读更新请求,例如插入、修改和删除。查询操作不记入事务日志中。感谢阅读7.2介质故障的恢复一旦介质发生故障,只有通过以前备份的数据库和事务日志才能恢复数感谢阅读据库,为此我们需要经常备份数据库和事务日志。备份数据库和事务日志我感谢阅读们使用dump命令,而恢复数据库和事务日志我们使用load命令。精品文档放心下载与创建数据库需要一个数据库设备类似,我们备份数据库和事务日志也需要感谢阅读一个卸出设备。增加卸出设备可以通过系统过程sp_addumpdevice来实现。精品文档放心下载卸出设备可以是磁盘、磁带或操作系统文件。sp_addumpdevice"type",device_name,physicalname谢谢阅读例:sp_addumpdevice"disk","db114","/usr/sybase/zyl114.bak",1感谢阅读(1)备份数据库和事务日志备份数据库的语法为:dumpdatabasedatabase_nametodump_device谢谢阅读例如:dumpdatabasetele114todb114谢谢阅读备份事务日志的语法为:dumptransactiondatabase_nametodump_device谢谢阅读[withtruncate_only|withno_log|withno_truncate]谢谢阅读前两项在日志中删除提交的事务,后一项不删除。在备份数据库前的所有事务日志备份都是没有意义的。我们一般不经常精品文档放心下载备份数据库,但我们要经常备份事务日志。这是因为备份事务日志比备份数感谢阅读据库需要更少的时间和存储空间。(2)恢复用户数据库要恢复已被破坏的数据库,可以按如下步骤进行:用带no_truncate选项的dump命令卸出用户数据库事务日志。谢谢阅读用和被破坏的数据库的同样的结构建立一个新的数据库。用load命令重新装入数据库和事务日志。装入数据库的语法为:loaddatabasedatabase_name精品文档放心下载fromfile_name装入事务日志的语法为:loadtransactiondatabase_name感谢阅读fromfile_name例:数据库备份dumpdb_nametofile_namego数据库恢复loaddb_namefromfile_name感谢阅读go日志备份dumptransactiondb_nametofile_name谢谢阅读go日志恢复loadtransactiondb_namefromfile_name谢谢阅读go日志删除dumptransactiondb_namewithtruncate_only谢谢阅读Go(3)master数据库的恢复Asysdatabases、sysdevices、sysusages、感谢阅读sysloginroles和Syslogins。B、转储主设备上的用户数据库。C、关闭SQLServer并使用buildmaster建立新的master数据库或主设备。感谢阅读Buildmaster-m...仅重建master数据库精品文档放心下载Buildmaster...重建主设备D、已单用户模式启动SQLServer(Master-Recover)感谢阅读Startserver-fRUN_服务器名-m精品文档放心下载Emaster数据库用alterdatabasesysusages感谢阅读中的分配。F、若BackupServer的网络名(接口文件中的名字)不是SYB_BACKUP,在精品文档放心下载sysservers中改动网络名。Updatesysserverssetsrvnetname="PRODUCTION_BSRV"where精品文档放心下载srvname="SYB_BACKUP"G、使用showserver查看,检查确保BackupServer正运行,若有必要,重谢谢阅读启BakupServerH、装载master的备份。Loaddatabasemasterfrom'master.bak'感谢阅读Loaddatabase执行成功后,SQLServer自动关闭。感谢阅读I、若自master的上次转储以来增加过数据库设备,执行diskreinit命令精品文档放心下载以重建sysdevices。J、若执行了diskreinit,或自上次转储以来使用过createdatabase或感谢阅读alterdatabase,执行diskrefit重建sysusages和sysdatabases表,执精品文档放心下载行完毕后SQLServer自动关闭。K、检查一致性:比较sysusages和sysdatabases的备份和新的联机版本,谢谢阅读对每个数据库执行dbcccheckalloc,精品文档放心下载错误重新执行diskreinit和diskrefit。谢谢阅读L、若恢复了整个主设备,则恢复model数据库。Cd$SYBASE/scriptsSetenvDSQUERY服务器名Isql-Usa-P口令-S服务器名<installmodel感谢阅读M、重新装载所有受影响的用户数据库。N、恢复服务器用户ID。O、以多用户模式重新启动SQLServer。(4)恢复model数据库Buildmaster-d/设备名-x(5)恢复sybsystemproces数据库A、删除sybsystemproces数据库(若物理磁盘损坏,删除设备,使用Disk精品文档放心下载init重建设备)B、重建数据库Createdatabasesybsystemporceson设备名=数据库大小谢谢阅读C、恢复数据库Cd$SYBASE/scriptsSetenvDSQUERY服务器名Isql-Usa-P口令-S服务器名<installmaster精品文档放心下载第8章几个实用程序8.1bcp以用户指定的形式将数据库表拷贝到操作系统文件中,或从操作系统文精品文档放心下载件中拷贝一个数据库表。提供了在数据库表和操作系统文件之间传递数据的感谢阅读一个方便、快速的方法。bcp[[database-name.]owner.]table_name{in|out}datafile[各种感谢阅读开关]其中,table_name是想要拷贝的数据库表名;{in/out}为拷贝方向,in谢谢阅读表示从文件到数据库的拷贝,out表示从数据库到文件的拷贝;datafile是精品文档放心下载操作系统文件的全路径名。常用的开关有:-f

温馨提示

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

评论

0/150

提交评论