1.概述
Microsoft SQL Server(MSSQL)是一种关系型数据库管理系统(RDBMS),用于存储和管理大量的数据。MSSQL数据库架构是指在MSSQL服务器中的数据存储模型和组织方式。MSSQL数据库架构主要由四个部分组成:文件组、文件、数据页和行。
2.文件组
2.1 文件组的定义
文件组是一个或多个数据文件的集合,是数据库管理的组织单元,可以将它们看作一个磁盘驱动器。一个数据库可以包含一个或多个文件组。
2.2 文件组的创建
创建文件组的方式有两种:
在SQL Server Management Studio (SSMS)中创建
使用Transact-SQL命令CREATE DATABASE
--使用CREATE DATABASE创建文件组
CREATE DATABASE Example
ON PRIMARY
(NAME = Example_data,
FILENAME = 'C:\MSSQL\DATA\Example_data.mdf',
SIZE = 100MB, MAXSIZE = 1GB, FILEGROWTH = 10%)
LOG ON
(NAME = Example_log,
FILENAME = 'C:\MSSQL\DATA\Example_log.ldf',
SIZE = 50MB, MAXSIZE = 500MB, FILEGROWTH = 5%);
GO
3.文件
3.1 文件的定义
文件是磁盘上存储数据库数据的物理文件。每个文件都是文件组的一部分。
3.2 文件的类型
文件可以分为两种类型:数据文件和事务日志文件。
数据文件:存储数据库的所有数据
事务日志文件:记录数据库中所有修改的操作
3.3 文件的属性
SQL Server文件的属性包括:文件名、路径、大小、最大大小、文件增长率等。
--将文件添加到文件组
ALTER DATABASE Example
ADD FILE
(
NAME = data1,
FILENAME = 'C:\MSSQL\DATA\data1.ndf',
SIZE = 50MB, MAXSIZE = 500MB, FILEGROWTH = 10%
);
GO
4.数据页
4.1 数据页的定义
数据页是SQL Server中存储数据的最小单元。SQL Server将数据分成8KB的数据页,并且每个数据页都有一个唯一的标识符。数据页包含数据行、元数据、页头和页尾。
4.2 数据页的类型
SQL Server数据页分为两种类型:堆数据页和B树数据页。
堆数据页:是所有无聚集索引表的数据页
B树数据页:是所有聚集索引表和部分无聚集索引表的数据页
5.行
5.1 行的定义
行是SQL Server存储数据的基本单位。每个行都有一个唯一的标识符,并且在一个数据页中必须符合限定条件。
5.2 行的结构
每行都由一系列列组成,每列都有一个数据类型。每个列还可以有一个或多个约束条件和默认值。
5.3 行的属性
行的属性包括:行标识符、行长度、NULL值和存储位置。
结论
MSSQL数据库架构体系由文件组、文件、数据页和行四部分组成。其中文件组和文件是磁盘上存储数据的物理组织单元,数据页和行则是SQL Server存储数据的逻辑单元。MSSQL数据库架构体系的理解和掌握对理解SQL Server的底层机制以及优化SQL查询语句等方面都有一定作用。