一、数据库的组成

数据库是以文件的形式存在,由文件和文件组组成的。

1、文件

数据库文件分为以下几种类型:

  1. 主要数据文件:主要数据文件里面存放的是数据和数据库的一些初始化信息。每个数据库有且只有一个主要数据文件。主要数据文件以.mdf为扩展名。
  2. 次要数据文件:次要数据文件里面存放的是除了主要数据文件之外的所有数据。次要数据文件不是必须的,可以没有。如果有次要数据文件,可以有一个或者多个。假如数据库的数据非常大,这时候可以把一些数据放到次要数据文件里面。次要数据文件是以.ndf为扩展名。
  3. 事务日志文件:事务日志文件存放的是对数据库进行操作的所有日志信息。每个数据库至少要有一个日志文件,也可以有多个。事务日志文件是以.ldf为扩展名。

2、文件组

文件组是数据库文件的一种逻辑管理单位,它将数据库文件分成不同的文件组,方便我们对文件的分配和管理。文件组分为以下两种类型:

  1. 主文件组(Primary):主要包含主要数据文件和没有明确指派给其它文件组的文件。
  2. 用户自定义文件组:我们在使用脚本创建数据库或者修改数据库的时候,使用fileGroup关键字指定的文件组。

一个文件只能属于一个文件组。

文件组的设计原则:

  1. 文件只能是一个文件组的成员。
  2. 文件或文件组只能属于一个数据库,不能同时属于多个数据库。
  3. 数据和日志信息不能属于同一个文件或文件组。
  4. 日志文件不能作为文件组的一部分。因为数据和日志是分开在管理的,所以我们备份的时候可以只备份数据文件或日志文件,恢复的时候也可以只恢复数据文件或日志文件,而不用备份整个数据库。