数据库结构设计(下)-数据库技术

欢迎您阅读此系列文章,文章参考自《全国计算机等级考试三级教程.数据库技术》。内容为书籍主要知识点以及常考点,阅读此系列文章可以帮助您快速、轻松考取相应证书!祝您阅读愉快!获取知识点电子文档地址:https://gitee.com/yjs0612/ncre 整理不易,希望可以帮助到你!

前言

数据库应用系统设计包括概念设计、逻辑设计、物理设计三个步骤。

数据库概念设计主要解决数据需求及如何准确地理解数据需求,是面向现实世界的。

数据库逻辑设计的任务是把数据库概念设计的结果ER模型转化为具体的数据库管理系统支持的数据模型,数据库逻辑设计是面向机器世界的。

数据库物理结构是影响数据库系统功能和性能的重要因素,DBMS所采用的数据操作算法、查询、优化、处理方法等都与数据库物理结构密切相关。

物理设计概述

通过数据库概念设计和逻辑设计已经得到了规范化的关系模式。尽管关系数据库模式是按照关系数据库管理系统支持的结构进行数据的组织和描述的,然而这些符号表示并不能解释如何处理和存储数据。

目的:将数据的逻辑描述转换为实现技术规范。

目标:设计数据存储方案,以便提供足够好的性能,并确保数据库数据的完整性,安全性和可恢复性。

注意:数据库物理设计并不包括文件和数据库的具体实现细节。在这个阶段,选择数据存储方案,以加快数据检索速度。因此在物理设计时需要了解不同文件组织方式、索引技术及其使用方法。

数据库的物理结构

应用数据在实际数据库管理系统和操作系统平台下的具体存储结构和数据存取方式即数据库的物理结构。

数据库中的应用数据是以文件形式存储在外设存储介质,如磁盘上的,文件在逻辑上被组织成记录的序列,也就是说每个DB文件可以看作是逻辑记录的集合。

一个文件在物理上可以看作是由存放文件记录的一系列磁盘块组成的,称之为物理文件。

文件的逻辑记录与磁盘块间的映射关系是由操作系统或DBMS来管理的。

从数据库物理结构角度需要解决如下几个问题:

一、文件的组织。如何将数据库映射到操作系统文件中。

二、文件的结构。也称为文件中记录的组织。如何将DB文件的逻辑记录映射到物理文件中的磁盘块。

三、文件的存取。

四、索引技术。

索引

索引技术

索引技术是一种快速数据访问技术,它将一个文件的每个记录在某个或某些域(或称为属性)上的取值与该记录的物理地址直接联系起来,提供了一种根据记录域的取值快速访问文件记录的机制。

索引技术的关键是建立记录域取值到记录的物理地址间的映射关系,这种映射关系称为索引。

索引为性能带来好处的代价:

一、索引在数据库中占用一定的存储空间。

二、在对数据进行插入更改或删除操作时,为了使索引与数据保持一致,还需要对索引进行维护,需要花费时间。

索引技术分类

根据索引的实现方式索引技术被分成两大类:有序索引和散列索引。

\1. 有序索引

有序索引技术也称为索引文件机制。有序索引技术利用索引文件实现记录域(查找码)取值到记录物理地址间的映射关系。

索引文件由索引记录组成,每个记录中记载着一个索引项,索引项记录了某个特定的查找码值和具有该值的数据文件记录的物理地址。查找码也称为排序域

应用场景:当需要访问数据文件中某个数据记录时,先根据记录域取值查阅索引文件,找到对应的索引项,从索引项中找出数据记录在数据文件中的物理地址,然后根据这个地址存取数据记录。

2.散列索引

散列技术也称为哈希索引机制。

散列技术利用一个散列函数实现记录域取值到记录物理地址间的直接映射关系。这里的记录域就是查找码,也称为散列函数的散列域或排序域

应用场景:当需要访问数据文件中查找码值为Si的某个或某些目标记录时,将Si作为散列函数H的输入,计算得出的散列函数输出值,HSi就是目标记录在数据文件中的物理地址。

注:查找码可以是关系表的主码和候选码也可以是关系表的其他非主属性。

有序索引

数据文件和索引文件是有序索引技术中的两个主体。数据文件,也称为被索引文件或主文件。

有序索引作为基于索引文件的索引技术。

当需要采用有序索引机制快速访问一个数据文件时,首先要为该数据文件建立一个索引文件,索引文件是索引记录或索引项的集合。

索引文件建立方法如下:

1.选定查找码

首先选定数据文件中的某个或某些记录域作为查找码。

2.建立映射关系

然后建立起数据记录在查找码上的取值与该记录的物理地址间的映射关系,组成索引项。

