SQLServer数据库系统概述课件_第1页
SQLServer数据库系统概述课件_第2页
SQLServer数据库系统概述课件_第3页
SQLServer数据库系统概述课件_第4页
SQLServer数据库系统概述课件_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

第八章SQLServer数据库系统概述开始下一页SQLServer的发展历程及特点SQLServer的安装与启动SQLServer管理工具简介SQLServer的系统结构TransactSQL语言简介SQLServer的主要数据类型SQLServer函数SQLServer的标识符及命名规则1应用程序逻辑数据库大型机客户端终端字符按键信息大型主机执行RDBMS和应用程序…20世纪60-70年代的系统结构计算机应用系统的发展(1)大型机相当于今天的服务器集中式2数据库应用程序逻辑工作站1应用程序逻辑工作站1应用程序逻辑工作站1应用程序逻辑工作站1……网络文件服务器文件请求文件应用程序在客户工作站上运行只提供资源(数据)的集中管理和访问途径计算机应用系统的发展(2)20世纪80年代的系统结构文件/服务器3SELECT*FROMstudentWHERE学号=“992126”提交的SQL接收的结果带有60000条记录的数据库表格文件student查询在服务器端执行SQL请求返回一条记录客户工作站服务器工作站接收的只是查询的结果

查询语句将在服务器中执行

客户/服务器结构特点前端用户需要后台服务器的服务时仅仅发出请求,服务器接受该请求后执行相应的功能,并把满足条件的那部分数据反馈给前台客户端本结构核心大型机的绝对功能和集中管理以及微型计算机的低费用和更好的平衡处理能力“协同处理”即通过客户端和服务器端的最佳分式合作,使整个系统达到最高的效率客户端程序和数据专用服务器功能和数据用户共享它是一个开放的体系结构5

数据库服务器的平台与客户端无关(无论是软件平台还是硬件平台)。数据库服务器上的数据库管理系统集中负责管理数据库服务器上的数据和资源,它向客户端提供一个开放的使用环境,客户端的用户通过数据库接口和SQL语言访问数据库。

也就是说,不管客户端采用的是什么样的硬件平台和软件环境,它只要能够通过网络协议和数据库接口程序连接到服务器就可以对数据库进行访问。

客户/服务器结构特点671.真正的客户机/服务器体系结构。2.图形化用户界面,使系统管理和数据库管理更加直观、简单。3.丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。4.SQLServer与WindowsNT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQLServer也可以很好地与MicrosoftBackOffice产品集成。SQLServer的主要特点95.具有很好的伸缩性,可跨越从运行Windows95/98的膝上型电脑到运行Windows2000的大型多处理器等多种平台使用。6.对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。7.SQLServer提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。10SQLServer2000常见的版本企业版(EnterpriseEdition)标准版(StandardEdition)个人版(PersonalEdition)开发者版(DeveloperEdition)

二、

SQLServer的安装与启动11安装、运行SQLServer2000的软件需求SQLServer2000企业版必须运行于安装WindowsNTServerEnterpriseEdition4.0或者Windows2000AdvancedServer以及更高版本的操作系统下。SQLServer2000标准版必须运行于安装WindowsNTServerEnterpriseEdition4.0、WindowsNTServer4.0、Windows2000Server以及更高版本的操作系统下。SQLServer2000个人版可在多种操作系统下运行,如可运行于Windows9x,WindowsNT4.0或Windows2000的服务器版或工作站版的操作系统下。SQLServer2000开发者版可运行于上述Windows9x以外的所有操作系统下。13SQLServer2000的安装与启动SQLServer2000的安装过程与其它MicrosoftWindows系列产品类似。用户可根据向导提示,选择需要的选项一步一步地完成。SQLServer2000安装完成后,在Windows的程序项中会出现MicrosoftSQLServer程序组,运行SQLServer数据库服务器。14数据库服务器管理工具数据库企业管理器查询分析器服务管理器导入和导出数据服务器端网络实用工具客户端网络实用工具事件探查器在IIS中配置SQLXML支持AnalysisServices工具EnglishQuery工具

