记录及记录集存储结构的探讨

来源 :中国校外教育·理论 | 被引量 : 0次 | 上传用户:qq540531049
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]本文探讨了数据库管理系统中记录及记录集的存储结构技术。
  [关键词]记录 记录的存储 记录集合的存储
  
  一、引言
  
  数据库中的数据是用来描述现实世界中具体事物的。在关系模型中,通常把那些描述事物所必需的属性组合起来,构成一个元组,使得每一个元组正好表示现实世界中的一个事物。每一个元组对应着存储结构中的一个数据记录,每个逻辑页面内可以存放若干个数据记录。怎样把一个元组描述成一个数据记录呢?
  
  二、记录和记录类型
  
  数据通常都以记录(record)的形式存储的。每条记录有相关的数据值或数据项汇集组成,其中每个值由一个或多个字节构成,并与记录中的一个特定字段(field)相对应。记录通常描述实体及其属性。举例来说,一个Employee记录表示一个雇员实体,记录中的各个字段值指定了该雇员的一些属性,例如Name、Birthday、Salary等。字段名及其相应数据类型的汇集构成了一个记录类型(record type)或记录格式(record format)定义。与各字段相关的数据类型(data type)指定了此字段可取值的类型。
  字段的数据类型通常是编程时使用的标准数据类型。其中包括数值型(整型、长整型或浮点型)、字符串(定长或变长字符串)、布尔型(只能取0和1或TRUE或FALSE这样的值),有时还有专门编码的日期和时间数据类型。对于给定的计算机系统,各数据类型所需的字节数是固定的。一个整型可能需要4个字节,一个长整型需要8个字节,一个实数型需要4个字节,一个布尔型需要1个字节,一个日期型需要10个字节(假设日期的模式是YYYY-MM-DD),k个字符组成的定长字符串需要k个字节,变长字符串需要的字节数等于各字段值中的字符数。例如,可以用C程序设计语言表示法将Employee的记录类型定义为以下结构。
  Struct employee{
  Char name[30];
  Char ssn[9];
  Int salary;
  Int job_code;
  Char department[20];
  };
  
  三、文件、定长记录和变长记录
  
  文件是记录的序列。在许多情况下,一个文件中的所有记录均属于同一种记录类型。如果文件中所有的记录的长度均相等(以字节计),则称这个文件是由定长记录(fixed-length record)组成的。如果文件中的不同记录的长度也不同,则称这个文件是由变长记录(variable-length record)组成的。文件之所以会有变长记录是因为:
  1.文件记录均属于同一记录类型,但有一个或多个字段是变长的(变长字段)。例如,EMPLOYEE中的name字段就可能是变长字段。
  2.文件记录均属于同一记录类型,但有一个或多个字段对应的单个记录有多个值,这样的字段成为重复字段(repeating field),该字段的一组值通常称为重复组(repeating group)。
  3.文件记录均属于同一记录类型,但有一个或多个字段是可选的(optional)。也就是说这个文件中有些记录在该字段上有值,但并非该文件的所有记录在该字段上都有值(可选字段)。
  4.文件包含不同记录类型的记录,因此是变长的(混合文件)。如果不同类型的相关记录在磁盘中聚簇存储,就会出现这种情况。例如,某个学生的grade-report记录可能紧跟在student记录后面。
  由此可以看出,不同记录由于其属性值的不同,存储空间的大小也不相同,那么如何存储元组就需要过细的考虑。
  
  四、记录的存储
  
  1.定长记录的存储
  存储记录的一种最简单的方法是固定长度的定长记录法,即元组的属性字段的数目是固定的,每个属性字段的长度也是固定的,对属性值长度不规整的取其最长的长度。如上述的employee关系可定义其记录的存储结构的长度为:
  
  采用特殊分隔符的方法克服了上面定长记录浪费空间的缺点,方法也简单,但其缺点是不易于找到合适的保留字符,必须保证数据中都不会出现保留字符,特别对二进制数据就更困难。
  变长记录法的另外一种形式叫首部指针法,即在每个记录的首部都设置若干个指针,分别指向第一个属性值结束第二个属性值开始,第二个属性值结束第三个属性值开始,…,倒数第二个属性值结束倒数第一个属性值开始的位置,如下图2所示。
  首部指针法中的指针可能占用较大空间,其改进的办法是用属性字段的长度来代替指针,此外,对于记录中的定长属性字段值,若每一记录均用数字标明其长度,对于大量存储的记录也开销太大,可以在目录中将各定长属性字段的长度予以记载,在存储记录时只指示变长属性字段的长度。这样可以节约大量的存储空间。上面的例子可以如下图3表示。其中,V表示变长属性字段,F表示定长属性字段。
  这种把变长属性字段的当前长度予以显式指明的办法还可以用于对关系中新属性字段的扩充,扩充了新属性的元组可将其新属性和新属性字段长度附加在记录的尾部,从而无须更动原来的存储结构而只需在目录中稍加说明即可完成新属性的扩充。
  
  五、记录集合的存储
  
  对于记录的集合其存储的结构也有多种方式。
  1.记录集顺序存储法(如下图4所示)
  它将一组记录顺序存储,称之为表(List),其优点是节省存储空间,顺序连续存取时效率最高。缺点是不灵活,只能表示记录之间的一种关联,一种顺序,当存在其它关联时则无法表示。再插入或删除记录时其存储结构会发生变化。
  2.链式存储法(如下图5所示)
  这里的每个记录都附有一个指针,指向下一个记录的位置,因此在插入和删除记录时就很方便,只需将指针值改变即可。这种灵活性的代价是每个记录多存储一个指针。
  3.变长指针法(如下图6所示)
  这种方式为指针集中邻接存放,也较灵活,它的名字叫变长指针法,也叫指针阵列法(Pointer Array)。
  4.指针链式存储法(如下图7所示)
  这种存储方法最为灵活,但存储开销和存取开销也最大,查找一个记录需要存取两次。
  
  
  六、结束语
  
  以上给出了记录与记录集合的不同存储结构,使我们对数据库管理系统中文件记录及记录集合有了初步的认识,在具体实践时可以依照应用需求灵活选用。
  
  参考文献:
  
  [1]施伯乐,丁宝康,周傲英,田增平.数据库系统教程[M].北京:高等教育出版社,1999.
  [2]张龙祥,黄正瑞,龙军.数据库原理与设计[M].北京:人民邮电出版社,2007.
  (作者单位:安徽城市管理职业学院)