3.索引项存储在索引文件

所有索引项作为索引记录存储在索引文件中。

4.索引文件组织为顺序文件

索引文件根据某个特定的查找码值的升序或降序存储索引记录,并且也组织为顺序文件。

注意:索引建立在查找码上。一个数据文件可以有多个查找码和多个索引文件。

有序索引有多种多样的形式,根据索引(文件)本身的性质主要有以下几类有序索引。

  • 一、聚集索引和非聚集索引。

数据文件中数据记录的排列顺序与索引文件中索引项的排列顺序相一致,或者说索引文件按照其查找码指定的顺序与数据文件中数据记录的排列顺序相一致,则称为聚集索引,否则称为非聚集索引。

在一个数据文件上,除了可以建立一个聚集索引外,还可以建立多个非聚集索引。

如果一个数据文件按照某个查找码组织为顺序文件,同时在该数据文件上又建有聚集索引,则该数据文件称为索引顺序文件。

  • 二、稠密索引和稀疏索引。

数据文件中的每个查找码值在所有文件中都对应一个索引记录则称为稠密索引。如果只是一部分查找码的值有对应的索引记录,则该索引称为稀疏索引。

  • 三、主索引和辅索引。

在数据文件的主码属性集上建立的索引称为主索引

在数据文件的非主属性上建立的索引称为辅索引。

  • 四、唯一索引。

唯一索引可以确保索引列不包含重复的值。

  • 五、单层索引和多层索引。

单层索引也称为线性索引,其特点是索引项根据键值在所有文件中顺序排列,组织成一堆线性结构,每个索引项直接指向数据文件中的数据记录。可以对索引文件中的索引项本身再建立一级索引,组成多层索引结构。

多层索引的典型例子是数据库系统中广泛应用的B树和B+树索引。

数据库物理设计

物理设计内容

数据库物理设计着眼于数据库底层的物理存储与存取,与DBS所依赖的硬件环境,操作系统和DBMS密切相关。目标是得到存储空间占用少,数据访问效率高和维护代价低的数据库物理模式。

数据库物理设计主要包括以下环节:

1.数据库逻辑模式描述。

2.文件组织与存取设计。

3.数据分布设计。

4.确定系统配置。

5.物理模式评估

数据库逻辑模式描述

数据库逻辑设计产生了数据库的逻辑结构,其中有数据库的关系模式、关系模式上的完整性约束和面向具体应用的业务规则。

数据库逻辑模式描述过程:数据库物理设计需要根据数据库逻辑结构信息设计目标DBMS平台可支持的关系表(这里称为基本表)的模式信息,这些模式信息代表了所要开发的具体目标数据库的结构。即根据逻辑结构信息设计关系表的模式信息。

主要包括以下设计内容:

1,面向目标数据库描述基本表和视图。

采用目标DBMS所支持的建表语法,描述基本表及满足应用要求的完整性约束。

2,设计基本表业务规则。

在数据库逻辑设计阶段,已经面向各关系模式设计了面向应用的完整性约束,也就是关系表业务规则。进一步的,在数据库物理设计阶段,可以依据这些关系表业务规则,利用目标DBMS提供的完整性控制机制设计基本表应遵守的面向应用的完整性约束,也就是基本表业务规则。

DB文件组织与存取设计

一个好的数据库物理模式应当满足存储空间占用少、数据访问效率高和维护代价低的要求,为了进行有效的数据库文件组织和存取路径设计,必须分析和理解数据库事务的数据访问特性。

根据事物数据访问特性分析结果,可以对基本表设计成为更有效的文件组织和索引方式。每种DBMS平台都提供一种或若干种数据库文件结构,如堆文件、顺序文件、聚集文件、索引文件和散列文件 。

1.文件组织

数据库物理结构设计者应当了解目标DBMS提供的各种数据库物理结构机制,根据应用系统实际情况,为数据库和基本表选择合适的文件结构。

为基本表选择合适的文件结构的原则有如下:

堆文件:基本表中的数据量很少,操作频繁。堆文件无需建立索引维护,代价非常低。

顺序文件:查询条件定义在查找码上。顺序文件支持基于查找码的顺序访问也支持快速的二分查找。

散列文件:查询是基于散列域值的等值匹配,特别是访问顺序是随机的。

但散列文件组织不适合下述情况:

1.基于散列值域值的非精确查询。如模糊查询、范围查询。

2.基于非散列域进行的查询。

聚集文件:对于频繁执行且需要进行多表连接操作查询的基本表。

B-和B+树文件(属于索引文件结构):定义在大数据量基本表上,基于查找码的等值查询、范围查询、模糊查询和部分查询。B-和B+树属于动态索引,可以随着数据文件的内容变化不断调整,保证数据查询的性能不会恶化。

