当前位置: 首页 > 专利查询>西门子公司专利>正文

将数据导入到数据库表中的方法和系统技术方案

技术编号:11192975 阅读:111 留言:0更新日期:2015-03-25 21:35
本发明专利技术公开了一种用于使用约束一致性分析和自定义合并参数将数据导入到表中的方法和系统,包括:提供包括数据标识和分配给其每个的主键的表;提供表的临时副本,其包括至少一个要被合并到表中的数据标识;确定并比较表的表结构和临时副本的表结构;在临时副本中创建新的列,新的列包括用于其转移到表中的相关数据标识的最终主键,从而如果在表中已经存在数据,将相同主键分配给临时副本中的数据标识,否则分配新的主键;将临时副本中存在的数据标识锁定在表中,对在表和临时副本中具有相同主键的数据标识执行更新功能,对具有新分配的主键的数据标识执行导入功能;在成功执行更新和导入功能后,对锁定的数据标识解锁。

【技术实现步骤摘要】
将数据导入到数据库表中的方法和系统
本专利技术涉及一种使用约束一致性分析和自定义合并参数将数据导入到数据库表中的方法和系统。
技术介绍
一种用于在数据库结构中如SQL服务器的数据库结构中存储数据标识(dataidentities)的已知方法和系统,包括:在具有若干记录的表的字段中存储值。字段可以是各种数据类型,例如char、varchar、nvarcha;r、小数、整数、实数等。每种数据类型具有其自身的大小,该大小可以是预定的或可变的。例如,“varchar”、“nvarchar”数据类型适于存储具有可变大小的值,而“char”、“小数”、“整数”数据类型适于存储具有固定大小的值。 在这方面,数据库管理系统(DBMS)将非恒定大小的存储空间分配给具有“nvarchar”数据类型的字段。在一些已知的实现中,为了避免由使用具有恒定大小的字段引起的存储浪费,数据库管理系统根据要被存储的实际数据的大小、例如根据写和读数据库的应用程序,动态地分配不同大小的存储空间。 然而,在制造执行系统(MES)的工业环境中永久存在的问题是不同数据库之间插入/合并数据的问题,这些不同的数据库受到与数据持久性有关的物理的和/或逻辑的和/或应用程序引起的约束。事实上,在这种情况下,两个数据库之间的数据标识的原始副本将达不到期望的合并数据库的结果,因为现有约束不会相对应地适应性改变,且不会保留任何外键关系。 在创建数据库体系结构期间,在该阶段中不设计数据标识和/或数据表之间的大量关系,而是通常在引入数据库应用程序的逻辑关系时,在(数据库)应用程序的开发阶段引入上述大量关系。因此数据库结构中不物理上反映所述逻辑关系。这种关系(也可以把它们称为逻辑约束)通常不是规范的关系,但是如果意在维持数据一致,则在导入/合并过程期间,必须考虑这些关系。 最后,导入/合并过程必须在不停止数据约束分析的情况下运行,并且触发真实环境中所需的严格条件,在真实环境中,可以假设涉及来自要被合并/导入的数据的不同数据的其他数据操作将被一致地执行。此外,必须记住的是,在具有通常巨大的数据读/写事件的工业环境中的数据库必须保持可访问且被解锁,除了包含在合并/导入操作中的数据标识。 现在,该目标在不通过在新数据库或在最终目标数据库中逐字段地识别或逐个地改变每个值的人工干预的情况下无法实现。 尽管所有主要的数据库引擎都提供导入/导出实用工具,但必须要说的是,它们都不同时考虑数据一致性分析和指定自定义逻辑以用于合并/导入操作目的的可能性这二者。因此,这些数据库引擎删除先前数据或需要清洁的表以防止可能的故障。此外,数据库引擎通常包括备份/恢复功能,但是备份/恢复功能对合并数据标识没用,因为这些数据库引擎不适当地分析数据库的标识字段和其他关系,从而在存在数据冲突的情况下引起可能的数据损坏和不一致。因此,合并/导入操作期间与数据标识的字段和其他约束有关的问题目前正得到令人满意的解决。
技术实现思路
根据该现有技术,本专利技术的目的是提供一种用于使用约束一致性分析和自定义合并参数将数据导入/合并到数据库表中从而避免数据损坏和不一致的方法和系统。 关于方法,根据本专利技术,通过用于使用约束一致性分析和自定义合并参数将数据合并到数据库表中的方法来实现该目的,包括以下步骤: a)提供包括数据标识和被分配给每个数据标识的主键的表; b)提供该表的临时副本,临时副本包括至少一个要被合并到表中的数据标识; c)确定表的表结构和临时副本的表结构,以及比较确定的表结构和临时副本的表结构,以决定哪些数据标识仅必须在表中被更新以及哪些数据标识必须被导入; d)在临时副本中创建新的列,新的列包括相关数据标识的最终主键以用于相关数据标识转移到表中,从而如果在表中已经存在数据,则将相同主键分配给临时副本中的数据标识,且如果在表中还未存在数据标识,则将新的主键分配给临时副本中的数据标识; e)锁定临时副本中存在的表中的数据标识,针对在表和临时副本中具有相同主键的数据标识,执行更新功能,以及针对具有包括在临时副本的新的列中的新分配的主键的数据标识,执行导入功能;以及 f)在成功执行更新和导入功能之后,对锁定的数据标识进行解锁。 关于系统,根据本专利技术,通过用于使用约束一致性分析和自定义合并参数将数据导入到数据库表中的系统来实现该目的,包括: a)所述表,其包括数据标识和被分配给每个数据标识的主键; b)该表的临时副本,其包括至少一个要被合并到表中的数据标识; c)逻辑实例,用于确定表的表结构和临时副本的表结构,以及比较确定的表结构和临时副本的表结构,以决定哪些数据标识仅必须在表中被更新以及哪些数据标识必须被导入; d)所述逻辑实例,用于在临时副本中创建新的列,新的列包括相关数据标识的新的主键以用于相关数据标识转移到表中,从而如果在表中已经存在数据,则将相同主键分配给临时副本中的数据标识,且如果在表中还未存在数据标识,则将新的主键分配给临时副本中的数据标识; e)所述逻辑实例,用于锁定临时副本中存在的表中的数据标识,针对在表和临时副本中具有相同主键的数据标识,执行更新功能,以及针对具有包括在临时副本的新的列中的新分配的主键的数据标识,执行导入功能;以及 f)所述逻辑实例,用于在成功执行更新和导入功能之后,对锁定的数据标识进行解锁。 由于表结构的分析基于物理和逻辑关系,该方法和系统在不损坏目标表中的旧的数据标识和最终的数据标识的情况下,实际上合并充满有要被合并的数据标识的原始数据库的副本的数据实体。在表合并操作期间,新的列的创建允许针对临时副本中存在的每个数据标识确定期望的行为。比较还有助于解决目标表中表结构不完整的问题,因为例如仅在原始关系与应用逻辑关系结合之后,才在临时副本中引入物理约束。当管理员在绝对确定不包含在合并操作中的所有数据标识将完整留下的情况下需要在线修改(在飞行中)一些数据标识时,选择的合并行为(目标表中还未存在的新的数据标识的导入或已经存在的数据标识的简单更新)在维护/更新条件下变得尤其有用。 在本专利技术的优选实施方式中,表的表结构的确定可以包括表结构中已经限定的物理约束的确定和/或数据库应用程序开发期间限定的逻辑约束的确定。因此,在运行合并操作时,可以维持数据标识的任何关系的一致性。 为了自动合并操作的目的,第二列可以被增加到临时副本;所述第二列包括数据标识是否是更新功能或导入功能的目标的信息。 为了确保在与父表有关的子表的合并操作期间数据标识的一致性,临时副本可以是与父表有关系的子表的临时副本,其中,在合并操作之前,针对其所有数据标识,所述关系被输入到子表中。 【附图说明】 并入附图以提供对本公开的进一步理解,该附图被合并入且组成本申请的一部分,其示出了本公开的优选但非限制性的实施方式。附图与说明书一起用于说明本公开的原理。 图1示意性地示出了合并操作之前的父表和父表的临时副本。 图2示意性地示出了合并操作期间/之后的表数据库的修改的临时副本和父表。 图3示意性地示出了合并操作之前的子表和子表的临时副本。 图4示意性地示出了合并操作之前的子表和子表的修改的临时副本。 图5示意性地示出了合并操作期间/本文档来自技高网
...

