0
点赞
收藏
分享

微信扫一扫

(P6)数据库系统下-记录与表在磁盘上的存储


文章目录

  • ​​1.数据库记录到磁盘的映射​​
  • ​​2.数据库记录在磁盘上的存储​​
  • ​​3.数据库-表所占磁盘块的分配方法​​

1.数据库记录到磁盘的映射

如何把数据库中的记录映射到磁盘中

  • 数据库概念与磁盘相关概念的映射示意
    一个表如何确定他的磁盘块,这就是存储模式;
    DBMS是表与磁盘块的映射,OS是文件与磁盘块的映射;

2.数据库记录在磁盘上的存储

数据库中记录的区分及记录内属性值的区分

定长记录与变长记录

  • 一条记录如何存储在磁盘上?存储在磁盘上如何区别这是一条记录?
  • 数据库记录在磁盘上的存储可以分为:定长记录,变长记录(靠分隔符区分开始与结束)
    eg:定长记录:每43个字节区分一条记录,然后在此基础上确定属性值,每个属性值都有固定的长度;
    变长记录:Oracle有可变长字符串,可长可短,每条记录或属性中加一些标志(指针)来区分;
  • 一个典型磁盘块的eg
    每个磁盘块都有一个块头,块头中包括:记录的个数,每条记录存放的位置(指针,通过指针知道读写的位置将其读写出来);
    若记录的空间不够怎么办?Oracle会留一些可扩展的空间;

记录是非跨快存储还是跨快存储(靠指针)

(P6)数据库系统下-记录与表在磁盘上的存储_oracle

3.数据库-表所占磁盘块的分配方法

连续分配: 数据块被分配到连续的磁盘块上(会存在扩展困难问题)
链接分配: 数据块中包含指向下一数据块的指针(访问速度问题)
按簇分配: 按簇分配,簇是若干连续的磁盘块,簇之间靠指针连接;

  • 簇有时也称片段Segment或盘区extent

索引分配: 索引块中存放指向实际数据块的指针

(P6)数据库系统下-记录与表在磁盘上的存储_属性值_02


举报

相关推荐

0 条评论