V03第3章数据库系统架构和创建

上传人:野鹰 文档编号:3188986 上传时间:2017-10-26 格式:PPT 页数:56 大小:420.50KB
返回 下载 相关 举报
V03第3章数据库系统架构和创建_第1页
第1页 / 共56页
V03第3章数据库系统架构和创建_第2页
第2页 / 共56页
V03第3章数据库系统架构和创建_第3页
第3页 / 共56页
V03第3章数据库系统架构和创建_第4页
第4页 / 共56页
V03第3章数据库系统架构和创建_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《V03第3章数据库系统架构和创建》由会员分享,可在线阅读,更多相关《V03第3章数据库系统架构和创建(56页珍藏版)》请在金锄头文库上搜索。

1、第 3章 数据库系统架构和创建 高级数据库 SQL Server 2000 第 3章 数据库系统架构和创建 第 3章 数据库系统架构和创建 高级数据库 SQL Server 2000 第 3章 数据库系统架构和创建 3.1 数据库物理存储结构 3.2 数据库的逻辑组织 3.3 数据库创建与管理 第 3章 数据库系统架构和创建 高级数据库 SQL Server 2000 第 3章 数据库系统架构和创建 3.1 数据库物理存储结构 3.2 数据库的逻辑组织 3.3 数据库创建与管理 第 3章 数据库系统架构和创建 高级数据库 SQL Server 2000 3.1 数据库物理存储结构 3.1.1

2、数据库文件和文件组 3.1.2 数据文件的使用分配 (不讲 ) 3.1.3 事务日志文件结构 (不讲 ) 第 3章 数据库系统架构和创建 高级数据库 SQL Server 2000 3.1 数据库物理存储结构 3.1.1 数据库文件和文件组 3.1.2 数据文件的使用分配 (不讲 ) 3.1.3 事务日志文件结构 (不讲 ) 第 3章 数据库系统架构和创建 高级数据库 SQL Server 2000 3.1 数据库物理存储结构 3.1.1 数据库文件和文件组 数据库文件 指数据库在磁盘上的存储形式,它有如下特点: 1) 数据库文件 有两类: 数据文件 和 事务日志文件 ; 2)一个数据库至少包

3、含 一个 数据文件和 一个 事务日志文件 (可包含 多个 ); 3) 数据文件 又可细分为: a) 主数据文件 :每个数据库有一个。文件扩展名为 .mdf b) 次数据库文件 :每个数据库有 零个或多个 。文件扩展名为 .ndf 4)事务日志文件的扩展名是 .ldf。 第 3章 数据库系统架构和创建 高级数据库 SQL Server 2000 数据库文件的存储位置 逻辑文件名 物理文件名 逻辑文件名 物理文件名 逻辑文件名 物理文件名 逻辑文件名 物理文件名 逻辑文件名 物理文件名 第 3章 数据库系统架构和创建 高级数据库 SQL Server 2000 3.1 数据库物理存储结构 3.1.

4、1 数据库文件和文件组 文件组: 将多个 数据文件 组织为一个组并取名,这就是 文件组 。 特点 : 1) 每个 数据文件 只能成为 一个文件组 的成员 。 也就是说 , 数据文件不能跨文件组使用; 2) 每个 文件组 只能 属于一个数据库 。 也就是说 , 文件组不能跨数据库使用 。 3) 日志文件 是 独立 的 , 它不能作为任何数据文件组的成员 。 4) 每个数据库至少有一个文件组 , 称为 主文件组 。 第 3章 数据库系统架构和创建 高级数据库 SQL Server 2000 3.1 数据库物理存储结构 3.1.1 数据库文件和文件组 使用文件组的好处 : 提供 硬件并行性 1) 可