其他文献
八十年代以来,随着信息化社会的到来,日本农业和农村的信息化不断发展。尽管其水平在诸产业中处于后进地位,但是在日本这种农业与经营的条件下,应该说能达到目前这种程度还是
摘 要:学校教育是个人成长过程中非常重要的阶段,在具体教育过程中,教师是实施教育的执行者,特别是班主任,除了承担专业教育的职能外,还要承担繁重的教育管理工作,在与学生的沟通中如果缺乏有效的沟通,采用暴力语言模式和方法,会对学生的情感和精神上造成创伤,同时也会造成师生之间的隔阂和障碍。  关键词:非暴力;初中班主任;管理工作;应用策略  中图分类号:G62 文献标识码:A   文章编号:1
摘 要:在寄宿制学校当中,学生和教师相处的时间比较多,因此对于教师来说构建良好的师生关系对于培养学生的全面发展,促进学生身心健康发展都有着非常重要的作用。教师要注重和学生之间的交流与沟通,通过灵活的教学方法让学生对教师产生信任感和依赖感。通过巧妙的教学方法构建良好的师生关系,促进学生的全面发展。本文就针对如何在寄宿制学校构建良好的师生关系展开讨论。  关键词:寄宿制学校;师生关系;全面发展  中图
哲学课是一门哲理性、逻辑性、科学性很强的课程。在讲授这一课程时往往会感到抽象、枯燥、单调,激发不起学生们的学习积极性。近两年来我院利用电教手段结合教学要求,播放了
期刊
牛膝,味苦酸、平、无毒,野生于山坡、路旁向阳处,农历7~8月采根入药,临床用散血、止痛,强筋骨.笔者据当地民间方法,用牛膝治疗痛经取得满意效果.
DPM二维码技术是自动识别技术的延伸应用,该技术可以在零部件表面上实现直接标识,而不再是将二维码打印在标签上后再黏贴在零部件上,此外DPM二维码无法被擦除或涂改,在后续的产品加工过程中也不会带来干扰,DPM二维码技术是今后制造业信息追溯管理中一种有效手段。在许多情况下,零部件上平整的面积都不大,所以上面允许标记DPM二维编码的面积相对小,为了在更小的面积上能够容纳更多的信息,就需要选择编码密度较高
目的:观察肝脂康胶囊对非酒精性脂肪肝动物模型的超微结构变化,为临床提供形态学依据.方法:采用高脂饮食造成脂肪肝动物模型,以东宝肝泰作对照,实验结束时取肝组织分别制作病理切片和电镜,观察模型大鼠超微结构的变化.结果:模型组大鼠肝细胞脂变严重,出现炎症浸润、变性、坏死,电镜可见线粒体变形、肿胀,内质网扩张等超微结构变化.经肝脂康胶囊治疗,肝脂康胶囊组对肝细胞超微结构有显著恢复,脂变程度明显减轻.同时病
为繁荣辽宁文学翻译事业,促进中外文学交流,由辽宁省作协等六单位联合发起此次评选活动。范围为近十年来在辽宁省刊物或辽宁籍译者在国内外公开发表的文学翻译
日本明治政府处理官营企业述论辽宁大学日本研究所车维汉19世纪70-80年代,日本明治政府大力推行“殖产兴业”政策,在开发铁路和电信事业的同时,又开办了一批由官府直接经营的企业。然而