【技术保护点】
一种用于使用约束一致性分析和自定义合并参数将数据导入到数据库表(2,6)中的方法,所述方法包括以下步骤:a)提供包括数据标识(VAL_1,VAL_2,VAL_91,CH_1,CH_2,CH_3)和分配给数据标识(VAL_1,VAL_2,VAL_91,CH_1,CH_2,CH_3)中的每个的主键(PK)的表(2,6),b)提供所述表(2,6)的临时副本(4,8),该临时副本包括至少一个要被合并到所述表(2,6)中的数据标识(VAL_2,CH_3);c)确定所述表(2,6)的表结构和所述临时副本(4,8)的表结构,以及比较所述确定的表结构和所述临时副本的表结构,以决定哪些数据标识仅必须在所述表中被更新以及哪些数据标识必须被导入;d)在所述临时副本中创建新的列(PK_NEW),所述新的列(PK_NEW)包括相关数据标识的最终主键以用于相关数据标识转移到所述表(2,6)中,从而如果在所述表(2,6)中已经存在数据,则将相同主键分配给所述临时副本(4,8)中的数据标识(VAL_1,CH_1,CH_2),且如果在所述表(2,6)中还未存在数据标识,则将新的主键分配给所述临时副本(4,8)中的数据标识(VAL_2,CH_3);e)将所述临时副本(4,6)中存在的数据标识锁定在所述表(2,6)中,针对在所述表(2,6)和所述临时副本(4,8)两者中具有相同主键的数据标识(VAL_1,CH_1,CH_2)执行更新功能,以及针对具有包括在所述临时副本(4,8)的所述新的列(PK_NEW)中的新分配的主键的所述数据标识(VAL_2,CH_3)执行导入功能;以及f)在成功执行更新和导入功能之后,对所述锁定的数据标识进行解锁。...

