第8章 数据库的物理组织

第8章 数据库的物理组织

目录

1 数据的物理存储

缓冲区:在系统内存中开辟的一块专用空间,用来缓存经常需要访问的数据

缓冲区划分为多块,块大小与磁盘块大小一致

1.1 缓冲区管理

缓冲区管理器:DBMS对缓冲区管理的模块

标志位:

  • 空闲位:表示缓冲块是否空闲

  • 脏位:表示缓冲块是否曾被修改,在被替换时需要写入磁盘

  • pin值:初值为0,用到时+1,用完后-1

    • 防止替换出正在处理的块

    • 制定常驻内存块

    在这里插入图片描述

缓冲区替换策略

最近最少使用策略LRU(Least Recently Used)

在这里插入图片描述

2 数据的文件组织

  • 数据以文件形式组织

    • 文件基本组成单位(逻辑):文件记录

    • 文件基本组成单位(物理):磁盘块

  • 内外存数据交换以磁盘块为单位

2.1 RDBMS中属性值

元组中特定数据类型分别占用不同的存储空间

  • 定长记录存储

    • 简单

      在这里插入图片描述

    • 考虑32为处理器便宜安排如下

      在这里插入图片描述

  • 变长记录存储

    • 用特殊分隔符将记录隔开

      在这里插入图片描述

    • 在记录首部存储各字段的偏移量

      在这里插入图片描述

  • 块格式

    • 不跨块组织方式

      • 如果物理块不足以放一条记录,放弃不用
    • 跨快组织方式

      • 允许一条记录夸在不同物理块
    • 快列方式

      若干块组成一个快列,记录可以跨越块边界,不能跨快列边界

4.4 文件组织方式

从逻辑存储角度考虑,记录构成块;从逻辑存储角度考虑,记录构成文件

  • 堆文件:

    • 查找:顺序扫描

    • 插入:从未用空间开始存放

    • 删除:作删除标记

    • 特点:操作简单,查找效率低

    在这里插入图片描述

  • 顺序文件

    • 查找:二分查找

    • 插入:一动后续记录

    • 删除:后续记录上移

    • 特点:读取效率高,系统定期重新组织,使物理顺序和查找键一致,以提高查找速度

    • 通常有预留空间,防止整个前移或者后移

    在这里插入图片描述

  • 聚集文件

    • 查找:按关键码

    • 插入:按关键码查找并插入

    • 删除:按关键码查找并删除

    • 特点:提高数据访问效率

    在这里插入图片描述

3 散列文件及访问方式

哈希文件HSAH,通过散列函数运算,桶为基本存储单位(一个桶多块或一块)

3.1散列的概念

K是所有搜索键的集合,B是所有桶地址的集合,h是从K到B的函数,把每个查找键值映射到地址集合中的地址

在这里插入图片描述

  • 好的散列函数

    • 地址分布均匀

    • 函数实现简单

  • 静态散列:桶的个数固定

    • 查找:k计算hk,然后在桶内查找

    • 插入:k计算hk,然后吧记录插入桶内空余空间,或开辟新的溢出块

    • 删除:k计算hk,然后直接从桶内将记录删除

  • 动态散列:桶的个数不确定当桶溢出时,分裂桶

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库物理设计是指将逻辑模型转化为可在计算机上存储和查询的物理结构的过程。在进行数据库物理设计时,有几个重要的原则需要遵循。 首先,合理的数据分布是数据库物理设计的关键原则之一。合理的数据分布可以提高查询性能并减少存储空间的浪费。例如,将经常一起查询的数据存储在相邻的磁盘块或表空间中,可以减少磁盘IO的次数,从而提高查询速度。 其次,索引的设计也是数据库物理设计的重要原则之一。索引可以加快数据的检索速度,但同时也会增加数据的存储空间。因此,在设计索引时需要权衡查询性能和存储空间的消耗。 另外,冗余数据的最小化也是数据库物理设计的原则之一。冗余数据指的是在数据库中存储相同信息的多个副本。冗余数据不仅会增加存储空间的占用,还会导致更新操作的复杂性和数据一致性的问题。因此,在进行数据库物理设计时,需要尽量避免冗余数据的产生。 此外,合理选择数据类型也是数据库物理设计的原则之一。不同的数据类型在存储空间的占用和查询性能方面有所区别。因此,在进行数据库物理设计时,需要根据实际需要选择合适的数据类型,以提高存储效率和查询性能。 综上所述,数据库物理设计的原则包括合理的数据分布、适当的索引设计、最小化冗余数据和合理选择数据类型等。这些原则在实际的数据库设计中非常重要,可以提高数据库的性能和可维护性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值