《数据库应用技术第三章.ppt》由会员分享,可在线阅读,更多相关《数据库应用技术第三章.ppt(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 第第 3 3 章章 SQL ServerSQL Server概述概述 3.1 3.1 SQL ServerSQL Server基础知识基础知识 3.23.2 SQL ServerSQL Server的工具与实用程序的工具与实用程序 3.3 3.3 数据库文件与文件组数据库文件与文件组 3.4 3.4 数据库选项及设置数据库选项及设置 3.5 3.5 使用使用BCPBCP和和DTSDTS 3.6 3.6 使用使用DBCCDBCC压缩数据库压缩数据库 3.7 3.7 优化数据库的查询性能优化数据库的查询性能 3.8 SQL Server 3.8 SQL Server 的系统数据库的系统数据库12
2、/28/20221计算机基础教学部3.1.1 SQL Server简介与安装简介与安装 1.SQL Server简介简介3.1 SQL Server基础知识基础知识u SQL Server是一个功能完备的正规数据库管理是一个功能完备的正规数据库管理系统。它包括的支持开发的引擎、标准的系统。它包括的支持开发的引擎、标准的SQL语言、语言、扩展的特性(如复制、扩展的特性(如复制、OLAP、分析)等功能,是一、分析)等功能,是一些大型数据库系统如些大型数据库系统如Oracle才具备的特性。而像存储才具备的特性。而像存储过程、触发器等特性,也是个人数据库所没有的。过程、触发器等特性,也是个人数据库所没
3、有的。12/28/20222计算机基础教学部1.SQL Server简介简介uSQLServer易于安装和学习易于安装和学习。由于。由于SQLServer可在可在Windows系列操作系统上使用,系列操作系统上使用,与与Windows进行有机集进行有机集成,界面风格完全一致,且有许多成,界面风格完全一致,且有许多“向导(向导(Wizard)”帮助,因此相对帮助,因此相对易于安装和学习易于安装和学习。学习。学习SQLServer是掌是掌握其他平台及大型数据,如握其他平台及大型数据,如OracleOracle、SybaseSybase、DB/2DB/2、InformixInformix的基础。的基
4、础。12/28/20223计算机基础教学部uSQLServer的主要版本包括下面的几种:的主要版本包括下面的几种:(1)SQLServer企业版企业版可可作作为为生生产产数数据据库库服服务务器器。支支持持SQLServer的的所所有有功功能能并并扩扩大大性性能能级级别别,以以支支持持最最大大的的网网站站与与企企业业联联机机事务处理(事务处理(OLAP)以及数据仓库系统。以及数据仓库系统。(2)SQLServer标准版标准版可作为小型工作组或部门的数据库服务器。可作为小型工作组或部门的数据库服务器。1.SQL Server简介简介12/28/20224计算机基础教学部(3)SQLServer个人
5、版个人版由移动用户所使用,会有一些时间与网络脱机,但必须由移动用户所使用,会有一些时间与网络脱机,但必须执行需要执行需要SQLServer数据存储的应用程序。同时也用于执数据存储的应用程序。同时也用于执行需要在客户端计算机上的本地行需要在客户端计算机上的本地SQLServer数据存储的独数据存储的独立应用程序时。立应用程序时。(4)SQLServer开发版开发版由开发以由开发以SQLServer作为数据存储的应用程序的程序作为数据存储的应用程序的程序设计者所使用。设计者所使用。12/28/20225计算机基础教学部3.1.2 SQL Server的功能的功能1.支持客户机支持客户机/服务器模型
6、服务器模型SQLServer被设计成基于客户机被设计成基于客户机/服务器模型。服务器模型。在这种模型中,在这种模型中,应用程序在客户机上运行并向服务器应用程序在客户机上运行并向服务器请求数据,服务器执行请求代码并返回所需的结果。请求数据,服务器执行请求代码并返回所需的结果。工作负载将在客户机和服务器之间分摊。工作负载将在客户机和服务器之间分摊。12/28/20226计算机基础教学部2.操作系统的兼容性操作系统的兼容性nSQLServer常常用于常常用于Microsoft的操作系统,包括的操作系统,包括Windows95/98、WindowsNTServer和和Windows2000等等,除此之
7、外还支持除此之外还支持其它操作系统包括其它操作系统包括Novell Netware 、UNIX、AppleTalk、OS/2等。等。n 安全性符合安全性符合C2级。级。3.1.2 SQL Server的功能的功能3.多平台支持多平台支持SQLServer使用高度可移植的语言开发,因此可以在不使用高度可移植的语言开发,因此可以在不同的处理器体系结构上成功的运行。同的处理器体系结构上成功的运行。12/28/20227计算机基础教学部4.多协议兼容多协议兼容SQLServer是一个网络化的计算机系统,它支持若干流行是一个网络化的计算机系统,它支持若干流行的协议。的协议。3.1.2 SQL Serve
8、r的功能的功能5.数据仓库数据仓库数据设计有两种类型数据设计有两种类型,一种是面向事务系统的;另一种是面向事务系统的;另一种是决策支持系统。一种是决策支持系统。面向事务模型中的数据始终处面向事务模型中的数据始终处于不断更新之中,因此它们是动态的。这将导致每次于不断更新之中,因此它们是动态的。这将导致每次查询的结果不一致查询的结果不一致,可将数据库中的数据复制到数据仓可将数据库中的数据复制到数据仓库中库中,使之成为静态的使之成为静态的。12/28/20228计算机基础教学部6.数据复制数据复制SQLServer支持数据复制,使数据能够自动的复制支持数据复制,使数据能够自动的复制到另一个到另一个S
9、QLServer。可用的复制类型共有下列的三种:可用的复制类型共有下列的三种:快照:该技术取得发布者当前数据的快照,定期替换快照:该技术取得发布者当前数据的快照,定期替换所有订阅者的数据。所有订阅者的数据。合并:这种复制形式允许站点对复制数据进行独立的合并:这种复制形式允许站点对复制数据进行独立的修改,随后,在所有站点合并。然而,这种方法不能修改,随后,在所有站点合并。然而,这种方法不能确保每一个站点的数据一致性。确保每一个站点的数据一致性。事务:这种复制技术是动态的。每当发布者的数据被事务:这种复制技术是动态的。每当发布者的数据被修改,这些修改就会立即复制到订阅者。修改,这些修改就会立即复制
10、到订阅者。3.1.2 SQL Server的功能的功能12/28/20229计算机基础教学部3.2 SQL Server的工具与实用程序的工具与实用程序 3.2.1 Query Analyzer查询分析器查询分析器 3.2.2 Enterprise Manager企业管理器企业管理器 3.2.3 SQL Server联机帮助联机帮助 12/28/202210计算机基础教学部3.2.1 Query Analyzer查询分析器查询分析器具有图形用户界面,通过查询分析器,可以查询分析器具有图形用户界面,通过查询分析器,可以键入、执行和保存一个查询。也可以打开一个现有的查键入、执行和保存一个查询。也可
11、以打开一个现有的查询。询。SQL Server SQL Server 查询分析器可以通过在查询分析器可以通过在 Microsoft SQL Microsoft SQL Server Server 程序组中程序组中选择选择“查询分析器查询分析器”图标来启动图标来启动。12/28/202211计算机基础教学部查询分析器语法检查语法检查 执行执行 选择数据库选择数据库数据库对象数据库对象T-SQL执行执行结果结果3.2.1 Query Analyzer查询分析器查询分析器12/28/202212计算机基础教学部3.2.2 Enterprise Manager企业管理器 我们可以使用它来管理整个我们可
12、以使用它来管理整个SQL ServerSQL Server的大部的大部分工作,如新建数据库、创建和管理触发器、存储分工作,如新建数据库、创建和管理触发器、存储过程等。过程等。12/28/202213计算机基础教学部组组实例实例数据库数据库数据库对象数据库对象数据库表数据库表记录记录企业管理器企业管理器3.2.2Enterprise Manager企业管理器12/28/202214计算机基础教学部3.2.3 SQL Server联机帮助(自学)“联联机机帮帮助助”是是 SQL SQL Server Server 的的联联机机帮帮助助工工具具,提提供供了了包包括括安安装装 SQL SQL Serv
13、erServer、创创建建和和管管理理数数据据库库的的帮帮助助以以及及使使用用企企业业管管理理器器和和查查询询分分析器等主题在内的大量资料。析器等主题在内的大量资料。12/28/202215计算机基础教学部按目录结构和主题进行文档查阅按目录结构和主题进行文档查阅按词进行全文档搜索按词进行全文档搜索按关键词条进行文档查阅按关键词条进行文档查阅定义书签,定位常用帮助页面定义书签,定位常用帮助页面 联机帮助联机帮助3.2.3 SQL Server3.2.3 SQL Server联机帮助联机帮助12/28/202216计算机基础教学部3.3 数据库文件与文件组数据库文件与文件组3.3.1 SQL Se
14、rverSQL Server数据库文件数据库文件 数据和对象在数据库里被存储为一套操作系统文件。数据和对象在数据库里被存储为一套操作系统文件。往往数据库会被存储在两个或多个操作系统文件中,往往数据库会被存储在两个或多个操作系统文件中,这些文件就被称之为数据文件。这些文件就被称之为数据文件。为了分配和管理数据为了分配和管理数据文件就把这些数据文件分成文件组。文件就把这些数据文件分成文件组。12/28/202217计算机基础教学部1.主要数据文件主要数据文件主要数据文件包含数据库对象主要数据文件包含数据库对象,是数据库的起点是数据库的起点。数数据库必须包含主要数据文件和日志文件。每个数据库有据库必
15、须包含主要数据文件和日志文件。每个数据库有一个主要数据文件和一个或多个日志文件。一个主要数据文件和一个或多个日志文件。主要数据文主要数据文件的扩展名为件的扩展名为.mdf。3.3 3.3 数据库文件与文件组数据库文件与文件组12/28/202218计算机基础教学部2.次要数据文件次要数据文件次要数据文件是数据库可选的次要数据文件是数据库可选的,可以有零或多个,包可以有零或多个,包含所有不在主要数据文件中的数据和对象。含所有不在主要数据文件中的数据和对象。次要数据文次要数据文件的扩展名为件的扩展名为.ndf。3.日志文件日志文件用于包含所有用于恢复数据库的事务日用于包含所有用于恢复数据库的事务日
16、志信息志信息。每个数据库至少有一个日志文件每个数据库至少有一个日志文件(.ldf),SQLSERVER将在事务日志中将在事务日志中自动纪录用户对数据库所作自动纪录用户对数据库所作的任何更改的任何更改,事务日志的主要目的是为了确保每个事,事务日志的主要目的是为了确保每个事务都是可以恢复的。务都是可以恢复的。3.3 数据库文件与文件组数据库文件与文件组12/28/202219计算机基础教学部页:页:8 KB表、索引表、索引数据数据数据库数据库数据库数据库数据文件数据文件.mdf 或或 .ndf日志文件日志文件.ldfMaximum row size=8060 bytes3.3 数据库文件与文件组数
17、据库文件与文件组12/28/202220计算机基础教学部关于数据库文件的注意事项关于数据库文件的注意事项:在使用数据库文件时,应当注意以下几点:在使用数据库文件时,应当注意以下几点:(1)SQLServer文件能从最初指定值的大小上自动增加文件能从最初指定值的大小上自动增加;(2)数据是存储在邻接磁盘空间)数据是存储在邻接磁盘空间8KB的块上。的块上。(3)表、其它数据库对象和索引存储在扩展盘区中。)表、其它数据库对象和索引存储在扩展盘区中。(4)事务日志文件包含恢复数据库所必需的所有信息)事务日志文件包含恢复数据库所必需的所有信息,以以防系统故障。防系统故障。3.3 数据库文件与文件组数据库
18、文件与文件组12/28/202221计算机基础教学部3.3.2 SQL ServerSQL Server文件组 文件组是一个或者多个文件的集合文件组是一个或者多个文件的集合。构成分配和管。构成分配和管理的单元。理的单元。文件组只包含数据文件文件组只包含数据文件,不包含日志文件。不包含日志文件。一个文件一个文件不能不能属于多个文件组。属于多个文件组。3.3 数据库文件与文件组数据库文件与文件组 数据库包含数据库包含PRIMARY文件组和任何自定义的文件组。文件组和任何自定义的文件组。PRIMARY文件组包含主要数据文件和一些不是放在其它文件组包含主要数据文件和一些不是放在其它文件组的文件。文件组
19、的文件。PRIMARY文件组包含系统表。文件组包含系统表。12/28/202222计算机基础教学部3.4 数据库选项及设置数据库选项及设置 3.4.1 据库选项含义据库选项含义 3.4.2 设置数据库选项设置数据库选项12/28/202223计算机基础教学部3.4.1 数据库选项含义数据库选项含义 数据库是动态对象。必须经常对数据库进行数据库是动态对象。必须经常对数据库进行维护,有一些数据库选项可以帮助完成此任务。维护,有一些数据库选项可以帮助完成此任务。使用系统存储过程使用系统存储过程sp_dboption来完成设置数来完成设置数据库选项的任务。据库选项的任务。下面列出的是一些常用的数据下面
20、列出的是一些常用的数据库选项,并说明其选项的含义:库选项,并说明其选项的含义:uANSINULLDEFAULT为了符合为了符合ANSI标准需要设置该选项,使用户能够标准需要设置该选项,使用户能够控制数据库默认为空。控制数据库默认为空。12/28/202224计算机基础教学部uANSINULLS设置为设置为TRUE时,所有与时,所有与NULL的比较都将取值为未的比较都将取值为未知。设置为知。设置为FALSE时,只有当非时,只有当非Unicode值与值与NULL值相比较的结果为值相比较的结果为NULL时,最终结果才为时,最终结果才为TRUE。uANSIWARNINGS设置为设置为TRUE时,如果出
21、现诸如被零除或算术溢出错时,如果出现诸如被零除或算术溢出错误时,就会发出错误和警告。误时,就会发出错误和警告。uDBOUSEONLY为为TRUE时,此操作将阻止所有的用户以后再使用此时,此操作将阻止所有的用户以后再使用此数据库,当然数据库拥有者除外。数据库,当然数据库拥有者除外。12/28/202225计算机基础教学部uREADONLY为为TRUE时,此选项使得不能对数据库进行任何修改、时,此选项使得不能对数据库进行任何修改、插入和删除数据、创建或删除数据库对象,或更改数据插入和删除数据、创建或删除数据库对象,或更改数据库配置文件及设置选项等操作。库配置文件及设置选项等操作。uAUTOSHRI
22、NK为为TRUE时,数据库文件可选为时,数据库文件可选为SQLServer自动压缩操自动压缩操作的对象。作的对象。uQUOTEDIDENTIFIER为为TRUE时,标识符可以用双引号定界,文字必须用单时,标识符可以用双引号定界,文字必须用单引号定界。引号定界。12/28/202226计算机基础教学部uSELECTINTO/BULKCOPY含义是选择进入含义是选择进入/批量复制。启用数据库中的快速、不批量复制。启用数据库中的快速、不记录操作,包括记录操作,包括SELECTINTO和和UPDATETEXT。使。使用不记录操作将不能进行事务日志的恢复工作。用不记录操作将不能进行事务日志的恢复工作。u
23、RECURSIVETRIGGERS是递归触发器,为是递归触发器,为TRUE时,使触发器能够递归触发。时,使触发器能够递归触发。uSINGLEUSER将数据库的访问权限限制到单用户。将数据库的访问权限限制到单用户。12/28/202227计算机基础教学部uTRUNCLOGONCHKPT为为TRUE时,表示每当检查点发生时都将清除转存时,表示每当检查点发生时都将清除转存到磁盘上的已提交的事务和日志记录。到磁盘上的已提交的事务和日志记录。uTORNPAGEDETECTION为为TRUE时,使时,使SQLServer能够检测到由于断电或能够检测到由于断电或其它系统故障引起的不完整的其它系统故障引起的不
24、完整的I/O操作。操作。12/28/202228计算机基础教学部3.4.2 设置数据库选项设置数据库选项可以使用可以使用sp_dboption系统存储过程来设置数据库系统存储过程来设置数据库的选项,它支持对所有可用的数据库选项进行设置。的选项,它支持对所有可用的数据库选项进行设置。语法:语法:sp_dboption数据库名数据库名,选项名选项名,TRUE|FALSE参数说明:参数说明:数据库名数据库名指定对其进行选项设置的数据库名。指定对其进行选项设置的数据库名。选项名选项名指定要设置的选项。指定要设置的选项。如果选项名包括嵌入的空格或者如果选项名包括嵌入的空格或者是一个关键字,则此选项必须用
25、引号括起来。是一个关键字,则此选项必须用引号括起来。12/28/202229计算机基础教学部例例2-1:将数据库:将数据库Sales的的ANSINULLDEFAULT数据数据库选项设置为库选项设置为FALSE。代码:代码:USEmasterGOEXECsp_dboptionSales,ANSINULLDEFAULT,FALSE12/28/202230计算机基础教学部3.5 SQL Server 的系统数据库的系统数据库SQLServer具有两种类型的数据库:具有两种类型的数据库:12/28/202231计算机基础教学部系统数据库作为系统数据库作为SQLSERVER默认安装默认安装的一部分的一部
26、分而安装,由系统表和存储过程组成。而安装,由系统表和存储过程组成。系统数据库系统数据库中的数据表中的数据表包含了包含了SQLSERVER的整的整体信息以及每一个用户的数据库的信息。体信息以及每一个用户的数据库的信息。注意,注意,请请不要修改系统数据库不要修改系统数据库中的数据。中的数据。12/28/202232计算机基础教学部 1.Master1.Master系统数据库系统数据库 Master系统数据库是追踪所有其他数据库和存储配置系统数据库是追踪所有其他数据库和存储配置信息的关键数据库。信息的关键数据库。它控制着用户数据库和它控制着用户数据库和SQL SERVERSQL SERVER的操作。
27、的操作。2.Model2.Model系统数据库系统数据库 Model数据库由数据库由SQL SERVERSQL SERVER使用,使用,作为创建新数据库作为创建新数据库的模板。的模板。它包含了应该出现在每个用户数据库中的系统它包含了应该出现在每个用户数据库中的系统表。表。12/28/202233计算机基础教学部 3.3.MsdbMsdb系统系统数据库数据库 Msdb数据库是数据库是SQLServerAgent的主要支持的主要支持。SQLServerAgent负责复制、任务调度、警报、系统操负责复制、任务调度、警报、系统操作员信息以及备份信息。作员信息以及备份信息。SQLServerAgent是
28、允许您自动执行某些管理任务的服是允许您自动执行某些管理任务的服务。务。4.Temp4.Temp系统系统数据库数据库 Temp数据库为临时表和其他临时工作存储需求提供一数据库为临时表和其他临时工作存储需求提供一个过渡的存储区域。个过渡的存储区域。SQLServer仅维护单一的仅维护单一的tempdb数数据库而不管已有多少个其他数据库。据库而不管已有多少个其他数据库。12/28/202234计算机基础教学部小小 结结(1)数据库是一些对象的集合,这些对象包括表、视)数据库是一些对象的集合,这些对象包括表、视图、索引、存储过程、约束和触发子等。图、索引、存储过程、约束和触发子等。(2)数据库里的数据
29、和对象被存储为数据库文件。数)数据库里的数据和对象被存储为数据库文件。数据库文件分为主要数据文件、据库文件分为主要数据文件、次要数据库文件以次要数据库文件以及事务日志文件。及事务日志文件。(3)数据库文件是被分成文件组来管理的。文件组只)数据库文件是被分成文件组来管理的。文件组只包含数据文件,不包含日志文件。包含数据文件,不包含日志文件。(4)使用)使用sp_dboption系统存储过程来设置数据库的选系统存储过程来设置数据库的选项。项。12/28/202235计算机基础教学部(5)SQLServer有有master、msdb、tempdb和和model四四个系统数据库。个系统数据库。第三章结束第三章结束12/28/202236计算机基础教学部