> 文章列表 > 数据库系统-数据物理存储

数据库系统-数据物理存储

数据库系统-数据物理存储

文章目录

  • 一、DBMS原理
    • 1.1 DB物理存储
      • 1.1.1 磁盘的结构&特性
      • 1.1.2 DBMS数据存储&查询原理
        • 记录:磁盘块
    • 1.2 DB文件组织方法
      • 1.2.1 无序文件组织
      • 1.2.2 有序记录文件
      • 1.2.3 散列文件(Hash File)
      • 1.2.4 聚簇文件(Clustering File)
    • 1.3 Oracle 物理存储简介

一、DBMS原理

数据库系统-数据物理存储

1.1 DB物理存储

1.1.1 磁盘的结构&特性

数据库系统-数据物理存储

1.1.2 DBMS数据存储&查询原理

数据库系统-数据物理存储

  • 记录:磁盘块 。OS的文件存储记录表(FAT)记录 数据 在哪些磁盘块当中block
  • 数据先加载到内存缓冲区中,有一个内存页page & block的对应表
  • 磁盘块Block已经装载进了磁盘页Page,有一个 记录Record & 记录所在内存位置Point的映射
    数据库系统-数据物理存储

记录:磁盘块

数据库系统-数据物理存储
数据有定长记录&变长记录(靠分隔符区分开始&结束)
数据库系统-数据物理存储
一条记录在数据块中也可以是跨块的
数据库系统-数据物理存储
数据库-表所占磁盘块的分配方法

  • 连续分配:数据块被分配到连续的磁盘块上
  • 链接分配:包含指向下一个数据库的指针(访问速度影响)
  • 按簇分配:簇连续若干的磁盘块,簇内连续分配,簇之间用指针连接,
    • 簇:也称为片段Stagement / 盘区extent
  • 索引分配:索引块中存放指向实际数据块的指针

1.2 DB文件组织方法

数据组织要考虑更新(增删改) & 检索的需求
索引会处理整个数据库、大批量处理

文件组织:数据组织成记录、块、和访问结构的方式,包括把记录和块存储在磁盘上的方式,以及记录和块之间相互联系的方法

存取方法:对文件采取的存取操作方法,可以采用多种

1.2.1 无序文件组织

heap 或 pile file
特点:记录存储在人为有空间的位置,磁盘上存储的记录是无序的。更新效率高,检索效率低
删除时,标记一下,并不是真正的删除

数据库系统-数据物理存储
多次频繁删除后,需要重新组织顺序
数据库重组: 通过移走被删除的记录使有序存放
数据库系统-数据物理存储

1.2.2 有序记录文件

排序文件Sequential
顺序加入: 存储是有序的,检索效率高
排序字段(Ordering field),通常使用关系中的主码,又称为排序码
更新效率低,解决方法:

  1. 为可能插入的数据预留空间
  2. 创造一个临时的无序文件,需要数据重组(将溢出文件合并到主文件中,并恢复主文件中的记录顺序)

数据库系统-数据物理存储

1.2.3 散列文件(Hash File)

特点:用散列函数来计算应该存放的位置(桶号bucket,块号或簇号),检索效率都挺高

散列字段(Hash field),也通常采用主码,又称散列码(Hash key)
数据库系统-数据物理存储

1.2.4 聚簇文件(Clustering File)

聚簇:将有相同或相似属性值的记录存放在连续的磁盘簇块种
多表聚簇:多个相互关联的table存储在同一个文件中,提高多表的效率
数据库系统-数据物理存储

1.3 Oracle 物理存储简介

数据库DataBase
表空间tablespace
操作系统文件Datafiledatafile
table
段segment
盘区extent
基本数据块data blocks
数据库系统-数据物理存储
逻辑存储层

  • 所有表的容量就是数据库的存储容量
  • 系统表空间:系统自动创建,用户表空间:用户创建的表
  • 表:OSFile = 1 :n

物理存储层

  • 物理存储层:段segment、盘区extent、数据块data block构成
  • 簇:特定数量连续的数据块。
  • 盘区extent是动态的,随不同数据库存储需求而调整
  • 段 一组分配了特定数据结构的盘区:数据段、索引段、临时段
  • 表:段 = m : n。一个段放置多个表数据(聚簇文件)

数据库系统-数据物理存储
SQL的create table的三种功能:

  • 定义模式
  • 定义物理存储结构
  • 定义完整约束

数据库系统-数据物理存储
数据库系统-数据物理存储