5、将文件组中的各个 数据文件 建立在 不同的硬盘上 , 使用时各个磁盘并行工作 , 提高了系统性能 。 2) 在存储数据时 , SQL Server采用 按比例填充策略使用文件组内的每个文件 。 例 : 日志文件 数据文件 1 数据文件 2 数据文件 3 文件组 使用时按各文件 剩余空间大小 按 比例 写入 数据 ,即 1:2:3,可保证文件组内各文件的 装载程度 基本相同,磁盘 负载均衡 。 100G 200G 300G 100G 有四个硬盘: 第 3章 数据库系统架构和创建 高级数据库 SQL Server 2000 3.1 数据库物理存储结构 3.1.1 数据库文件和文件组 文件组分为 主

6、文件组 和 次文件组 两类 。 1) 主文件组 :包含 主数据文件 和若干 次数据文件 。 在创建数据库时 , 若 未指定 数据文件所属文件组 , 则数据文件将归属于 主文件组 。 数据库的 系统表 都包含在 主文件组 里 。 2) 次文件组 :也称 用户自定义文件组 , 在创建或修改数据库时使用 FILEGROUP关键字进行定义 。 3) 默认文件组 :当为 创建时未指定文件组 的 数据库对象 分配磁盘时 , 将从默认文件组中进行分配 。 一个数据库只能有一个默认文件组 。 未指定时 , 主文件组 就是默认文件组 。 第 3章 数据库系统架构和创建 高级数据库 SQL Server 2000

7、 3.1 数据库物理存储结构 3.1.1 数据库文件和文件组 使用 数据文件 和 文件组 时的 注意事项 : 1)创建数据库时,允许数据文件能够 自动增长 ,但要设置一个 上限 。否则有可能充满磁盘。 2) 主文件组 要 足够大 以容纳所有系统表 。 否则新的信息就无法添加到系统表 , 数据库也就无法进行追加修改 。 3) 建议把 频繁查询 的文件和 频繁修改 的文件 分放在不同 的文件组 。 4) 宜将 索引 、 大文本 、 图象文件 放入 专门的 文件组 。 第 3章 数据库系统架构和创建 高级数据库 SQL Server 2000 3.1 数据库物理存储结构 3.1.1 数据库文件和文件

8、组 3.1.2 数据文件的使用分配 (不讲 ) 3.1.3 事务日志文件结构 (不讲 ) Next 第 3章 数据库系统架构和创建 高级数据库 SQL Server 2000 3.1.2 数据文件的使用分配 在 SQL Server 中 , 数据文件存储的基本单位是 页 。 在 SQL Server 2000 中 , 页的大小是 8 KB。因此 SQL Server 2000 数据库每 MB有 128页 。 每页的开始部分是 96 字节 的 页首 ,用于存储 系统信息 ,如页的 类型 、页的可用 空间量 、页对象 ID等。 第 3章 数据库系统架构和创建 高级数据库 SQL Server 20

9、00 SQL Server 2000数据文件中的页类型 页类型 内容 数据 页面 存储数据行中除 text、 nntext和 image列数据以外的数据 文本 /图像 页面 存储数据行中的 text、 nntext和 image列数据 索引 页面 存储索引项 全局分配映射 页面 存储数据文件的 区域 分配信息 页的可用空间信息 页面 存储数据文件中可用的空闲页面信息 索引分配映射 页面 存储表或索引所使用的 区域 信息 大容量更改信息 页面 存储有关自上次执行 BACKUP LOG语句后大容量操作 所修改的 扩展盘区 信息 差异更改信息 页面 存储有关自上次执行 BACKUP DATABASE

10、语句后 更改 的 扩展盘区 的信息 第 3章 数据库系统架构和创建 高级数据库 SQL Server 2000 1数据页面存储格式 ( 1) 数据页头 数据页包含数据行中除 text、 ntext 和 image 数据外的所有数据,页头占用每个数据页的前 96个字节 ,剩余的 8096字节用于 数据 和 行偏移数组 。 第 3章 数据库系统架构和创建 高级数据库 SQL Server 2000 ( 2) 数据行 紧跟着页头的就是存储表数据的区域 , 称 数据行区域 。 单个数据行的最大长度是 8060字节 。 数据行 不能跨页 存储 ( 文本和图像例外 ) 。 页内数据行的多少依赖于表的结构和

