一种决策支持系统中数据完整性的解决方法技术方案

技术编号:16287321 阅读:82 留言:0更新日期:2017-09-25 11:42
本发明专利技术公开了一种决策支持系统中数据完整性的解决方法,包括以下步骤:用桶排序算法描述数据采集过程中的数据完整性;数据库拓补结构表示;把相关的表联系起来,把前面的表的主键作为桶用于下一个表的主建和外部键的比较。由于本发明专利技术使用桶排序算法来进行数据完整性检查的算法描述,将算法的时间复杂度降低到o(N),而这样可以做到把以文本形式保存的海量原始数据导入数据库中,自动实现数据完整性约束检查。本发明专利技术采用的桶排序算法完成的完整性检查方法,降低了海量数据的处理难度和时间,减小系统运行代价。

A solution to data integrity in decision support systems

The invention discloses a method to solve the decision support system of data integrity, which comprises the following steps: describing the data integrity of the data acquisition in the process of bucket sort algorithm; database topology representation; the related table is connected, on the front of the table as a barrel for a table of the main comparison the construction and external key. Because the invention uses a bucket sorting algorithm for data integrity check algorithm description, the time complexity of the algorithm is reduced to o (N), which can save the massive raw data in the form of text into the database, automatically achieve data integrity constraint checking. The invention adopts the bucket sorting algorithm to complete the integrity checking method, thereby reducing the processing difficulty and time of the mass data and reducing the operating cost of the system.

【技术实现步骤摘要】

