首页 理论教育 SQLServer数据库结构及文件类型详解

SQLServer数据库结构及文件类型详解

时间:2023-10-21 理论教育 版权反馈
【摘要】:tempdb数据库在SQL Server 2005每次启动时都重新创建。对SQL Server 2005数据库有了基本了解后,用户可以使用对象资源管理器或者查询分析器,创建和管理用户数据库了。

SQLServer数据库结构及文件类型详解

1.SQL Server 2005 数据库结构简介

SQL Server 2005数据库是长期存储在计算机内,有组织、可共享的数据的集合,这些数据集合具有特定的逻辑结构并得到数据库系统的管理和维护。

物理角度看,每个SQL Server2005数据库至少具有两个操作系统文件:一个数据文件和一个日志文件。从逻辑角度看,数据文件包含数据和对象,例如,表、索引、存储过程和视图等。如图1-9所示。

978-7-111-33494-1-Chapter01-31.jpg

图1-9 SQLServer数据库的结构

2.SQL Server 2005 数据库文件类型

物理层面上,SQL Server2005数据库是由多个操作系统文件组成的,根据这些文件作用的不同,可以将它们分为主要数据文件(Primary File)、次要数据文件(Secondary File)、事务日志文件(Transaction Log)3种类型。

(1)主要数据文件

包含数据库的启动信息,用户数据和对象可存储在此文件中,也可以存储在次要数据文件中。每个数据库有一个主要文件。

主要数据文件的扩展名是“.mdf”。

(2)次要数据文件

次要数据文件是可选的,由用户定义并存储用户数据。

使用次要文件可以扩展存储空间。通过将每个文件放在不同的磁盘驱动器上,次要文件可用于将数据分散到多个磁盘上。另外,如果数据库的大小超过了单个Windows文件的最大,则可以使用次要数据文件,这样数据库就能继续增长。

次要文件的扩展名为“.ndf”。

(3)事务日志文件

事务日志文件保存用于恢复数据库的日志信息。每个数据库必须至少有一个日志文件。凡是对数据库进行的增、删、改等操作,都会记录在事务日志文件中。当数据库被破坏时可以利用事务日志文件恢复数据库的数据。

事务日志文件的扩展名为“.ldf”。

3.SQL Server2005数据库文件组

为了便于分配和管理,可以将数据文件集合起来,放到文件组中。文件组是将多个数据库文件集合起来形成的一个整体,每个文件组有一个组名。

(1)主要文件组

每个数据库有一个主要文件组。此文件组包含主要数据文件和未放入其他文件组的所有次要文件。

(2)用户定义文件组(www.xing528.com)

可以创建用户定义的文件组,用于将数据文件集合起来,以便于管理、数据分配和放置。可以分别在3个硬盘驱动器上创建3个文件(MyData1.ndf、MyData2.ndf和MyData3.ndf),并将这3个文件指派到文件组fgroup1中。然后,可以明确地在文件组fgroup1上创建一个表。当对数据库对象进行写操作时,数据库对象会根据组内数据文件的大小,按比例写入组内所有数据文件中。当查询数据时,会创建多个线程并行读取分配在不同物理磁盘中的文件,从而在一定程度上提高查询速度。

(3)默认文件组

如果在数据库中创建对象时没有指定对象所属的文件组,对象将被分配给默认文件组。不管何时,只能将一个文件组指定为默认文件组。默认文件组中的文件必须足够大,能够容纳未分配给其他文件组的所有新对象。主要文件组是默认文件组。

4.SQL Server2005的系统和示例数据库

安装好Microsoft SQL Server 2005之后,安装程序将创建图1-10中显示的系统数据库。

master、model、msdb和tempdb都是系统数据库;pubs和Northwind是示例数据库。

(1)master数据库

master数据库是SQL Server 2005的主数据库,记录了SQL Server 2005所有的系统级信息。例如,所有的登录账户和系统配置信息、用户数据库文件信息、SQL Server 2005初始化信息等。

978-7-111-33494-1-Chapter01-32.jpg

图1-10 Microsoft SQL Server 2005的系统和示例数据库

(2)tempdb数据库

tempdb数据库为临时表、临时存储过程、临时存储要求(例如,存储SQL Server 2005生成的工作表)提供存储空间。是所有数据库共享使用的工作空间,允许所有可以联接上SQL Server服务器的用户使用。tempdb数据库在SQL Server 2005每次启动时都重新创建。当它的空间不够时,系统会自动为它增加空间。

(3)model数据库

model数据库是创建所有数据库的模板文件。它包含了每个数据库所需要的系统表格。当发出CREATE DATABASE语句时,新数据库的第一部分通过复制model数据库中的内容创建,剩余部分由空白页填充。

(4)msdb数据库

msdb数据库供SQL Server 2005代理程序调度警报和作业以及记录操作时使用。

(5)pubs数据库

pubs数据库是一个基于图书出版公司模式而建立的数据库模型,其中包含了大量的样本表和样本数据。

(6)northwind数据库

这个数据库是模仿一个northwind(专门经营世界各地风味食品的进出口贸易的公司)数据库模型。

对SQL Server 2005数据库有了基本了解后,用户可以使用对象资源管理器或者查询分析器,创建和管理用户数据库了。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