Sql Server系统数据库及数据库结构的研究

时间:2022-09-22 04:40:53

Sql Server系统数据库及数据库结构的研究

摘 要: Sql Server为用户提供了多个系统数据库,它们在数据库中都扮演着重要的角色。Sql Server数据库在逻辑上被组织成一个个数据对象,如表、视图、角色等,逻辑对象可被用户查看或操作;在物理上却是以文件的形式存放在磁盘中。本文介绍了Sql Server的系统数据库及数据库的逻辑结构和物理结构。

关键词: Sql Server 逻辑结构 数据文件 物理结构

一、系统数据库

在SQL Server系统中,数据库可分为“系统数据库”和“用户数据库”两大类。用户数据库是用户根据实际需要创建的数据库,而系统数据库则是SQL Server内置的,它们主要是用于系统管理。SQL Server中系统数据库主要有以下几个:

1.master数据库

master数据库是最重要的系统数据库,它记录SQL Server系统级的信息,包括系统中所有的系统配置信息、登录账号、所有数据库的信息、所有用户数据库的主文件地址、SQL server的初始化信息。因此,如果master数据库不可用,则SQL Server将无法启动。

2.tempdb数据库

tempdb数据库用于存放所有连接到系统的用户临时表和临时存储过程,以及SQL Server产生的其他临时性的对象。tempdb是SQL Server中负担最重的数据库,因为几乎所有的查询都可能需要使用它。

在SQL Server关闭时,tempdb数据库中的所有对象都被删除,每次启动SQL Server时,tempdb数据库里面总是空的。

默认情况下,SQL Server在运行时tempdb数据库会根据需要自动增长。不过,与其他数据库不同,每次启动数据库引擎时,它会重置为其初始大小。

3.model数据库

model数据库又叫做模板数据库,它是系统所有数据库的模板,这个数据库相当于一个模子,所有在系统中创建的新数据库的内容,在刚创建时都和model数据库完全一样。

如果SQL Server专门用作一类应用,而这类应用都需要某个表,甚至在这个表中都要包括同样的数据,那么就可以在model数据库中创建这样的表,并向表中添加那些公共的数据,以后每一个新创建的数据库中都会自动包含这个表和这些数据。当然,也可以在model数据库中增加其他数据库对象,这些对象都能被以后创建的数据库所继承。

4.msdb数据库

msdb数据库由SQL Server(SQL Server Agent)安排报警、作业,并记录操作员。

二、数据库的物理结构

数据库的物理表现是操作系统文件,即在物理上,一个数据库由一个或多个磁盘上的文件组成。

1.数据文件

在SQL Server系统中,一个数据库在磁盘上可以保存为一个或多个文件,我们把这些文件称为数据库文件。数据库文件分成三类:主数据文件、次数据文件、事务日志文件。这种物理结构只对数据库管理员是可见的,而对用户是透明的。

(1)主数据库文件

主数据库文件包含数据库启动信息,并指向数据库中的其他文件。用户数据库和对象可存储在该文件中。每个数据库只能有一个主数据库文件,文件扩展名为.mdf。

(2)次数据库文件

次数据库文件是可选的,次数据库文件可用于将数据库分散存储到多个磁盘中,每个数据库可以有零个或多个次数据库文件,次数据库文件扩展名为.ndf。

(3)事务日志文件

事务日志文件用于记录对数据库的各种操作情况,对数据库进行操作时,对数据库内容的更改将自动记录到该文件中。事务日志文件的扩展名为.ldf,一个数据库可以有一个或多个事务日志文件。

因此,一个数据库至少由两个文件组成个,即一个主数据库文件和一个事务日志文件。

2.数据库文件组

为了方便管理,可以将多个数据文件组织成为一组,称为文件组。每个文件组对应一个组名,可以将文件组中的文件存放在不同磁盘,以便提高数据库的访问性能。

在SQL Server中,文件组有两种类型。

(1)主文件组

主数据文件所在的组称为主文件组。在创建数据库时,如果用户没有定义文件组,系统会自动建立主文件组。当数据文件没有指定文件组时,默认都在主文件组中。

(2)次文件组

用户定义的文件组称为次文件组。如果次文件组中的文件被填满,那么只有该文件组中的用户表会受到影响。

在创建表时,不能指定将表放在某个文件中,只能指定将表放在某个文件组中。因此,如果希望将某个表放在特定的文件中,必须通过创建文件组实现。

3.数据库文件和文件组遵循的规则

(1)一个文件或文件组只能被一个数据库使用。

(2)一个文件只能属于一个文件组。

(3)事务日志文件不能属于文件组。

三、数据库的逻辑结构

逻辑上,一个数据库由若干个用户可视的对象构成,如表、视图、角色等,这些组件称为数据库对象。用户利用这些逻辑数据库的数据库对象存储或读取数据库中的数据,直接或间接地利用这些对象在不同应用程序中完成存储、操作和检索等工作。逻辑数据库的数据库对象可以从数据库服务器管理平台中查看。

参考文献:

[1]谭峤.SQL Server数据库性能优化研究[J].硅谷,2014(08).

[2]林元彦.SQL Server数据库性能分析与优化[J].电子技术与软件工程,2013(17).

[3]冯艳.SQL Server数据库运用及其性能优化分析[J].软件导刊,2012(03).

上一篇:信息技术教育与学科课程整合之浅见 下一篇:浅析如何转化小学英语学困生的教学策略