美文网首页
数据库的物理设计

数据库的物理设计

作者: 诺晓仁 | 来源:发表于2017-04-25 09:20 被阅读171次

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. 索引是如何选择的

相关文章

  • Power Designer—数据库设计步骤

    数据库设计步骤 需求分析 — 概念结构设计 — 逻辑结构设计 — 物理结构设计 — 数据库的建立和测试 — 数据库...

  • 数据库设计

    一、数据库设计概念 1. 数据库的生命周期 ①数据库分析与设计阶段包括需求分析、概念设计、逻辑设计和物理设计。②数...

  • 计算机二级java程序语言设计

    公共基础 数据库 数据库设计过程主要包括需求分析、概要结构设计、逻辑结构分析、数据库物理设计、数据库实施、数据库运...

  • 数据库逻辑设计

    数据库设计 数据库设计包含需求设计、逻辑设计、物理设计和维护优化。 需求分析:全面了解产品设计的存储需求(存储需求...

  • 2018-08-29 数据库设计

    数据库设计的过程:需求分析阶段;概念结构设计阶段;逻辑结构设计阶段;数据库物理设计阶段;数据库实施阶段;数据库运行...

  • 数据库设计

    数据库设计的基本步骤:需求分析概念结构设计逻辑结构设计物理结构设计数据库实施数据库运行和维护 数据字典概念:它是关...

  • 计算机三级

    1、数据模型:数据结构、数据操作、完整性约束 2、数据库应用系统设计包括 概念设计、逻辑设计、物理设计 3、数据库...

  • 数据库设计:物理设计

    1、选择合适的数据库管理系统 MySQL存储引擎特点:大部分使用Innodb 2、定义数据库、表及字段的命名规范 ...

  • 数据库设计过程包括哪几个主要阶段

    内容来源(公众号:PHP版WEB项目)数据库设计过程包括需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库...

  • 数据库结构优化

    [TOC] 前言:良好的数据库结构逻辑设计和物理设计师数据库获得高性能的基础 数据库结构优化的目的 减少数据冗余 ...

网友评论

      本文标题:数据库的物理设计

      本文链接:https://www.haomeiwen.com/subject/irrmzttx.html