全国计算机等级考试三级数据库技术(七)

考点分析

◆在考试中一般情况下会出现在选择题、填空题、大题。
◆常考知识点有:
1.掌握SQL Server数据库的类别、甩途及组成
2.掌握修改数据库、分离和附加数据库的语法
3.理解架构含义与语法格式
4.掌握分区表的概念、创建分区方案
5.掌握创建索引及索引视图

7.1 创建及维护数据库

一、 SQL Server数据库概述
1.SQL Server 2008中的数据库由包含数据的表集合以及其他对象(如视图、索引、存储过程等)组成,目的是为执行与数据有关的活动提供支持。从数据库的应用和理角度, SQL Server将数据库分为两大类,具体内容如下所示:
(1)系统数据库:是SQL Server数据库管理系统自动创建和维护的。这些数据库用于保存维护系统正常运行的信息。
(2)用户数据库:保存的是与用户的业务有关的数据,通常所说的建立数据库指创建用户数据库,对数据库的维护指的是对用户数据库的维护。

一般用户对系统数据库只有查询权。

2.系统自动安装的五个系统数据库及用途
(1)tempdb
01.临时数据库,用于保存临时对象或中间结果集,并为数据的排序等操作提供一个临时工作空间。
02.每次启动SQL Server时都会重新创建tempdb数据库。
(2)Resource
01.是一个只读数据库,包含了SQL Server中的所有系统对象。
02.SQL Server系统对象在物理上保存在Resource 数据库中,但在逻辑上却显示在每个数据库的sys架构中。
03.在SSMS的对象资源管理器中,在“系统数据库”下看不到这个数据库。
(3)master
01.是SQL Server2008中最重要的数据库。
02.记录SQL Server实例的所有系统级信息,包括实例范围的元数据(例登录账户)、端点、连接服务器和系统配置设置。
03.记录了所有其他数据库的存在,数据库文件的位置以及SQL Server的初始化信息。
(4)msdb
01.供SQL Server代理服务调度报警和作业以及记录操作员时使用。保存关于调度报警、作业. 操作员等信息。
02.作业是SQL Server中定义的自动执行的一系列操作的集合,作业的执行不需要任何人工干预。
(5)model
01.用作SQL Server实例上创建的所有数据库的模板。
02.对mode|数据库进行的修改(如数据库大小排序规则,恢复模式和其他数据库选项)将应用于以后创建的所有用户数据库。
03.当用户创建一个数据库时.系统自动将model数据库中的全部内容复制到新建数据库中。

二、SQL Server数据库的组成
1.SQL Server将数据库映射为一组操作系统文件 ,这些文件被划分为两类:数据文件和日志文件。数据文件包含数据和对象,日志文件包含恢
复数据库中的所有事务需要的信息。
2.数据文件
数据文件用于存放数据库数据,数据文件又分为主要数据文件和次要数据文件,具体的特点如下所示,
(1)主要数据文件
01.扩展名是.mdf,包含数据库的系统信息,可存放用户数据.
02.每个数据库都有且只能有一个主要数据文件。
03.主要数据文件是为数据库创建的第一个数据文件。
04.SQL Server 2008要求主要数据文件的大小不能小于3MB.
(2)次要数据文件
01.扩展名是.ndf
02.一个数据库可以不包含次要数据文件,也可包含多个次要数据文件;这些次要数据文件可以建立在一个磁盘上,也可以分别建立在不同的磁盘上。

3.数据库空间分配规则
(1)在创建用户数据库时. model数据库自动被复制到新建用户数据库中.而且是复制到主要数据文件中。
(2)在SQL Server 2008中,数据的存储分配单位是数据页。一页是一块8KB的连续磁盘空间。页是存储数据的最小单位,页的大小决定了数据库表中一行数据的最大大小.
(3)SQL Server不允许表中的一行数据存储在不同页上。即行不能跨页存储。因此表中一行数据的大小不能超过8060B。这意味着在设计关系表时要考虑每行数据的大小,以提高空间利用率。

四、数据库文件的属性
1.文件名及其位置
文件名及其位置