系统数据库用户数据库数据表索引视图存储过程学习SQLServer2000需要掌握的内容15三、SQLServer管理工具简介SQLServer企业管理器是SQLServer的一个最重要的工具,它通过图形化的用户界面(GUI)来设置和管理服务器,易于使用。查询分析器不但能够完成与企业管理器相同的工作,它还为数据库应用程序开发人员提供了一个简单易用的SQL交互窗口,用户通过它可以交互地设计、测试、运行TransactSQL语句。了解其它管理工具的功能。17企业管理器企业管理器是基于一种新的被称为微软管理控制台(MicrosoftManagementConsole)的公共服务器管理环境,它是SQLServer中最重要的一个管理工具。企业管理器不仅能够配置系统环境和管理SQLServer,而且由于它能够以层叠列表的形式来显示所有的SQLServer对象,因而所有SQLServer对象的建立与管理都可以通过它来完成。18SQLServer企业管理器(EnterpriseManager)界面191.3.2服务管理器(ServiceManager)SQLServer服务管理器是在服务器端实际工作时最有用的实用程序,其界面如图1-21所示。服务管理器用来启动、暂停、继续和停止数据库服务器的实时服务,其提供的服务包括:SQLServer、SQLServerAgent、MSDTC(MicrosoftDistributedTransactionCoordinator,微软分布式事务协调器)。21图1-21SQLServer服务管理器(ServiceManager)界面22查询分析器(QueryAnalyzer)SQLServer2000新的图形化查询分析器用于输入和执行Transaction-SQL语句,并且迅速查看这些语句的结果,以分析和处理数据库中的数据。这是一个非常实用的工具,对掌握SQL语言,深入理解SQLServer的管理工作有很大帮助。SQLServer数据库查询分析器SQL23客户端网络实用工具(ClientNetworkUtility)25导入和导出数据(ImputandExportData)导入和导出数据采用DTC导入/导出向导来完成。此向导包含了所有的DTS(DataTransformationServices)工具,提供了在OLEDB数据源之间复制数据的最简捷的方法。SQLServer数据库DTS服务数据数据数据数据其他类型数据库26系统数据库SQLSrver的数据库组成系统级信息临时数据库,属于全局资源,没有权限限制。复制、作业调度和管理报警等建立新数据库的模板下一页29SQLServer系统数据库简介SQLServer2000有6个系统数据库1.Master数据库是SQLServer系统最重要的数据库,它记录了SQLServer系统的所有系统信息。这些系统信息包括所有的登录信息、系统设置信息、SQLServer的初始化信息和其它系统数据库及用户数据库的相关信息。2.Model数据库是所有用户数据库和Tempdb数据库的模板数据库,它含有Master数据库所有系统表的子集,这些系统数据库是每个用户定义数据库需要的。303.Msdb数据库是代理服务数据库,为其警报、任务调度和记录操作员的操作提供存储空间。4.Tempdb是一个临时数据库,它为所有的临时表、临时存储过程及其它临时操作提供存储空间。5.Pubs和Northwind数据库是两个实例数据库,它们可以作为SQLServer的学习工具。31系统表在逻辑层次上,数据库是由表、视图、存储过程等一系列数据对象组成的。每当创建数据库时,SQLServer都会自动创建一些数据对象,其中比较重要的是系统表。不要求背系统表,只要求知道:系统表是自动生成的,不能手工修改。32几个最重要的系统表1.Sysobjects表SQLServer的主系统表sysobjects出现在每个数据库中,它对每个数据库对象含有一行记录。2.Syscolumns表系统表syscolumns出现在master数据库和每个用户自定义的数据库中,它对基表或者视图的每个列和存储过程中的每个参数含有一行记录。3.Sysindexes表系统表sysindexes出现在master数据库和每个用户自定义的数据库中,它对每个索引和没有聚簇索引的每个表含有一行记录,它还对包括文本/图像数据的每个表含有一行记录。334.Sysusers表系统表sysusers出现在master数据库和每个用户自定义的数据库中,它对整个数据库中的每个WindowsNT用户、WindowsNT用户组、SQLServer用户或者SQLServer角色含有一行记录。5.Sysdatabases表系统表sysdatabases对SQLServer系统上的每个系统数据库和用户自定义的数据库含有一行记录,它只出现在master数据库中。346.Sysdepends表系统表Sysdepends对表、视图和存储过程之间的每个依赖关系含有一行记录,它出现在master数据库和每个用户自定义的数据库中。7.Sysconstraints表系统表sysconstraints对使用CREATETABLE或者ALTERTABLE语句为数据库对象定义的每个完整性约束含有一行记录,它出现在master数据库和每个用户自定义的数据库中。35第八章SQLServer数据库系统概述开始下一页SQLServer的发展历程及特点SQLServer的安装与启动SQLServer管理工具简介SQLServer的系统结构TransactSQL语言简介SQLServer的主要数据类型SQLServer函数SQLServer的标识符及命名规则36五、TransactSQL语言简介标准SQL语言是作为查询和执行语言使用的,不是功能全面的编程语言。Transact-SQL是SQLServer对标准SQL的扩展扩展的主要功能是:加入了程序控制结构,如IF-ELSE、WHILE等加入了局部变量、全局变量SQLServer不区分大小写,但书写规范是:保留关键字大写37T—SQL的主要功能:1、具有标准的SQL语言所有功能2、扩展功能有:加入程序控制和局部变量和全局变量一些功能。——可以编写简单的程序。38Transact-SQL语言主要组成部分数据定义语言(DDL,DataDefinitionLanguage)数据操纵语言(DML,DataManipularionLanguage)数据控制语言(DCL,DataControlLanguage)系统存储过程(SystemStoredProcedure)一些附加的语言元素39一些附加的语言元素:如注释符号与变量及运算符:(1)、