【技术特征摘要】
2013.09.16 EP 13184492.01.一种用于使用约束一致性分析和自定义合并参数将数据导入到数据库表(2,6)中的方法,所述方法包括以下步骤: a)提供包括数据标识(VAL_1,VAL_2,VAL_91, CH_1, CH_2, CH_3)和分配给数据标识(VAL_1, VAL_2, VAL_91, CH_1,CH_2, CH_3)中的每个的主键(PK)的表(2,6), b)提供所述表(2,6)的临时副本(4,8),该临时副本包括至少一个要被合并到所述表(2.6)中的数据标识(VAL_2,CH_3); c)确定所述表(2,6)的表结构和所述临时副本(4,8)的表结构,以及比较所述确定的表结构和所述临时副本的表结构,以决定哪些数据标识仅必须在所述表中被更新以及哪些数据标识必须被导入; d)在所述临时副本中创建新的列(PK_NEW),所述新的列(PK_NEW)包括相关数据标识的最终主键以用于相关数据标识转移到所述表(2,6)中,从而如果在所述表(2,6)中已经存在数据,则将相同主键分配给所述临时副本(4,8)中的数据标识(VAL_1,CH_1,CH_2),且如果在所述表(2,6)中还未存在数据标识,则将新的主键分配给所述临时副本(4,8)中的数据标识(VAL_2,CH_3); e)将所述临时副本(4,6)中存在的数据标识锁定在所述表(2,6)中,针对在所述表(2.6)和所述临时副本(4,8)两者中具有相同主键的数据标识(VAL_1,CH_1,CH_2)执行更新功能,以及针对具有包括在所述临时副本(4,8)的所述新的列(PK_NEW)中的新分配的主键的所述数据标识(VAL_2,CH_3)执行导入功能;以及 f)在成功执行更新和导入功能之后,对所述锁定的数据标识进行解锁。2.如权利要求1所述的方法,其中,确定所述数据库的表结构包括确定所述表结构中已经限定的物理约束和/或确定数据库应用开发期间限定的逻辑约束。3.如权利要求1或2所述的方法,其中,第二列被增加到...

【专利技术属性】
技术研发人员:马泰奥·巴尔迪尼安德烈亚·博埃罗达维德·米尼
申请(专利权)人:西门子公司
类型:发明
国别省市:德国;DE

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

1