数据库最终要存储在物理设备上。对于给定的逻辑数据模型,选取一个最适合应用环境的物理结构的过程,称为数据库物理设计。物理设计的任务是为了有效实现逻辑模式,确定所采取的存储策略。数据库物理设计阶段的主要内容是以逻辑设计的结果作为输入,然后结合具体的DBMS的特点与存储设备特性进行设计,选定数据库在物理设备上的存储结构和存取方法。
数据库的物理设计可分为两步:①确定物理结构,在关系数据库中主要指存取方法和存储结构。②评价物理结构,评价的重点是时间和空间效率。
(二)确定关系模式的物理结构
负责结构设计的工作人员,需要深入探究DBMS模型的作用,结合DBMS所供给的信息环境、逻辑程序、物理配置和存储空间等资源的特征,进一步了解程序应用环境的相关准则,如各类数据信息的操作频率和运行时间等。详尽的了解才能做出科学、规范的结构设计。
1.存储记录结构的设计
在物理结构中,数据的基本存取单位是存储记录。有了逻辑记录结构以后,就可以设计存储记录结构,一个存储记录可以和一个或多个逻辑记录相对应。存储记录结构的组成较为复杂,包括信息数据的组成、数据项的种类和长短,以及逻辑程序在存储空间中的反映。某种类型的全部存储记录的集合被称为“文件”,文件的记录限度可以任意变化,可以保持一定长度,也可以随时变化。存储记录通过文件组织或文件结构来表示相关信息。文件结构的表示方法有许多种,如文件格式、逻辑思维、位置次序、访问途径和物理配置的分配。物理数据库是指数据库中实际存储记录的格式、逻辑次序和物理次序、访问路径、物理设备的分配。
存储结构特性的影响因素有很多,如存取的时间、空间以及信息维护等流程所要付出的努力。在进行结构设计的过程中,应该充分考虑上面三类因素,通过综合对比分析,总结出适宜的设计方法。DBMS模型能够为数据库提供更为丰富的选择,包括索引和聚簇。
(1)索引。
存储记录是属性值的集合,主关系键可以唯一确定一个记录,而其他属性的一个具体值不能唯一确定是哪个记录。在主关系键上应该建立唯一索引,这样不仅可以提高查询速度,还能避免关系键重复值的录入,确保数据的完整性。在数据库中,用户访问的最小单位是属性。如果对某些非主属性的检索很频繁,可以考虑建立这些属性的索引文件。索引文件对存储记录重新进行内部链接,从逻辑上改变了记录的存储位置,从而改变了访问数据的入口点。关系数据库中数据越多,索引的优越性也就越明显。一般来说:①如果一个(或一组)主关键字或外关键字属性经常在查询条件中出现,则考虑在这个(或这组)属性上建立索引(或组合索引)。②如果一个集合的函数范围经常是最大值或最小值,则可以在此属性上设立索引。③如果一个(或一组)属性经常在连接操作的链接条件中出现,则考虑在这个(或这组)属性上建立索引。
建立多个索引文件可以缩短存取时间,但是增加了索引文件所占用的存储空间以及维护的开销。因此,应该根据实际需要综合考虑。索引是在节省空间的情况下,用以提高查询速度所普遍采用的一种方法。建立索引通常是通过DBMS提供的有关命令来实现的。
(2)聚簇。
聚簇是为了进一步加快检索效率,将同一属性上具有相同值的集合置于统一空间板块中。如果空间过于拥挤,可以将其放置于与之相邻的板块中。这种属性被称为聚簇码。
聚簇的两个作用:①使用聚簇以后,聚簇码相同的元组集中在一起了,因而聚簇值不必在每个元组中重复存储,只要在一组中存储一次即可,因此可以节省存储空间。②聚簇功能可以大大提高按聚簇码进行查询的效率。例如,假设要查询学生关系中计算机系的学生名单,而计算机系有300名学生。在极端情况下,这些学生的记录会分布在300个不同的物理块中,这时如果要查询计算机系的学生,就需要做300次的I/O操作,将影响系统查询的性能。如果按照系别建立聚簇,使同一个系的学生记录集中存放,则每做一次I/O操作就可以获得多个满足查询的条件和记录,从而显著地减少了访问磁盘的次数。(www.xing528.com)
聚簇只能提高部分程序的功能,而且设立和维护聚簇的资源消耗量较大。针对已经存在的关系建立聚簇,容易导致关系集合中元素存储位置发生改变,从而导致存储在此关系上的信息失去功效,需要消耗资源重新建立。如果一个集合的聚簇码发生改变,为了保持聚簇码数值的稳定性,就需要移动存储位置,以减少聚簇值错误发生的频率,从而降低维护信息的消耗。聚簇码是用户访问数据库和与其产生关联的主要手段。
2.数据库访问方法、数据存储位置、系统配置的设计
(1)数据库访问方法的设计。
访向方法是指为存储在物理设备(通常指辅存)上的数据提供存储和检索能力的方法。一个访向方法包括存储结构和检索机构两个部分。存储结构限定了可能访问的路径和存储记录;检索机构定义了每个应用的访问路径,但不涉及存储结构的设计和设备分配。
存储记录是属性的集合。属性是数据项类型,可用作主键或辅助键。主键唯一地确定了一个记录。辅助键是用作记录索引的属性,可能并不唯一确定某一个记录。
访问路径的设计分成主访问路径设计与辅访问路径设计两部分。主访问路径与初始记录的装入有关,通常是用主键来检索的。首先利用这种方法设计各个文件,使其能最有效地处理主要的应用。一个物理数据库很可能有几套主访问路径。辅访问路径是通过辅助键的索引对存储记录重新进行内部链接,从而改变访问数据的入口点的。用辅助索引可以缩短访问时间,但增加了辅存空间和索引维护的开销。设计时应根据具体情况做出权衡。
(2)数据存储位置的设计。
为了进一步优化数据库的运行,应该结合逻辑程序的各个组分(容易变化的部分、稳定性高的部分、存取频繁的部分以及存取频率低的部分),设置规范、合理的开放原则。例如,目前许多计算机都有多个磁盘,因此可以将表和索引分别存放在不同的磁盘上,在查询时,两个磁盘驱动器并行工作可以提高物理读写的速度。在多用户环境下,可以将日志文件和数据库对象(表和索引)放在不同的磁盘上,以加快存取速度。
(3)系统配置的设计。
DBMS产品一般都提供了一些系统配置变量、存储分配参数,供设计人员和DBA对数据库进行物理优化。系统为这些变量设定了初值,但是这些值不一定适合每一种应用环境。在物理设计阶段,要根据实际情况重新对这一变量赋值,以满足新的要求。
(三)评价物理结构
确定了数据库的物理结构之后,要进行评价,重点是时间效率和空间效率。评价物理数据库的方法完全取决于所选用的DBMS,主要是从定量估算各种方案的存储空间、存取时间和维护代价入手,经权衡、比较估算结果,选出一个较为合理的物理结构。如果评价结果满足设计要求,则可进行数据库实施。实际上,往往需要经过反复测试才能优化物理结构设计。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。