11、要存储的数据 。 如果一个表的所有列都是 定长 , 那么该表在每一页上存储 相同数目 的行 。 如果一个表里有 变长 列 , 那么该表总是在每一页上存储 尽可能多的行 。 数据行越短,每一页存储的行数就越多。 1数据页面存储格式 第 3章 数据库系统架构和创建 高级数据库 SQL Server 2000 ( 3) 行偏移数组 当单行数据长度为最大 8060字节时 , 行偏移数组占用 8096-8060=36个字节 。 但实际中一个数据行往往比 8060小 , 所以 数据行占用的总字节数和行偏移数组占用的总字节数 由系统 动态调整 :数据行 字节数越少 , 偏移数组 字节数越多 , 反之 , 数

12、据行字节数越多 , 偏移数组字节数越少 , 但不能少于 36字节 。 行偏移数组的每两个字节构成一个 条目 , 记录相关数据行起始位置的 偏移量 。 注意:行偏移数组表示的是页中数据行的 逻辑顺序 , 不是物理顺序 。 真正的 物理顺序 与 聚簇索引 有关 。 1数据页面存储格式 第 3章 数据库系统架构和创建 高级数据库 SQL Server 2000 ( 4) 页面链接 每个表或索引的数据行一般都分开存储在 多个 8 KB 数据页 中。如上面所述,每个数据页的 96 字节页头包含了拥有该页的 表 ID等 系统信息 ,也包含指向下一页和上一页的指针 (双向链表 )。 1数据页面存储格式 第

13、3章 数据库系统架构和创建 高级数据库 SQL Server 2000 2空间使用分配管理 SQL Server 2000向 表 或 索引 分配空间的基本单位为 区域 , 一个 区域 长度为 8个连续的页面 ,也就是 64KB。 区域分为以下 两种 类型: 统一区域 :区域中的 8个页面只能 存储同一个 数据库对象 。 混合区域 :区域中不同页面可以存储不同的数据库对象 。 但由于每个页面只能存储同一个数据库对象 , 所以一个混合区域 最多可存储 8个数据库对象 。 第 3章 数据库系统架构和创建 高级数据库 SQL Server 2000 全局分配映射 ( GAM) 页面 : GAM页面中的

14、每 一位 记录一个 区域 的分配情况 , 当位值 为 1时 , 说明区域为 空闲 区域;当位值 为 0时 , 表示区域 已经被分配使用 。 由于每个页面大小为 8KB, 所以一个 GAM页面能够覆盖 65536个区域 , 即 4GB。 共享全局分配映射 ( SGAM) 页面 : SGAM页面用于记录 有空闲页面的混合区域 。每个 SGAM页面覆盖65536个区域。当位值 为 1时,说明区域为 混合区域 且含空闲页面 ;当位值 为 0时,说明区域 不是 混合区域,或者 不含 空闲页面。 2空间使用分配管理 8*1024*8 = 65536 = 64K 65536*64*1024=4G 第 3章

15、数据库系统架构和创建 高级数据库 SQL Server 2000 3页面自由空间管理 页面自由空间 ( PFS) 页面 : PFS页面中的每 一字节 记录一个 页面 的分配和使用情况 , 即 全部空闲 、 1%50%满 、51%80%满 、 81%95%满 , 还是 96%100%满 。 由于每个页面大小为 8KB, 所以一个 PFS页面能够覆盖 8K个页 。 当一个区域分配给某个数据库对象时, SQL Server使用 PFS页面 记录区域内的单个页面 是否已分配 使用,以及页面中的 空间使用情况 。 当 SQL Server需要分配新的页面,或者查找有自由空间页面时,将使用 PFS页面 中所记录的这些信息。 第 3章 数据库系统架构和创建 高级数据库 SQL Server 2000 4.对象所用区域管理 SQL Server使用 索引分配映射 ( IAM) 页面管理 堆 或 索引所分配区域 的使用情况。 每个 IAM页面的 页面头

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号