重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 73|回复: 0
打印 上一主题 下一主题

SQL SERVER逻辑结构与物理结构

[复制链接]
跳转到指定楼层
楼主
发表于 2026-3-29 21:04:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
SQL SERVER逻辑结构与物理结构
一、 逻辑结构 (Logical Structure)
逻辑结构是用户和开发人员与 SQL Server 交互时的视角。它定义了数据的组织、管理和安全边界,而不关心数据在硬盘上的具体物理位置。
逻辑层次从大到小可以划分为:
实例 (Instance)
这是 SQL Server 的最高逻辑层级。一个物理服务器上可以安装多个 SQL Server 实例(例如默认实例和命名实例),它们彼此独立,拥有自己的内存、进程和系统数据库。
数据库 (Database)
数据库是数据的集合。SQL Server 包含系统数据库(如 master, model, msdb, tempdb,用于管理整个系统)和用户数据库(用于存储业务数据)。
文件组 (Filegroup)
这是连接逻辑结构和物理结构的桥梁。文件组是一个逻辑容器,它将一个或多个物理数据文件组合在一起,方便进行数据放置和备份。默认情况下,所有对象都在 PRIMARY 文件组中。
架构 (Schema)
架构是数据库对象的命名空间和安全边界。它可以看作是数据库内部的“文件夹”。通过将不同的对象放在不同的架构中(例如 dbo, sales, hr),可以更精细地控制用户权限。
数据库对象 (Database Objects)
包含我们日常操作的具体元素:
表 (Tables): 逻辑上由行和列组成,用于存储结构化数据。
视图 (Views): 虚拟表,基于SQL 查询结果创建。
索引 (Indexes): 用于加速数据检索的数据结构。
存储过程和函数: 预编译的 T-SQL代码块。
二、 物理结构 (Physical Structure)
物理结构是指 SQL Server 如何将数据真正写入操作系统的文件系统中。它决定了 I/O 性能和存储效率。
1. 物理文件 (DatabaseFiles)
每个 SQL Server 数据库在物理磁盘上至少由两个文件组成:
主数据文件 (Primary Data File, .mdf): 每个数据库只能有一个。它包含数据库的启动信息,并指向数据库中的其他文件。用户数据也可以存储在这里。
次数据文件 (Secondary Data File, .ndf): 可选的。当数据库过大,或者你需要将数据分布到不同的物理磁盘以提高读写性能时,可以创建次数据文件。
事务日志文件 (Transaction Log File, .ldf): 每个数据库至少有一个。它记录了所有修改数据库的事务(如 INSERT、UPDATE、DELETE)。这是数据库恢复、高可用性(如 AlwaysOn)的核心。
2. 存储基本单位 (StorageUnits)
在数据文件内部,SQL Server 采用高度结构化的方式来分配空间:
页 (Page)
大小: 8 KB。
概念: 这是 SQL Server 数据存储的基本单位。磁盘I/O 操作是在页级别执行的。这意味着即使你只读取一行 10 字节的数据,SQL Server 也会把包含这一行的整个 8KB 页加载到内存中。
结构: 每页分为页头(96字节,包含系统信息)、数据行(实际存储的数据)和行偏移数组(记录每行数据在页内的具体位置)。
区 (Extent)
大小: 64 KB(即连续的 8 个页)。
概念: 这是 SQL Server 空间分配的基本单位。为了提高空间分配的效率,SQL Server 不会一页一页地分配空间,而是以“区”为单位。
分类: 分为统一区(UniformExtent,由同一个对象独占,例如一张大表)和混合区(Mixed Extent,最多可由 8 个不同的对象共享,通常用于存放非常小的表)。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2026-4-18 03:10 , Processed in 0.216101 second(s), 21 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表