2.存取路径设计

对数据库中的基本表等数据库对象选择了合适的文件结构后,还需要为其设计存储路径,设计内容包括为数据库文件设计合理的物理存储位置和为基本表设计索引。

索引可以提高文件存取速度,改善大数据量文件的访问性能。但索引是由DBMS管理的,它的建立和维护需要一定的系统开销。索引本身还会占用一定的存储空间。因此必须权衡考虑索引的优点和索引的维护代价。根据下述原则决定是否为一个基本表建立索引:

1,对于经常需要进行查询、连接、统计操作,且数据量大的基本表可以考虑建立索引。

2,对于一个更新频繁的表应少见或不见索引。

3,索引可随时创建或删除以提高数据查询性能。

对于基本表可考虑在下面一些属性上建立索引:

1.表的主码。

2.在WHERE查询子句中引用率较高的属性。

3.参与连接操作的属性。

4.在ORDER BY子句GROUP BY子句中出现的属性。

5.在某一范围内频繁搜索的属性。

但只有当使用索引的查询其结果不超过记录总数的20%时,索引才会有明显效果。

6.如果在子句中同时包含一个表中的多个属性,则可以考虑在这些属性上建立多属性索引。

7.当一个属性有相对较多的不同值时使用索引有明显的作用,当一个属性的不同值很少时使用索引没有好处。

8.对于包含大量空置的属性建立索引时,要仔细考虑。

数据分布设计

1.不同类型数据的物理分布

各种数据在系统中的作用不同,使用的频率也不一样,应根据实际使用情况存放在合适的物理介质上,以优化系统I/O性能。

数据库备份数据、日志文件备份数据用于故障恢复,使用频率低,而且数据量很大,可以存储在磁带中,而应用数据索引和日志,则使用频繁、要求的响应时间短,必须放在支持直接存取的磁盘存储介质上。

2.应用数据的划分与分布

对基本表的划分可以依据以下不同原则:

1.根据数据的使用特征划分。

2.根据时间地点划分。

3.分布式数据库系统(DDBS)中的数据划分。

DDBS采用水平划分或垂直划分两种方法,将基本表分为若干分区,并可根据需要为分区设计合适的副本。

水平划分:将一张基本表划分为多张具有相同属性、结构完全相同的子表,子表包含的元素是基本表中的元组的子集。

垂直划分:将一张基本表划分为多张子表,每张子表包含的属性是原基本表的子集。

3.派生属性数据分布

基本表中的派生属性是指该属性的取值可根据表中其他属性的取值唯一确定。

对带有派生属性的基本表可采用如下两种实现方式。

1.将派生属性作为基本表中单独的一列称为派生列

2.派生属性不出现在基本表中。

4.关系模式的区规范化

在数据库逻辑设计阶段,由ER图转换得到的关系模式,必须经过规范化处理以避免关系表使用过程中出现插入异常,删除异常,更新异常和数据冗余问题。

关系模式规范化过程实质上:将一个关系模式分解为一系列子模式,使得子模式可以满足更高一级的范式要求。

在数据库物理设计阶段,可以根据实际需要对数据库中某些3NF、BCNF模式考虑是否可以降低其规范化程度,以提高查询效率,这成为关系模式的去规范化处理。

其他物理设计环节

确定系统配置

数据库应用系统中的DBMS和操作系统产品提供了一些与存储分配有关的配置参数,供设计人员和DBA对数据库进行配置和优化。

物理模式评估

评价物理数据库的方法完全依赖于所选用的DBMS,主要是从定量估算各种方案的存储空间、存取时间和维护代价入手,对估算结果进行权衡和比较选择出一个较优的、合理的物理结构,如果该结构不符合用户需求,则需要改进设计

 

微信关注-青年之学

本站为非盈利性站点,所有资源、文章等仅供学习参考,并不贩卖软件且不存在任何商业目的及用途,如果您访问和下载某文件,表示您同意只将此文件用于参考、学习而非其他用途。
本站所发布的一切软件资源、文章内容、页面内容可能整理来自于互联网,在此郑重声明本站仅限用于学习和研究目的;并告知用户不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。
如果本站相关内容有侵犯到您的合法权益,请仔细阅读本站公布的投诉指引页相关内容联系我,依法依规进行处理!
作者:理想
链接:https://www.imyjs.cn/archives/389
THE END
二维码
数据库结构设计(下)-数据库技术
欢迎您阅读此系列文章,文章参考自《全国计算机等级……
<<上一篇
下一篇>>
文章目录
关闭
目 录