本专利技术涉及一种解决数据完整性的方法,特别是一种决策支持系统中解决数据完整性的方法。
技术介绍
近年来,数据采集及其应用技术受到人们越来越广泛的关注,数据采集系统也迅速地得到应用。在科学研究中,应用数据采集系统可获得大量的动态信息,是研究瞬间物理过程的有力工具,也是获取科学奥秘的重要手段之一。数据采集与处理越及时,工作效率就越高,得到的效果就越好。防洪系统中,防洪工程的种类繁多、功能差异大、覆盖面广、地域差别大、经纬度跨度大,各类工程之间既有共性,个性也很突出。防洪工程数据库按照防洪工程的类别组织分类,每类工程组成一个类别,工程之间有一个关联表联系相关的工程,工程的内部是互相关联的表集。比如黑龙江防洪防汛系统共有18类工程,180多个数据表,并按照城市、地区分类共有十几个基础数据采集点。数据完整性约束有三种,即,域完整性约束,实体完整性约束和参照完整性约束。在数据库管理系统中,要求只有符合完整性约束的数据才能录入数据库中。防洪系统的基础数据库的数据采集使用excel文件录入原始数据,这就要求对excel文件进行完整性检查,然后才能把文件内的数据导入到数据库中。由此,系统在数据采集时,有关水利工程的数据都以文本的形式保存在excel文件中,在数据导入到数据库前要求对数据进行完整性检查,数据完整性检查工作是一个无序数据的比较排序问题,其中主键和外部键的数据完整性检查是一个比较排序问题,而比较排序的最优时间复杂度为o(nlogn),并不能很好的解决大量文本数据的比较。本专利技术针对不足,根据数据库表结构的关系,证明了表之间的主键包含关系是一个偏序关系,并在此基础上应用桶排序算法,给出了一个时间复杂度为o(n)的算法同时实现了主键和外部键的比较,成功的解决了系统的数据采集工作。
技术实现思路
为解决现有技术存在的上述问题,本专利技术要设计一种将桶排序算法应用于决策支持系统中数据完整性的检查中的方法。该方法给出了一个时间复杂度为o(n)的算法同时实现了主键和外部键的比较,成功的解决了系统的数据采集工作。为了实现上述目的,本专利技术的技术方案如下:一种数据采集过程中的数据完整性算法,包括以下步骤:A、用桶排序算法描述数据采集过程中的数据完整性算法A1、在18类防洪工程中,每类工程都有一个“工程名称与代码”表,其它表的主键都包含这个表的主键。在一类工程内部,每一个表的主键都由另一个表的主键加上一个或多个属性作为此表的主键,主键的包含关系如图1所示。位于0层根节点的表是“工程名称与代码”,它的主键由它自身组成,非0层节点的表的主键由它上一层的表的主键加上其它的属性组成。在实际应用过程中,对于0层的表的记录数目小于100条,对于1层节点的表的记录数目在1000条左右,对于2层节点以上的表的记录数目大于10000行(如,河流和堤防的横断面)。假设:防洪工程数据库表的主键包含关系是一个偏序关系。证明:假设数据库中一类工程的所有表为一个集合,每个表为集合中的一个元素,表之间的主建的包含关系,作为元素之间的关系。①自反性集合中的元素的主键,主键自包含本身,所以具有自反性②反对称性集合中的元素,如图1所示,子节点元素的主键包含父节点的主键,但是父节点的主键不包含子节点的主键。所以具有反对称性。③传递性集合中的元素,如图1所示,子节点的包含在此节点分支上的所有父节点的主键,所以具有传递关系。A2、数据库拓补结构表示防洪工程数据库是一个分布式数据库,它的数据“均匀分布”在各个站点中,每个站点具有一套相同的关系,网络拓补结构如图2所示。在数据采集时,各站点使用一套相同的excel表格收集工程数据,同一类的防洪工程数据存放在同一个excel文件中的sheet中。由偏序关系的性质我们可以知道,顶层节点覆盖了底层节点,所以在实现主键完整性时,我们只需要保证根节点的数据在各个站点之间符合数据完整性,即可保证整个数据库在各个地区之间的数据主键不冲突,这种结构也可用于数据库的查询优化中。B、数据采集完整性检查常见的数据完整性约束有三种,即,域完整性约束,实体完整性约束和参照完整性约束。域完整性(FieldIntegrity)保证一个数据库不包含无意义的或不合理的值,即保证表的某一列的任何值是该列域(即合法的数据集合)的成员。方法是限制列的数据类型、精度、范围、格式和长度等。实体完整性(EntityIntegrity)保证一个表中的每一行必须是唯一的(元组的唯一性)。为保证实体完整性,需指定一个表中的一列或一组列作为它的主键(PrimaryKey)。一个表中每行的主键必须确实含有一个值。一个表只能含有一个主键。参照完整性(ReferenceIntegrity)定义了一个关系数据库中不同的列和不同的表之间的关系(主键与外键)。要求一列或一组列中的值必须要与相关的一列或一组列中的值相匹配。从属的一列或一组列称之为外键(ForeignKey)。子表某行的外键必须与主表的主键相匹配,只要依赖于某主键的外键仍存在,主表中包含该主键的行就不能删除。与现有技术相比,本专利技术具有以下有益效果:1、由于系统中只有符合完整性约束的数据才能录入数据库中,这就要求对excel文件进行完整性检查,然后才能把文件内的数据导入到数据库中,本专利技术中主要介绍实体完整性和参照完整性的实现,并因此使用桶排序算法进行优化。2、由于本专利技术中防洪工程数据库的表之间的主键包含关系是一个偏序关系,且偏序关系具有传递性和覆盖性,我们在设计主键和外部键的完整性约束检查的算法时可以进行优化。采用时间复杂度为o(n)的桶排序算法,同时利用传递性对数据采集系统的数据录入程序进行了优化,减轻了用户的工作量。3、由偏序关系的性质我们可以知道,顶层节点覆盖了底层节点,所以在实现主键完整性时,我们只需要保证根节点的数据在各个站点之间符合数据完整性,即可保证整个数据库在各个地区之间的数据主键不冲突,所以本专利技术使用桶排序算法,把相关的表联系起来,把前面的表的主键作为桶用于下一个表的主建和外部键的比较,这样很好的解决了上诉问题。附图说明本专利技术共有附图2张,其中:图1是本专利技术的数据库表的树形结构图;图2是本专利技术的数据库拓扑结构图。具体实施方式下面结合附图对本专利技术进行进一步地描述。算法的主要采取分治术的思想,把相关的表联系起来,把前面的表的主键作为桶用于下一个表的主建和外部键...

