一种减少数据库冗余的方法技术

技术编号:2826475 阅读:742 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及数据库中的数据处理方法,特别是一种减少数据库冗余的方法。该设计的数据库中,设计一个备注字段用来存放用户需要保存、字符宽度比较大的多个字符型字段内容,通过程序控制分别把输入的数据保存在备注字段中的某一行并在数据后加入特殊字符,这样就保证了每一个字段内容对应于备注字段中的特殊字符之间记录内容。本方法主要解决现有数据库在字段设置中容易产生大量冗余的技术问题,提高了数据库对存储空间的利用率。

【技术实现步骤摘要】

本专利技术涉及数据库中的数据处理方法,特别是一种减少数据库冗余的方法
技术介绍
一般在各类数据库管理系统中,都要设计成许多数据库。通常数据库中个字段的名称、类型、宽度都是根据用户的实际需要在系统开发时设计完成的,系统运行时大多不会改变数据库的结构类型。系统设计中如果数据库中字段的类型、宽度大小设计不合适,将会造成大量的数据空间的浪费。VFP数据库管理系统数据库的特性是,当增加一条数据库记录时,即使没有输入任何数据,也要占用相当的磁盘空间。因为在设计一个数据库结构时,每个字段都要考虑最大输入情况,这样即使大多数记录的数据内容不多,也要占用同样多的数据空间。当一个数据库中的记录数非常大时,就会造成大量磁盘空间的浪费。当在VFP6系统中建立一个数据表时,如果数据表中存在一个以上的备注字段,将会产生一个与该数据表同名的备注文件,后缀为.FPT。当其中一个字段数据的类型为备注型(M)时,该数据表就会为备注字-->段预留4个字节作为其字段的特殊数据,这4个字节并不是用来保存数据的,而是用来存放该条记录的备注字段数据在备注文件(.FPT)中的位置,它相当于一个指针,负责指出该记录备注字段的数据库存放在备注文件中的位置。备注文件中包含一个头记录以及任意数目的快结构。头记录中包含指向下一个子有块的指针以及以字节为单位表示块的大小。头记录之后是包含块标头与备注文本的各个块,表文件中包含有用于引用备注块的块编号。备注文件中某个块的位置可由该块的编号与块的大小相乘得到。所有的备注块均由偶数的块边界地址开始。每一备注块可以占用一个以上的连续块。备注块是备注字段的最小处理单位。在每个备注块前面的8个字节是系统占用的,这8个字节前四个字节指明块中数据的类型,第5到第8个字节代表该备注字段的长度,这样,当我们设置备注块大小为64时(系统默认长度为64),每个备注块实际只能存放64-8=56个字节。当存放的数据大于56个字节时,将会增加一个备注块。因此,当我们建立一个数据表时,应根据数据表存放数据的内容来确定备注块的大小,系统默认的备注块大小为64个字节,使用设置命令SET BLOCK-SIZE TO nBytes指定系统为备注字段分配磁盘空间的块的大小,如果nBytes等于0,磁盘空间按单个字节分配,如果nBytes为1-32之间的一个整数,系统分配磁盘空间块大小为nBytes乘以512,nBytes值大于32,系统将会将nBytes看做备注块的大小。一般情况下,可以通过mline()读取备注中某一行中的数据值,-->而备注字段每一行的字符大小可以通过SET MEMOWIDTH TO nColumns来指定备注字段的宽度,这个nColumns值得大小在8到8192之间,用户可以根据数据库中某一宽度最大字符型字段的宽度设置这个值,如在数据库中家庭住址为最大值,最多需要60个字符宽度,那么我们可以把nColumns的设置为60,这样就完成了对备注字段的设置。
技术实现思路
本专利技术的目的是提供一种减少数据库冗余的方法,主要解决现有数据库在字段设置中容易产生大量冗余的技术问题,提高了数据库对存储空间的利用率。为解决上述技术问题,本专利技术是这样实现的:一种减少数据库冗余的方法,其特征在于:该设计的数据库中,设计一个备注字段用来存放用户需要保存、字符宽度比较大的多个字符型字段内容,通过程序控制分别把输入的数据保存在备注字段中的某一行并在数据后加入特殊字符,这样就保证了每一个字段内容对应于备注字段中的特殊字符之间记录内容。所述的的减少数据库冗余的方法,其特征在于:其特征在于:该特殊字符时回车换行字符。藉由上述技术方案,本专利技术具有的技术效果是:通过本专利技术方法,保证了在备注字段中只存放有用的数据内容,而不保存后缀空格等无用信息,当大宽度字符型字段比较多并且数据-->库的记录数非常大时,利用这种方法减少数据冗余效果更加明显。具体实施方式以下通过一个简单的实施例来演示本专利技术方法:一个数据库,包括姓名、性别、其它内容三个字段,这里姓名、性别为字符型,宽度分别为8和2,其它内容设为备注类型,存放工作人员的联系电话、工作单位、家庭住址、通信地址等内容,设计完成后,增加一条空记录内容。新建一个表单,表单中的姓名、性别编辑框对应于数据库中相应的数据字段,在表单中的INIT时间中写入如下代码:SET MEMO-WIDTH TO 60&&以下为编辑框提取数据内容;Thisform.text3.value=MLINE(其它内容,1)Thi sform.text4.value=MLINE(其它内容,2)Thisform.text5.value=MLINE(其它内容,3)Thi sform.text6.value=MLINE(其它内容,4)在联系电话、工作单位、家庭住址、通信地址编辑框中的LOSTFOCUS事件中分别写入如下代码:NRW=1&&表明该字段内容为备注字段中第几条内容,1代表联系电话,2代表工作单位,3代表家庭住址,4代表通信地址;NR=”-->FOR I=1 TO 4&&代码共有4个字段内容取自备注字段,用户可根据情况来设定;IF I=NRWZNR=NR+ALLT(THIS.VALUE)+CHR(13)ELSENR=NR+MLINE(其它内容,I)+CHR(13)ENDIFENFFORREPL其它内容WITH NR运行这个表单可以看到,输入在编辑框中的数据将会保存在备注字段中,下次运行时刻将备注字段中的内容取出来,这样就减少了磁盘的运用空间。综上所述仅为本专利技术的较佳实施例而已,并非用来限定本专利技术的实施范围。即凡依本专利技术申请专利范围的内容所作的等效变化与修饰,都应为本专利技术的技术范畴。-->本文档来自技高网
...

【技术保护点】
一种减少数据库冗余的方法,其特征在于:该设计的数据库中,设计一个备注字段用来存放用户需要保存、字符宽度比较大的多个字符型字段内容,通过程序控制分别把输入的数据保存在备注字段中的某一行并在数据后加入特殊字符,这样就保证了每一个字段内容对应于备注字段中的特殊字符之间记录内容。

【技术特征摘要】
1. 一种减少数据库冗余的方法,其特征在于:该设计的数据库中,设计一个备注字段用来存放用户需要保存、字符宽度比较大的多个字符型字段内容,通过程序控制分别把输入的数据保存在备注字段中的某一行...

【专利技术属性】
技术研发人员:项敏王晓崎
申请(专利权)人:上海市民办文绮中学项敏
类型:发明
国别省市:31[]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1