数据库的物理设计

1. 物理上看,数据记录是如何存储的

先看 每一条数据项是如何存储的;
然后 看这些数据项组成的记录是如何存储在物理块上的;
之后 看这些物理块磁盘上是如何分配的;
从而 明白整个数据记录的存储方式。

1.1 数据项的存储方式

(1)定位法

只能表示定长记录的方法。换句话说,不同数据项之间是通过长度来区别分开来的,系统为每个数据项按照最大的标准分配定长的字段,空白部分就用空白字符来填充。
优点简单,使用最广
缺点:空间利用率低,尤其是当数据的长度参差不齐时。

(2)相对法

可表示可变长记录的存储方法。不同数据项之间使用分隔符来分开
优点:空间利用率比定位法高。

(3)索引法

可表示可变长记录的存储方法。每个数据项用一个指针指向其首地址,以此区分不同数据项。
优点:空间利用率高。

(4)标号法

可表示可变长记录的存储方法。没和数据项用一个特定的标号开头。
比如SN WANG FN LING SX MALE YR 1982
其中的斜体SN表示surname,SN表示firstname,SX表示sex,YR表示year of birth。
优点:空间利用率高
缺点:当记录的数据项个数较多时,标号本身也占用了大量的空间。

1.2 记录在物理块上的分配

磁盘与内存交换数据是以物理块为基本单位进行的,也就是说,每次访问磁盘,至少存取一个物理块。
当记录很小时,记录不跨块,全部在一个物理块中,叫做不跨块组织;
当记录很大时,记录跨块存放,分在不同的物理块,叫做跨块组织。
跨块时,物理块的尾部存放下一个物理块的地址。

1.3 物理块在磁盘上的分配

早期的DBMS中,是由操作系统分配数据库的物理块的,逻辑上相邻的数据往往被分配到磁盘的不同区域,在连续访问数据库中的数据时,系统性能会严重下降。现代的DBMS中,系统一次性向操作系统申请所需要的磁盘空间。

(1)连续分配

将一个文件的块分配在磁盘的连续空间,块的次序就是它们存储的次序。
优点:顺序存取非常有效
缺点:不利于文件的扩充和修改

(2)连接分配

逻辑上相邻的物理块之间采用指针链接。
优点:有利于文件的扩充和修改
缺点:存取效率低

(3)簇集分配

把文件分为若干簇集,文件中相关记录存放在一个物理块或相邻的物理块,各簇集之间使用指针链接。
优点:有利于检索速度的提高
缺点:重新分配簇集时会引起大量数据的搬移

(4)索引分配

每个文件有一个逻辑块号与其物理块地址对照的索引。通过索引,可以查询到文件中任一块的地址。
优点:分配方法灵活,扩充、修改方便
缺点:访问增加了逻辑块号到物理块地址映射的开销;连续访问性能不高。

1.4 (附加)数据压缩的方式介绍

(1)消零或空白符法

使用一种特殊符号来表示零或者空白符,比如使用 “#5” 来表示空白符 “bbbbb”

(2)模式代替法

使用一省略符来代替重复的字符串,比如使用 “@#” 来表示 “东南大学软件学院“ ,然后配套一个模式表:
东南大学:@
软件学院:#

(3)索引法

索引法是模式替代法的一种变种,将经常出现的模式使用指针而非省略符来代替。指针指向模式表。

2. 逻辑上看,数据库是用什么样的结构进行存储的

3. 簇集是如何设计的

4. 索引是如何选择的

你可能感兴趣的:(数据库的物理设计)