资源预览内容
第1页 / 共53页
第2页 / 共53页
第3页 / 共53页
第4页 / 共53页
第5页 / 共53页
第6页 / 共53页
第7页 / 共53页
第8页 / 共53页
第9页 / 共53页
第10页 / 共53页
亲,该文档总共53页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
2019年5月23日,第1页,第4章 管理数据库,本章概述 本章要点 本章内容,2019年5月23日,第2页,本章概述,业务数据存储在什么地方?数据库对象存储在哪里?对于业务数据而言,什么样的存储方式是合理的?如果数据量剧增之后,数据库能否适应这些变化?回答诸如此类的问题,首先需要明白到底什么是数据库。数据库是数据库管理系统的核心,是存放数据库对象的容器,是使用数据库系统时首先面对的对象。管理数据库就是设计数据库、定义数据库和维护数据库的过程。数据库的效率和性能在很大程度上取决于数据库的设计和优化。 本章将对Microsoft SQL Server系统的数据库管理进行全面的研究和分析。,2019年5月23日,第3页,本章要点,数据库的管理问题 数据库文件和文件组的基本特征 数据库的物理存储方式和大小估算方法 使用CREATE DATABASE语句定义数据库 数据库选项的作用和设置方式 扩大数据库的原因和方法 收缩数据库的原因和方法 文件组的管理方式 数据库快照的作用和特点 优化数据库设计的方法,2019年5月23日,第4页,本章内容,4.1 概述 4.2 数据库文件和文件组的基本特征 4.3 定义数据库 4.4 修改数据库 4.5 管理数据库快照 4.6 其他相关操作 4.7 优化数据库 4.8 本章小结,4.1 概述,为了有效地实现数据库的管理工作,必须至少解决8个方面的问题,包括 数据库文件的存储问题、数据库的大小问题、确定数据库运行时的行为特征、数据库的更改问题、数据库的扩大问题、数据库的收缩问题、如何兼顾数据库的事务处理效率和决策支持效率问题和数据库的性能优化问题等。,2019年5月23日,第5页,4.2 数据库文件和文件组的基本特征,本节主要讲述数据库文件的类型、事务的概念、文件组的作用、估算数据库文件大小的方法等内容。,2019年5月23日,第6页,数据库文件,在Microsoft SQL Server 2008系统中,一个数据库至少有一个数据文件和一个事务日志文件。 当然,一个数据库也可以有多个数据文件和多个日志文件。数据文件用于存放数据库的数据和各种对象,而事务日志文件用于存放事务日志。一个数据库最多可以拥有32767个数据文件和32767个日志文件。,2019年5月23日,第7页,文件组,文件组就是文件的逻辑集合。为了方便数据的管理和分配,文件组可以把一些指定的文件组合在一起。 使用文件和文件组时,应该考虑下列因素:(1) 一个文件或者文件组只能用于一个数据库,不能用于多个数据库;(2) 一个文件只能是某一个文件组的成员,不能是多个文件组的成员;(3) 数据库的数据信息和日志信息不能放在同一个文件或文件组中,数据文件和日志文件总是分开的;(4) 日志文件永远也不能是任何文件组的一部分。,2019年5月23日,第8页,估算大小,通过理解数据库的空间管理,可以估算数据库的设计尺寸。数据库的大小等于数据库中的表大小、索引大小以及其他占据物理空间的数据库对象大小之和。 假设某个数据库中只有一个表,该表的数据行字节是800B。这时,一个数据页上最多只能存放10行数据。如果该表大约有100万行的数据,那么该表将占用10万个数据页的空间。因此,该数据库的大小估计为:1000008KB=800000KB=781.25MB。根据数据库大小的估计值,再考虑其他因素,就可以得到数据库的设计值。,2019年5月23日,第9页,4.3 定义数据库,定义数据库就是创建数据库和设置数据库选项。 本节从3个方面讲述定义数据库:创建数据库、设置数据库选项和查看数据库信息。,2019年5月23日,第10页,创建数据库,创建数据库就是确定数据库名称、文件名称、数据文件大小、数据库的字符集、是否自动增长以及如何自动增长等信息的过程。在一个Microsoft SQL Server实例中,最多可以创建32767个数据库。数据库的名称必须满足系统的标识符规则。在命名数据库时,一定要保证数据库名称简短并有一定的含义。 具有CREATE DATABASE、CREATE ANY DATABASE或ALTER ANY DATABASE权限的用户才可以执行创建数据库的操作。,2019年5月23日,第11页,创建一个最简单的数据库,2019年5月23日,第12页,使用CREATE DATABASE语句创建数据库,2019年5月23日,第13页,创建有多个文件和文件组的数据库,2019年5月23日,第14页,数据库的状态和选项,为了理解数据库的运行特征,需要了解数据库的状态和选项。下面分别介绍数据库的状态和选项。 数据库总是处在某个特定的状态中,例如,ONLINE状态表示数据库处于正常的在线状态,可以对数据库执行正常的操作。数据库的状态清单和特征描述如表4-1所示。,2019年5月23日,第15页,数据库选项,设置数据库选项是定义数据库状态或特征的方式,例如可以设置数据库的状态为EMERGENCY。每一个数据库都有许多选项,可以使用ALTER DATABASE语句中的SET子句来设置这些数据库选项。需要注意的是,使用Microsoft SQL Server Management Studio工具只能设置其中大多数的选项。下面,首先介绍Microsoft SQL Server 2008系统提供的数据库选项,然后讲述如何设置这些选项。 在Microsoft SQL Server 2008系统中,共有大约30多个数据库选项。这些数据库选项的清单和功能描述如表4-2所示。,2019年5月23日,第16页,设置数据库选项,2019年5月23日,第17页,查看数据库信息,在Microsoft SQL Server 2008系统中,可以使用一些目录视图、函数、存储过程查看有关数据库的基本信息。 sys.databases数据库和文件目录视图可以查看有关数据库的基本信息,sys.database_files可以查看有关数据库文件的信息,sys.filegroups可以查看有关数据库文件组的信息,sys.master_files可以查看数据库文件的基本信息和状态信息。 DATABASEPROPERTYEX函数可以查看指定数据库的指定选项的信息,一次只能返回一个选项的设置。,2019年5月23日,第18页,查看数据库选项的设置,2019年5月23日,第19页,查看数据库空间使用状况信息,2019年5月23日,第20页,使用sp_helpdb存储过程查看数据库,2019年5月23日,第21页,“数据库属性AdventureWorks”对话框,2019年5月23日,第22页,4.4 修改数据库,数据库创建之后,可以根据需要使用ALTER DATABASE语句对数据库进行修改。 除了前面讲过的设置数据库选项之外,修改操作还包括更改数据库名称、扩大数据库、收缩数据库、修改数据库文件、管理数据库文件组以及修改字符排列规则等。 下面将详细讨论这些内容。,2019年5月23日,第23页,更改数据库名称,数据库创建之后,一般情况下不要更改数据库的名称,因为许多应用程序都可能使用了该数据库的名称。数据库名称更改之后,需要修改相应的应用程序。如果确实需要更改数据库名称,可以使用ALTER DATABASE语句做到。 使用ALTER DATABASE语句更改数据库名称的语法形式如下: ALTER DATABASE database_name MODIFY NAME = new_database_name,2019年5月23日,第24页,更改数据库名称,2019年5月23日,第25页,扩大数据库,在Microsoft SQL Server系统中,如果数据库的数据量不断膨胀,可以根据需要扩大数据库的尺寸。 有3种扩大数据库的方式。第一种方式是设置数据库为自动增长方式,可以在创建数据库时设置;第二种方式是直接修改数据库的数据文件或日志文件的大小;第三种方式是在数据库中增加新的次要数据文件或日志文件。,2019年5月23日,第26页,通过增加新的数据文件来扩大数据库,2019年5月23日,第27页,通过扩大数据文件的大小来扩大数据库,2019年5月23日,第28页,收缩数据库,如果数据库的设计尺寸过大了,或者删除了数据库中的大量数据,这时数据库会白白耗费大量的磁盘资源。根据用户的实际需要,可以收缩数据库的大小。 在Microsoft SQL Server系统中,有3种收缩数据库的方式。第一种方式是设置数据库为自动收缩,可以通过设置AUTO_SHRINK数据库选项实现;第二种方式是收缩整个数据库的大小,可以通过使用DBCC SHRINKDATABASE命令完成;第三种方式是收缩指定的数据文件,可以使用DBCC SHRIKNFILE命令实现。除了这些命令方式之外,也可以使用SQL Server Management Studio工具来收缩数据库。,2019年5月23日,第29页,不能使用ALTER DATABASE语句直接收缩数据库文件,2019年5月23日,第30页,使用AUTO_SHRINK数据库选项设置,在Microsoft SQL Server系统中,数据库引擎会定期检查每一个数据库的空间使用情况。如果某个数据库的AUTO_SHRINK选项设置为ON,则数据库引擎将自动收缩数据库中文件的大小。如果该选项的设置为OFF,则不自动收缩数据库的大小。该选项的默认值是OFF。 在ALTER DATABASE语句中,设置AUTO_SHRINK选项的语法形式如下: ALTER DATABASE database_name SET AUTO_SHRINK ON,2019年5月23日,第31页,使用DBCC SHRINKDATABASE命令,DBCC SHRINKDATABASE命令是一种比自动收缩数据库更加灵活收缩数据库的方式,可以对整个数据库进行收缩。 DBCC SHRINKDATABASE命令的基本语法形式如下: DBCC SHRINKDATABASE (database_name, target_percent),2019年5月23日,第32页,使用DBCC SHRINKDFILE命令,DBCC SHRINKDFILE命令可以收缩指定的数据库文件,并且可以将文件收缩至小于其初始创建的大小,重新设置当前的大小为其初始创建的大小。这是该命令与自动收缩、DBCC SHRINKDATABASE命令不同的地方。在执行收缩数据库操作时,DBCC SHRINKDFILE命令的功能最强大。 DBCC SHRINKDFILE命令的基本语法形式如下: DBCC SHRINKFILE (file_name, target_size),2019年5月23日,第33页,使用SQL Server Management Studio,2019年5月23日,第34页,修改数据库文件,用户可以根据需要使用ALTER DATABASE语句修改数据库中指定的文件。这些修改操作包括增加数据文件、在指定的文件组中增加指定文件、增加日志文件、删除指定的文件以及修改指定的文件等。增加数据文件、修改指定的文件等操作已经讲过了,下面通过一些示例讲述有关数据库文件的其他操作。 如果要在指定的文件组中增加文件,则可以使用TO FILEGROUP子句。例如,如果LGCom数据库包含了两个数据文件,即LGF1和LGF2。现在要新增加一个LGF3文件并且将其放在FG1文件组(该文件组必须已经存在)中,那么可以使用如图4-14所示的命令。,2019年5月23日,第35页,在指定的文件组中增加文件,2019年5月23日,第36页,管理文件组,文件组是数据库数据文件的逻辑组合,它可以对数据文件进行管理和分配,以便提高数据库文件的并发使用效率。 Transact-SQL语言没有提供独立的管理文件组的命令,只能通过ALTER DATABASE语句提供管理文件组的命令。这些管理文件组的命令包括新建文件组、设置默认的文件组、设置文件组的属性、修改文件组以及删除文
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号