注释:有两种:一种为ANSI标准注释符:--,适用于单行另一种为多行注释符:/**/(2)、

变量:语言中必不可少的组成部分。A:局部变量:用户自定的,仅在程序内部使用,引用时要在其名称前加上@,而且必须用DECLARE定义后才可使用。设置完值为空,可用SELECT或SET语句定值。40例1:use教师库DECLARE@MYCHAR(10)SET@MY='张红'--或者为select@MY='张红'SELECT*from教师表where教师姓名=@MY例2:USEPUBS GO DECLARE@STATECHAR(2) SET@STATE="CHINA" SELECT@STATEB:全局变量:系统提供的。任何程序都可调用。以标记符@@开头,名称不要与局部变量相同,在服务器级定义。41例1:Selectgetdate()as‘today’’sdateandtime’,/*显示当前日期和时间为止试图登录服务器的次数。*/@@connectionsas‘loginattempts’例2:select@@versionas‘当前版本信息’例3:print@@version--与例2有什么区别?42运算符

(1)

算术运算符:(2)

字符串运算符:(3)

位运算符:对二进制计算(4)

赋值运算符:只有一个;等号(5)

比较运算符:P34(6)

逻辑运算符:NOT,AND,OR与其他不同的是,前后不用两点43例:定义一个变量,int型,定值为2*(3+4),显示出来。Declare@dddintSet@ddd=2*(3+4)Select@ddd44TransactSQL批处理及执行过程简介批处理是指从客户机传递到服务器上的一组完整的数据和SQL语句。使用GO关键字标识批处理的开始和结束。前后台方式下TransactSQL语句的执行过程示例45T-SQL的批处理及执行过程 1、批处理:成批处理命令或语句。从客户机传递到服务器的一组完整的数据和SQL语句,可以只有一条SQL语句,或者多条。用GO指令标识批处理结束。 即一个批处理一次发给服务器一组SQL语句。46例:use教学库

select*from教师表; select教师姓名,职称,系名

from教师表,系表

where教师

go2、客户端执行过程:以批处理形式向服务器递交语句。47服务器端的执行过程48六、SQLServer的主要数据类型在SQLServer中,数据类型通常是指字段列、存储过程和局部变量的数据特征。Varchar与char的区别(长度可变或固定)二进制数据类型(图片\Word文件等)双字符类型类型(nchar,nvarchar,ntext)Timestamp数据类型(不是日期,也不是时间数据,而是SQLServer根据事件的发生次序自动生成的一种二进制数据,还可以代替传统的数据库加锁技术)。49数值数据类型 1、整数型:(1)bigint(2)int(3)smallint(4)tinyint 2、精确数值型 3、浮点型 4、货币数值型50二、字符型 1、char类型 2、varchar类型 3、text类型三、日期时间型 1、datetime 2、samlldatetime51四、二进制数据类型 1、binary 2、varbinary 3、image五、位型 bit:只存储1及0——逻辑型六、特殊数据类型 1、双字节数据类型:ncharnvarcharntext实际上是一种unicode(统一的字符编码标准,采用双字节对字符编码)数据类型。 2、时间戳数据类型:timestamp52第八章SQLServer数据库系统概述开始下一页SQLServer函数SQLServer的标识符及命名规则53七、SQLServer函数数学函数字符串函数日期函数系统函数统计函数(重点)其他常用函数54函数格式:函数名()一、

数学函数

用于对数字表达式进行数学运算并返回结果。一般只对数值型数据类型操作。55二、

字符串函数

一般对字符型表达式操作。但也有例外。如