2.数据库文件的属性
(1)初始大小
可以指定每个数据文件和日志文件的初始大小。在指定主要数据文件的初始大小时,其大小不能小于model数据库主要数据文件的大小。因为系统是将model数据库主要数据文件的内容复制到用户数据库的主要数据文件上。
(2)增长方式
如果需要的话.可以指定文件是否自动增长。该选项的默认配置为自动增长.即当数据文件的空间不足后.系统自动扩大文件空间.这样可以防止由于空间用完而造成的不能插入新数据或不能进行数据操作的错误。
(3)最大大小
文件的最大大小指的是文件增长的最大空间限制。默认情况是无限制。建议用户设定允许文件增长的最大空间大小。
因为,如果用户不设定最大空间大小,但设置了文件自动增长方式.则文件将会无限制增长直到磁盘空间用完为止。
五、用T-SQL语句创建数据库
1
2
3
六、修改数据库
1.扩大数据库空间
如果在创建数据库时没有设置自动增长方式,则数据库在使用一段时间后可能会出现空间不够的情况,这些空间包括数据空间和日志空间,
1
6

2.收缩数据库空间
(1)收缩数据库就是释放数据库中未使用的空间,并将释放的空间交还给操作系统。数据文件和日志文件的空间都可以收缩,而且可以成组或单独地手工收缩数据库文件,也可以通过设置数据库选项,使其按照指定的时间间隔自动收缩。文件的收缩都是从末尾开始的。
(2)手工收缩数据库空间的两种情况如下所示。
01.收缩数据库中某个文件的大小。
02.按比例收缩整个数据库的大小。

注意:当收缩整个数据库空间大小时,收缩后各文件的大小不能小于创建这些文件时指定的初始大小,或者是上一次进行收缩文件操作时设置的大小。若是收缩某个文件的大小则无此限制。

(3)收缩整个数据库的大小
收缩整个数据库的大小

扫描二维码关注公众号,回复: 16486595 查看本文章

(4)收缩指定文件的大小
收缩指定文件的大小

3.添加和删除数据库文件
可以通过在数据库中添加文件的方法来扩大数据库空间,也可通过删除文件的方法来减小数据库空间。
(1)添加文件
01.添加数据文件时,系统会立刻使用新添加文件。
02.日志文件的使用方式与数据文件不同,日志文件彼此是相互独立的,没有文件组。
03.在向日志文件写入信息时,使用的是填充到满的策略而不是按比例填充策略。
04.使用T-SQL的ALTER DATABASE语句可以向数据库添加文件,包括指定文件的初始大小、存放位置、增长方式等属性,这同创建数据库时指定文件属性的方法相同。也可以指定新添加的数据文件所属的文件组。
(2)删除文件
只有当文件完全为空时,才可以从数据库中删除文件。
删除数据库文件的T-SQL语句是 ALTER DATABASE ,其语法格式为:

ALTER DATABASE database_name
REMOVE FILE logical_file_name

各参数含义如下:
database_ name:要删除文件的数据库名。
logical_file_name :被删除文件的逻辑文件名。
注意:只有当日志文件中不包含任何活动或不活动的事务时才可以从数据库中删除该日志文件。

(3)示例
示例

七、分离和附加数据库
通过分离和附加数据库的操作可以实现将数据库从一台数据库服务器移动到另一台数据库服务器 ,而不需要重新创建数据库的目的。
1.分离数据库
(1)分离数据库是指将数据库从SQL Server实例中删除,但不删除数据库的数据文件和日志文件。这与删除数据库不同,删除数据库会将数据库的所有文件一起删除,而分离数据库会保持数据库的数据文件和日志文件的完整和一致。
(2)分离数据库实际就是让数据库的文件不受数据库管理系统的管理,使用户可以将数据库的数据文件和日志文件复制到另一台计算机上或者是同一台计算机的其他地方。
(3)分离数据库的语法格式及参数说明
在这里插入图片描述

2.附加数据库
(1)附加数据库就是将分离的数据库重新附加到数据库管理系统中去,可以附加到本机的另一个SQL Server示例上,也可以附加到另一台数据库服务器上。
在这里插入图片描述

(2)附加数据库的语法格式及参数说明
在这里插入图片描述

(3)示例
示例

7.2 架构

一、架构的概述
架构(Schema ,也称为模式)是数据库下的一个逻辑命名空间,可以存放表、视图等数据库对象,它是一个数据库对象的容器。
01.一个数据库可以包含一个或多个架构,架构由特定的授权用户所拥有。在同一个数据库中,架构名必须唯一。
02.属于一个架构的对象称为架构对象.即它们依赖于该架构。架构对象的类型包括基本表、视图、触发器等
03.一个架构可以由零个或多个架构对象组成。架构名可以是显式的,也可以是由DBMS提供的默认名。
04.对数据库中对象的引用可以通过架构名前缀来限定,不带任何架构限定的CREATE语句指的是在当前架构中创建对象。
二、定义架构
定义架构1

