数据库应用技术第三章.ppt
2023/10/1,计算机基础教学部,1,第 3 章 SQL Server概述 3.1 SQL Server基础知识 3.2 SQL Server的工具与实用程序 3.3 数据库文件与文件组 3.4 数据库选项及设置 3.5 使用BCP和DTS 3.6 使用DBCC压缩数据库 3.7 优化数据库的查询性能 3.8 SQL Server 的系统数据库,2023/10/1,计算机基础教学部,2,3.1.1 SQL Server简介与安装 1.SQL Server简介,3.1 SQL Server基础知识,SQL Server是一个功能完备的正规数据库管理系统。它包括的支持开发的引擎、标准的SQL语言、扩展的特性(如复制、OLAP、分析)等功能,是一些大型数据库系统如Oracle才具备的特性。而像存储过程、触发器等特性,也是个人数据库所没有的。,2023/10/1,计算机基础教学部,3,1.SQL Server简介,SQL Server易于安装和学习。由于SQL Server可在Windows系列操作系统上使用,与Windows进行有机集成,界面风格完全一致,且有许多“向导(Wizard)”帮助,因此相对易于安装和学习。学习SQL Server是掌握其他平台及大型数据,如 Oracle、Sybase、DB/2、Informix的基础。,2023/10/1,计算机基础教学部,4,SQL Server的主要版本包括下面的几种:(1)SQL Server企业版 可作为生产数据库服务器。支持SQL Server的所有功能并扩大性能级别,以支持最大的网站与企业联机事务处理(OLAP)以及数据仓库系统。(2)SQL Server标准版 可作为小型工作组或部门的数据库服务器。,1.SQL Server简介,2023/10/1,计算机基础教学部,5,(3)SQL Server个人版 由移动用户所使用,会有一些时间与网络脱机,但必须执行需要SQL Server数据存储的应用程序。同时也用于执行需要在客户端计算机上的本地SQL Server数据存储的独立应用程序时。(4)SQL Server开发版 由开发以SQL Server作为数据存储的应用程序的程序设计者所使用。,2023/10/1,计算机基础教学部,6,3.1.2 SQL Server的功能1.支持客户机/服务器模型 SQL Server被设计成基于客户机/服务器模型。在这种模型中,应用程序在客户机上运行并向服务器请求数据,服务器执行请求代码并返回所需的结果。工作负载将在客户机和服务器之间分摊。,2023/10/1,计算机基础教学部,7,2.操作系统的兼容性 SQL Server常常用于Microsoft的操作系统,包括 Windows 95/98、Windows NT Server和Windows 2000 等,除此之外还支持其它操作系统包括Novell Netware、UNIX、AppleTalk、OS/2等。安全性符合C2级。,3.1.2 SQL Server的功能,3.多平台支持SQL Server使用高度可移植的语言开发,因此可以在不同的处理器体系结构上成功的运行。,2023/10/1,计算机基础教学部,8,4.多协议兼容SQL Server是一个网络化的计算机系统,它支持若干流行的协议。,3.1.2 SQL Server的功能,5.数据仓库 数据设计有两种类型,一种是面向事务系统的;另 一种是决策支持系统。面向事务模型中的数据始终处于不断更新之中,因此它们是动态的。这将导致每次查询的结果不一致,可将数据库中的数据复制到数据仓库中,使之成为静态的。,2023/10/1,计算机基础教学部,9,6.数据复制 SQL Server支持数据复制,使数据能够自动的复制到另一个SQL Server。可用的复制类型共有下列的三种:快照:该技术取得发布者当前数据的快照,定期替换 所有订阅者的数据。合并:这种复制形式允许站点对复制数据进行独立的 修改,随后,在所有站点合并。然而,这种方法不能 确保每一个站点的数据一致性。事务:这种复制技术是动态的。每当发布者的数据被 修改,这些修改就会立即复制到订阅者。,3.1.2 SQL Server的功能,2023/10/1,计算机基础教学部,10,3.2 SQL Server的工具与实用程序 3.2.1 Query Analyzer查询分析器 3.2.2 Enterprise Manager企业管理器 3.2.3 SQL Server联机帮助,2023/10/1,计算机基础教学部,11,3.2.1 Query Analyzer查询分析器 查询分析器具有图形用户界面,通过查询分析器,可以键入、执行和保存一个查询。也可以打开一个现有的查询。SQL Server 查询分析器可以通过在 Microsoft SQL Server 程序组中选择“查询分析器”图标来启动。,2023/10/1,计算机基础教学部,12,查询分析器,3.2.1 Query Analyzer查询分析器,2023/10/1,计算机基础教学部,13,3.2.2 Enterprise Manager企业管理器 我们可以使用它来管理整个SQL Server的大部分工作,如新建数据库、创建和管理触发器、存储过程等。,2023/10/1,计算机基础教学部,14,企业管理器,3.2.2Enterprise Manager企业管理器,2023/10/1,计算机基础教学部,15,3.2.3 SQL Server联机帮助(自学)“联机帮助”是 SQL Server 的联机帮助工具,提供了包括安装 SQL Server、创建和管理数据库的帮助以及使用企业管理器和查询分析器等主题在内的大量资料。,2023/10/1,计算机基础教学部,16,联机帮助,3.2.3 SQL Server联机帮助,2023/10/1,计算机基础教学部,17,3.3 数据库文件与文件组3.3.1 SQL Server数据库文件 数据和对象在数据库里被存储为一套操作系统文件。往往数据库会被存储在两个或多个操作系统文件中,这些文件就被称之为数据文件。为了分配和管理数据文件就把这些数据文件分成文件组。,2023/10/1,计算机基础教学部,18,主要数据文件 主要数据文件包含数据库对象,是数据库的起点。数据库必须包含主要数据文件和日志文件。每个数据库有一个主要数据文件和一个或多个日志文件。主要数据文件的扩展名为.mdf。,3.3 数据库文件与文件组,2023/10/1,计算机基础教学部,19,2.次要数据文件 次要数据文件是数据库可选的,可以有零或多个,包含所有不在主要数据文件中的数据和对象。次要数据文件的扩展名为.ndf。3.日志文件 用于包含所有用于恢复数据库的事务日 志信息。每个数据库至少有一个日志文件(.ldf),SQL SERVER将在事务日志中自动纪录用户对数据库所作的任何更改,事务日志的主要目的是为了确保每个事务都是可以恢复的。,3.3 数据库文件与文件组,2023/10/1,计算机基础教学部,20,3.3 数据库文件与文件组,2023/10/1,计算机基础教学部,21,关于数据库文件的注意事项:在使用数据库文件时,应当注意以下几点:(1)SQL Server文件能从最初指定值的大小上自动增加;(2)数据是存储在邻接磁盘空间8KB的块上。(3)表、其它数据库对象和索引存储在扩展盘区中。(4)事务日志文件包含恢复数据库所必需的所有信息,以 防系统故障。,3.3 数据库文件与文件组,2023/10/1,计算机基础教学部,22,3.3.2 SQL Server文件组 文件组是一个或者多个文件的集合。构成分配和管理的单元。文件组只包含数据文件,不包含日志文件。一个文件不能属于多个文件组。,3.3 数据库文件与文件组,数据库包含PRIMARY文件组和任何自定义的文件组。PRIMARY文件组包含主要数据文件和一些不是放在其它文件组的文件。PRIMARY文件组包含系统表。,2023/10/1,计算机基础教学部,23,3.4 数据库选项及设置 3.4.1 据库选项含义 3.4.2 设置数据库选项,2023/10/1,计算机基础教学部,24,3.4.1 数据库选项含义 数据库是动态对象。必须经常对数据库进行维护,有一些数据库选项可以帮助完成此任务。使用系统存储过程sp_dboption来完成设置数据库选项的任务。下面列出的是一些常用的数据库选项,并说明其选项的含义:ANSI NULL DEFAULT为了符合ANSI标准需要设置该选项,使用户能够控制数据库默认为空。,2023/10/1,计算机基础教学部,25,ANSI NULLS设置为TRUE时,所有与NULL的比较都将取值为未知。设置为FALSE时,只有当非Unicode值与NULL值相比较的结果为NULL时,最终结果才为TRUE。ANSI WARNINGS设置为TRUE时,如果出现诸如被零除或算术溢出错误时,就会发出错误和警告。DBO USE ONLY为TRUE时,此操作将阻止所有的用户以后再使用此数据库,当然数据库拥有者除外。,2023/10/1,计算机基础教学部,26,READ ONLY为TRUE时,此选项使得不能对数据库进行任何修改、插入和删除数据、创建或删除数据库对象,或更改数据库配置文件及设置选项等操作。AUTOSHRINK为TRUE时,数据库文件可选为SQL Server自动压缩操作的对象。QUOTED IDENTIFIER为TRUE时,标识符可以用双引号定界,文字必须用单引号定界。,2023/10/1,计算机基础教学部,27,SELECT INTO/BULKCOPY含义是选择进入/批量复制。启用数据库中的快速、不记录操作,包括SELECT INTO和UPDATETEXT。使用不记录操作将不能进行事务日志的恢复工作。RECURSIVE TRIGGERS是递归触发器,为TRUE时,使触发器能够递归触发。SINGLE USER 将数据库的访问权限限制到单用户。,2023/10/1,计算机基础教学部,28,TRUNC LOG ON CHKPT 为TRUE时,表示每当检查点发生时都将清除转存到磁盘上的已提交的事务和日志记录。TORN PAGE DETECTION为TRUE时,使SQL Server能够检测到由于断电或其它系统故障引起的不完整的I/O操作。,2023/10/1,计算机基础教学部,29,3.4.2 设置数据库选项 可以使用sp_dboption系统存储过程来设置数据库的选项,它支持对所有可用的数据库选项进行设置。语法:sp_dboption 数据库名,选项名,TRUE|FALSE,参数说明:数据库名指定对其进行选项设置的数据库名。选项名指定要设置的选项。如果选项名包括嵌入的空格或者是一个关键字,则此选项必须用引号括起来。,2023/10/1,计算机基础教学部,30,例2-1:将数据库Sales的ANSI NULL DEFAULT数据库选项设置为FALSE。代码:USE master GO EXEC sp_dboption Sales,ANSI NULL DEFAULT,FALSE,2023/10/1,计算机基础教学部,31,3.5 SQL Server 的系统数据库,-系统数据库,-用户数据库,SQL Server具有两种类型的数据库:,2023/10/1,计算机基础教学部,32,系统数据库作为SQL SERVER默认安装的一部分而安装,由系统表和存储过程组成。系统数据库中的数据表包含了SQL SERVER的整体信息以及每一个用户的数据库的信息。注意,请不要修改系统数据库中的数据。,2023/10/1,计算机基础教学部,33,1.Master系统数据库 Master系统数据库是追踪所有其他数据库和存储配置信息的关键数据库。它控制着用户数据库和SQL SERVER的操作。2.Model系统数据库 Model数据库由SQL SERVER使用,作为创建新数据库的模板。它包含了应该出现在每个用户数据库中的系统表。,2023/10/1,计算机基础教学部,34,3.Msdb系统数据库 Msdb数据库是SQLServerAgent的主要支持。SQLServerAgent负责复制、任务调度、警报、系统操作员信息以及备份信息。SQLServerAgent 是允许您自动执行某些管理任务的服务。4.Temp系统数据库 Temp数据库为临时表和其他临时工作存储需求提供一个过渡的存储区域。SQL Server仅维护单一的tempdb数据库而不管已有多少个其他数据库。,2023/10/1,计算机基础教学部,35,小 结,(1)数据库是一些对象的集合,这些对象包括表、视 图、索引、存储过程、约束和触发子等。(2)数据库里的数据和对象被存储为数据库文件。数 据库文件分为主要数据文件、次要数据库文件以 及事务日志文件。(3)数据库文件是被分成文件组来管理的。文件组只 包含数据文件,不包含日志文件。(4)使用sp_dboption系统存储过程来设置数据库的选 项。,2023/10/1,计算机基础教学部,36,(5)SQL Server有master、msdb、tempdb和model四 个系统数据库。第三章结束,