分类:见P:221页。表8-8例P:220例8-2例:select商品代号,len(商品代号)from商品表1例:selectleft(教师姓名,1),count(*)from教师表groupbyleft(教师姓名,1)例:selectlower(substring(商品代号,1,3))aslower,upper(substring(商品代号,1,3))asupperFROMspk1wherepricebetween11.0and20.0056例:declare@strrvarchar(60)set@strr='efghijk'select'abcd:'+ltrim(@strr)——》abcd:efghijkQ:若最后一行改为select'abcd:'+@strr,输出结果——》abcd:efghijk57例3:declare@strrvarchar(60)set@strr='aBCDCDefghijk'selectleft(@strr,6)——》aBCDCD例4:usepubsselectcharindex('wonderful',notes,5)fromtitleswheretitle_id='TC3218'——》4758例5:declare@nachar(6)set@na='01'select*from教师表where教师ID=reverse(@na)例6:selectstuff('abcdef33',2,4,'ijklmn')——》aijklmnf33(用后面的字符取代第一个字符第二个位置开始的四个字符)59练习1:1、设变量ATC为‘1234’(后有三个空格),变量BTC为‘

5678’(前有三个空格),写出程序清单,要求显示出的结果为:‘’declare@ATCchar(7)declare@BTCchar(7)set@ATC='1234'set@BTC='5678'selectrtrim(@ATC)+ltrim(@BTC)2、如1中的变量,要求显示的结果为‘87654321’,写出程序清单。selectreverse(rtrim(@ATC)+ltrim(@BTC))603、如1中的变量,要求显示的结果为‘’,写出程序清单。selectstuff(rtrim(@ATC),3,1,ltrim(@BTC))4、定义变量QWE为‘ABCD’,AWE为‘EFGH’,要求显示结果为‘abcdefgh’,写出程序清单。declare@ATCchar(4)declare@BTCchar(4)set@ATC='ABCD'set@BTC='EFGH'selectlower(@ATC+@BTC)

或者

selectlower(@ATC)+lower(@BTC)615、如4中的变量,要求显示结果为‘ABgh’,写出程序清单declare@ATCchar(4)declare@BTCchar(4)set@ATC='ABCD'set@BTC='EFGH'selectleft(@ATC,2)+lower(right(@BTC,2))62日期和时间函数

分类:见P:222页。表8-9例8-3例1:usepubsselectdatediff(day,pubdate,getdate())asno_of_daysfromtitles将dayn改为year或month都可以,当然意义与结果就不相同了。63例2:selectdatename(year,getdate())as‘Year_name'(年)

selectdatename(qq,getdate())as‘Year_name'(季度)selectdatename(hh,getdate())as‘Year_name'(小时)例3、selectdatename(hh,getdate())+':'+datename(mi,getdate())as'Year_name'当前的时间64系统函数用于返回有关系统、用户、数据库和数据库对象的信息。例1、usemasterselectdbid,db_name(dbid)fromsysdatabasesorderbydbid

--从系统表中返回当前服务器中所有的数据库编号与名字

例2、selecthost_name()–返回机器名65转换函数用于数据类型转换。一般情况下,SQLSERVER会自动处理某些数据类型的转换(隐性转换),但在某些情况下,转换不理想时,可用到转换函数。只有两个:CONVERT和CASTCAST:强制转换CONVERT:充许转换表达式和日期类型。课本P:224,例8-5例1:usepubsselecttitle,ytd_salesfromtitleswhereCAST(ytd_salesaschar(20))like'15%'

andtype='trad_cook'like:模式匹配操作符,只对字符串起作用,%的作用与DOS的*相似。66例2:usepubsselecttitlefromtitleswheretitlelike'C%'

例3、selectgetdate()select'USA'=convert(char,getdate(),101)select'ANSI'=convert(char,getdate(),102)select'ISO'=convert(char,getdate(),112)67聚合函数及其他常用函数:可能返回整个或几个列或一个列的汇总数据。例:select*fromxscjbselectsum(ywen+sxue+yyu+tyu+zzhi)fromxscjbwherexming='xt'例:usepubsselectAVG(advance),sum(ytd_sales)fromtitleswheretype='business'681、ISDATE(表达式)2、ISNULL(表达式1,表达式2)例:查看教师任课表中课程名称,系ID及没有安排任课教师的给出提示usexsselect课程名称,系ID,ISNULL(教师ID,'无任课教师')from教师任课表

3、NULIF(表达式

温馨提示

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

评论

0/150

提交评论