【技术保护点】
一种决策支持系统中数据完整性的解决方法,其特征在于包括以下步骤:A、用桶排序算法描述数据采集过程中的数据完整性算法A1、在18类防洪工程中,每类工程都有一个“工程名称与代码”表,其它表的主键都包含这个表的主键;在一类工程内部,每一个表的主键都由另一个表的主键加上一个或多个属性作为此表的主键,主键的包含关系如图1所示;位于0层根节点的表是“工程名称与代码”,它的主键由它自身组成,非0层节点的表的主键由它上一层的表的主键加上其它的属性组成;在实际应用过程中,对于0层的表的记录数目小于100条,对于1层节点的表的记录数目在1000条左右,对于2层节点以上的表的记录数目大于10000行;假设:防洪工程数据库表的主键包含关系是一个偏序关系;证明:假设数据库中一类工程的所有表为一个集合,每个表为集合中的一个元素,表之间的主建的包含关系,作为元素之间的关系;①自反性集合中的元素的主键,主键自包含本身,所以具有自反性②反对称性集合中的元素,如图1所示,子节点元素的主键包含父节点的主键,但是父节点的主键不包含子节点的主键;所以具有反对称性;③传递性集合中的元素,如图1所示,子节点的包含在此节点分支上的所有父节点的主键,所以具有传递关系;A2、数据库拓补结构表示防洪工程数据库是一个分布式数据库,它的数据“均匀分布”在各个站点中,每个站点具有一套相同的关系,网络拓补结构如图2所示;在数据采集时,各站点使用一套相同的excel表格收集工程数据,同一类的防洪工程数据存放在同一个excel文件中的sheet中;由偏序关系的性质我们可以知道,顶层节点覆盖了底层节点,所以在实现主键完整性时,我们只需要保证根节点的数据在各个站点之间符合数据完整性,即可保证整个数据库在各个地区之间的数据主键不冲突,这种结构也可用于数据库的查询优化中;B、数据采集完整性检查常见的数据完整性约束有三种,即,域完整性约束,实体完整性约束和参照完整性约束;域完整性(Field Integrity)保证一个数据库不包含无意义的或不合理的值,即保证表的某一列的任何值是该列域即合法的数据集合的成员;方法是限制列的数据类型、精度、范围、格式和长度等;实体完整性(Entity Integrity)保证一个表中的每一行必须是唯一的(元组的唯一性);为保证实体完整性,需指定一个表中的一列或一组列作为它的主键(Primary Key);一个表中每行的主键必须确实含有一个值;一个表只能含有一个主键;参照完整性(Reference Integrity)定义了一个关系数据库中不同的列和不同的表之间的关系;要求一列或一组列中的值必须要与相关的一列或一组列中的值相匹配;从属的一列或一组列称之为外键(Foreign Key);子表某行的外键必须与主表的主键相匹配,只要依赖于某主键的外键仍存在,主表中包含该主键的行就不能删除。...

【技术特征摘要】
1.一种决策支持系统中数据完整性的解决方法,其特征在于包括以下步骤:
A、用桶排序算法描述数据采集过程中的数据完整性算法
A1、在18类防洪工程中,每类工程都有一个“工程名称与代码”表,其它
表的主键都包含这个表的主键;在一类工程内部,每一个表的主键都由另一个
表的主键加上一个或多个属性作为此表的主键,主键的包含关系如图1所示;
位于0层根节点的表是“工程名称与代码”,它的主键由它自身组成,非0层节
点的表的主键由它上一层的表的主键加上其它的属性组成;在实际应用过程中,
对于0层的表的记录数目小于100条,对于1层节点的表的记录数目在1000条
左右,对于2层节点以上的表的记录数目大于10000行;
假设:防洪工程数据库表的主键包含关系是一个偏序关系;
证明:假设数据库中一类工程的所有表为一个集合,每个表为集合中的一
个元素,表之间的主建的包含关系,作为元素之间的关系;
①自反性
集合中的元素的主键,主键自包含本身,所以具有自反性
②反对称性
集合中的元素,如图1所示,子节点元素的主键包含父节点的主键,但是
父节点的主键不包含子节点的主键;所以具有反对称性;
③传递性
集合中的元素,如图1所示,子节点的包含在此节点分支上的所有父节点
的主键,所以具有传递关系;
A2、数据库拓补结构表示
防洪工程数据库是一个分布式数据库,它的数据“均匀分布”在各个站点
中,每个站点具有一套相同的关系,网络拓补结构如图...

【专利技术属性】
技术研发人员:刘博梅昱婷
申请(专利权)人:大连灵动科技发展有限公司
类型:发明
国别省市:辽宁;21

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

1