定义架构2

三、删除架构
删除架构

7.3 分区表

一、分区表基本概念
1.描述:分区表是将表中的数据按水平方式划分成不同的子集,这些数据子集存储在数据库的一个或多个文件组中。
(1)优点
01.使用分区可以快速且有效地管理和访问数据子集,从而使大型表或索引更易于管理。
02.合理地使用分区会在很大程度上提高数据库的性能。
(2)创建条件
是否创建分区表主要取决于表当前的数据量大小以及将来的数据量大小,同时还取决于对表中数据进行的操作特点。
(3)大型表分区满足的条件
01.该表包含 (或将包含)以多种不同方式使用的大量数据。
02.数据是分段的,比如数据以年份分隔。

2.描述:数据量大并不是创建分区表的唯一条件。
01.如果表中大量的数据都是经常使用的数据。而且它们的操作方式基本是一样的,则最好不要使用分区表
02.如果数据量大,而且数据是分段的。并且对不同段的数据使用的操作不同,则适于使用分区表。
03.当对数据的操作只涉及一部分数据而不是所有数据时 ,就可以考虑建立分区表。
注意:分区表是从物理上将一个大表分成几个小表 .但从逻辑上看还是一个大表。对于用户而言,用户只要将记录插入到大表(逻辑表)中,数据库管理系统会自动将数据放置到对应的物理小表中。

二、创建分区表
1.在SQL Server 2008中,创建分区表通过以下几个步骤实现 :
01.创建分区函数
创建分区函数的目的是告诉数据库管理系统以什么方式对表进行分区。
02.创建分区方案
分区方案的作用是将分区函数生成的分区映射到文件组中。
分区函数的作用是告诉SQL Server如何将数据进行分区,而分区方案的作用则是告诉SQL Server将已分区的数据放在哪个文件组中。
03.使用分区方案创建表
在创建分区表之前,为了方便管理,可以先创建几个文件组将不同的小表放在不同的文件组甲。这样做一方面便于理解,另一方面可以提高运行速度。
2.创建分区函数
1
2
3
4
3.创建分区方案
1
2
3
4
5

7.4 索引

一、创建索引
创建索引
各参数含义1
各参数含义2
示例

二、删除索引
删除索引
示例

7.5 索引视图

一、基本概念的概述
1.标准视图也称虚拟表,因为这种视图返回的结果集的格式与基本表相同,都是由列和行组成,而且在SQL语句中引用视图的方式也与引用基本表的方式相同.
2.标准视图的结果集并不永久地存储在数据库中,每次通过标准视图查询数据时,数据库理系统都会在内部将视图的定义替换为对基本表的查询语句,然后,再对基本表执行查询。
3.每个引用视图的查询动态生成结果集的开销是很大的,特别是那些涉及对大量数据行进行复杂处理(如聚合大量数据或连接许多行)的视图。如果在查询中频繁地引用这类视图,则可通过对视图创建唯一聚集索引的方式来提高查询性能。
4.对视图创建唯一聚集索引后.视图的结果集将存储在数据库中.就像带有聚集索引的表一样。建有唯一聚集索引的视图称为索引视图,也称为物化视图。
二、适合建立索引视图的场合
1.适合建立索引视图的场合
01.如果很少更新基础数据,则索引视图的效果最佳。
02.如果经常更新基础数据 ,则维护索引视图的成本可能超过使用索引视图带来的性能收益。
03.如果基础数据以批处理的形式定期更新.但在更新之间主要作为只读数据进行处理,可考虑在更新前删除所有索引视图,然后再重建索引视图,这样做可以提高更新的性能。
2.索引视图能提高及不能提高性能的查询类型如下所示:
索引视图能够提高及不能提高性能的查询类型

三、定义索引视图
在对视图创建聚集索引之前,该视图必须符合以下几点要求:
1.对视图创建的第一个索引必须是唯一聚集索引,之后再创建其他的非聚集索引。
2.定义索引视图时,视图不能引用任何其他视图,只能引用基本表。
3.视图中的表达式引用的所有函数必须是确定的。
4.视图引用的所有基本表必须与视图位于同一数据库中.且所有者也与视图相同。
5.必须使用SCHEMABINDING选项创建视图。

猜你喜欢

转载自blog.csdn.net/weixin_47288291/article/details/123519476