HI,欢迎来到学术之家,期刊咨询:400-888-7501  订阅咨询:400-888-7502  股权代码  102064
0
首页 精品范文 关系数据库

关系数据库

时间:2022-03-24 11:45:51

关系数据库

第1篇

【关键词】关系数据库;数据仓库;数据挖掘;关系

0 引言

关系数据库是20世纪70年代初提出来,经过数据库专家几十年的努力,理论和实践都取得了显著成果,标志着数据库技术的日益成熟。但它仍然难以实现对关系数据库中数据的分析,不能很好地支持决策,因此在80年代,产生了数据仓库的思想,90年代,数据仓库的基本原理、架构形式和使用原则都已确定。主要技术包括对数据库中数据访问、网络、C / S结构和图形界面,一些大公司已经开始构建数据仓库。针对数据仓库中迅速增长的海量数据的收集、存放,用人力已经不能解决,那么数据仓库中有用的知识的提取就需要数据挖掘来实现。数据挖掘与统计学子领域“试探性数据分析”及人工智能子领域“知识发现”和机器学有关,是一门综合性的技术学科。了解关系数据库、数据仓库与数据挖掘三者之间的区别与联系,使之更好的使用这3种技术,处理各种信息需求是非常必要和重要的。

1 关系数据库、数据仓库和数据挖掘之间的关系

1.1 关系数据库和数据仓库之间的联系与区别

关系数据库是面向事务的设计,数据仓库是一个面向主题的设计;关系数据库存储在线事务数据,数据仓库通常存储历史数据,关系数据库的设计将尽量避免冗余,但数据仓库是倾向于引入冗余;关系数据库设计用于捕获数据,数据仓库设计用于分析数据。传统的关系数据库面向以事务处理为主的系统应用,所以它无法满足决策支持系统的分析要求。事务处理和分析处理有非常不同的性质,他们有不同的需求数据。

1.2 数据仓库与数据挖掘之间的联系与区别

数据挖掘是基于数据仓库和多维数据库中的数据,找到数据的潜在模式进行预测,它可以对数据进行复杂处理。大多数情况下,数据挖掘是让数据从数据仓库到数据挖掘数据库中。从数据仓库中直接得到进行数据挖掘的数据有许多优点,因为数据仓库中数据的清理和数据挖掘中几乎是相同的,如果数据在数据仓库中已被清除,数据挖掘中不再被清除,并且数据不一致也得到了解决。数据仓库是数据挖掘的先期步骤,通过数据仓库的构建,提高了数据挖掘的效率和能力,保证了数据挖掘中的数据的宽广性和完整性。

1.3 关系数据库与数据挖掘之间的联系与区别

数据挖掘的数据源不一定是数据仓库。也可以是一个关系数据库中的数据,但要事先进行数据预处理,才能用于数据挖掘。数据预处理是数据挖掘的关键步骤,并且是数据挖掘过程中的主要工作部分。因此,数据仓库和数据挖掘没有必然的联系,有些人简单地认为,数据仓库是数据挖掘的准备,这种理解是不全面的,也可以使用关系数据库中的数据作为数据挖掘的数据源。

2 三种技术的应用

2.1 应用价值

2.1.1 关系数据库

关系数据库的主要价值体现在事务处理。关系数据库已经渗透到各行各业的日常事务,该事务管理离不开关系数据库的应用系统,这是对传统事务管理的一个重大突破,是社会甚至家庭不可或缺的工具,它对社会的应用价值是100%。

2.1.2 数据仓库

数据仓库的主要价值体现在为决策分析提供数据源。一方面,在一个事务中,用户要求高效的访问系统和数据库,操作时间应该短。在一个决策分析中,决策问题的一些请求可能会导致系统的操作,解决这一问题的决策分析需要遍历大多数数据库中的数据,这对一般日常事务处理系统是困难的,所以操作数据和决策分析数据应该分开。另一方面,决策数据需求问题。在决策分析时,由于不同的应用系统中,实体、字段存在数据类型、名称和格式的不符,需要在集成时进行转换,这个转换必须在决策之前完成;一些决策数据需要动态更新,需要经常进行汇总和总结,这些需求用事务处理系统解决比较繁琐。三是数据的操作模式问题。决策分析人员要以专业用户身份,使用各种工具以各种形式来操作数据,对数据操作的结果以商业智能的方式表达出来。事务处理系统不能满足这一要求,只有数据仓库系统能够满足数据挖掘技术对数据环境的要求,所以使用数据仓库中的数据省去了对数据预处理的步骤。

2.1.3 数据挖掘

面对日益激烈的市场竞争,客户对迅速应答各种业务问题的能力要求越来越高,对过量数据的及时处理要求越来越高,带来的挑战一方面大规模、复杂数据系统让用户感觉漫无头绪,无法开始;另一方面,这些大量数据背后隐藏很多有意义的有价值的决策信息。如计算机界都熟知的“啤酒与尿布”的故事,就是零售业巨头“沃尔玛”从大量销售数据中分析出来的规律:美国的男士在下班要去超市买婴儿尿布,同时他们还会买啤酒。“沃尔玛”就把这两种“毫不相干”的商品摆放在靠近的货架上,并且还摆放一些下洒小菜,使这些商品销量大增。所以应用数据挖掘从大量数据中发现规律,具有具体的指导意义。

2.2 应用领域

2.2.1 关系数据库

关系数据库应用领域非常广泛,如:证券行业、医院、银行、销售部门、公司或企业,以及政府、国防工业,科学和技术发展领域等等,这些领域都需要使用数据库来存储数据。例如:人事管理系统、工资管理系统,xxx部门信息管理系统,手机话费管理系统等,都需要关系数据库作为后台提供数据源。

2.2.2 数据仓库

数据仓库应用领域主要有两个方面:一是全局应用。因为数据仓库获得来自多方面的数据,所以在把数据向数据仓库输入时,要进行转换、计算和综合等集成处理。通过处理把来自不同地方的数据源转换成统一的格式,以促进全局应用。二是复杂系统。信息处理的要求越来越复杂,除了数据处理操作,如添加、删除、修改、和统计汇总,高级管理层也希望对历史的和现在的数据进行各种复杂性分析,以支持决策。数据仓库中就是存储了旧的历史数据,方便复杂分析、应用,为高层决策服务。

2.2.3 数据挖掘

数据挖掘的应用领域主要表现在特定应用问题和应用背景。数据挖掘技术已经应用于各行各业,如电信,保险,交通,学校、银行、超级市场等。例如:数据挖掘技术应用在大学。高校扩招,学生增加到几万人,但是学生的学习积极性不高,成绩不好,因此引入数据挖掘技术找出影响学生学习积极性和学习成绩的原因,制定措施,提高教育和教学质量。分析的数据源是考试成绩和成绩之外的影响因素,分析的方法是采用关联规则、模型库、去“噪”处理、粗糙集等进行数据挖掘,得出的结论是:传统的学习方法不能完全满足需要,改进教学方法和教学模式,从而调动学生学习的积极性,提高教学质量。

3 关系数据库、数据仓库与数据挖掘的融合

日常事务处理需要关系数据库,构建分析处理环境需要数据仓库,帮助决策者寻找数据之间的潜在的关联需要数据挖掘。他们之间是相互联系又有区别的,不能互相取代的,又需要相互融合。数据仓库中的数据并不是最新的,专有的,而是来源于其他关系数据库,它是建立在一个更全面和完善的信息应用的基础上,用于支持高层决策分析的数据基地。数据仓库是数据库新技术,到目前为止,数据仓库仍用关系数据库管理系统管理数据。数据挖掘是从大量存储在数据库、数据仓库或其他信息库中发现有趣知识的过程。只有这三个数据库技术互相融合,取长补短,各尽其责,才能更好的为广大用户所使用,为社会各个领域所应用。

【参考文献】

[1]华冠萍.数据仓库、数据挖掘及OLAP之两两关系[J].福建电脑,2007,8.

第2篇

关键词 XML 关系数据库 映射

中图分类号:TP3 文献标识码:A

由于数据库技术本身的发展和数据库市场的变化,使得越来越多的应用需要在异构数据源之间进行访问,XML技术便应运而生。然而,目前大部分应用的数据存储在关系数据库中,XML数据又以XML文档形式存在,因此,研究XML文档与关系数据库的转换对异构数据源之间的数据集成非常重要。

1 XML与关系数据库的比较

由于传统的各数据库管理系统之间的异构性及其所依赖操作系统的异构性,很难实现在异构数据库之间进行通信,同时对关系数据库的访问还依赖于系统对ODBC的支持程度,即便如此,很多防火墙不允许这种信息转换,而且还容易被攻击。XML具有无可比拟的优势,一方面,利用XML文档,开发人员可以编码任何关系数据库中的面向记录的数据,并很好地保持这些数据的逻辑结构,甚至可以根据实际应用的需要更改这些数据的逻辑结构。另一方面,XML文档具有透明性和平台无关性,独立于传输协议,可以使用FTP、HTTP、RPC 等多种方式传输,发送端和接受端无须关心数据是来自于什么平台以及是如何产生的。

但是,XML作为一种形式语言,以文本的形式对数据进行描述,存在管理和检索上的困难,仍然无法完全取代数据库。首先,数据库具有灵活而高效率的数据操作手段,可以处理海量的数据信息。就XML文档而言,目前主要通过XML解析器提供的API来实现对文档数据的访问,但随着XML文档的数据量增大,这种方法的效率明显不如访问数据库的效率高,而且XML文档数据的维护也更加困难。其次,从并发性来说,关系数据库本来就被设计为允许多个用户同时处理信息,但目前对XML文档的访问不具备并发性。最后,从安全性来说,数据库拥有一个很好的安全控制体系,允许用户对数据进行不同级别的处理,而这也是XML文档所不具备的。

2 XML数据的关系存储

XML数据源有XML纯文本文档、关系型数据库以及其他应用数据几类。由于XML数据源的不同,关于XML存储的研究目前大致分为四个方向:利用文件系统存储XML数据的研究;利用面向对象数据库存储XML数据的研究;用关系数据库存储XML 数据的研究;专门设计的XML(NXD) 存储策略。针对于XML具体应用,在存储XML文档的数据库技术上,形成了两大阵营。一种阵营主张在原有的传统关系数据库基础上,通过扩展XML支持模块或中间件,来完成XML数据和数据库之间的格式转换和传输;另一种阵营主张利用NXD技术来解决XML文档的存储管理。用关系数据库来存储XML数据,可以利用现有数据库的存储管理、并发控制、恢复、版本机制等技术有效地管理数据,并使用SQL查询作为数据存取的方法,所以用关系数据库来保存和处理XML数据是很有效的方法。利用关系数据库来存储XML数据的方法是XML半结构数据转换为结构化数据后存储于二维表中,来实现对XML数据的存储和管理。由于XML和关系数据库数据模式的互异性,不能简单地将XML文档存储于关系数据表中,为了实现在XML文件和数据库之间交换数据,必须提供一个XML映射层,将XML文档模式(DTD、XML Schema)映射到关系数据库模式。

3 XML与关系数据库的映射方法

一个具体的XML模式到关系模式的数据转换需要涉及较为复杂的XML格式分析处理及相应的数据库操作和有效性校验。两者之间的映射为双向映射,根据映射关系的建立方式不同,主要存在两种方法:基于模板驱动的映射和基于模型驱动的映射。

(1)基于模板驱动的映射

XML文档包含简单元素和复杂元素两类,简单元素包含的内容是不具层次结构的简单内容,而复杂元素可包含属性、子元素,还可以包含多个子元素,其中子元素还可以是复杂元素。基于模板驱动的转换方法是一种浅层映射,只能用于从其他类型数据到XML文档之间的数据传递,并不支持面向对象之间或者关系与对象之间的信息交互,它无需提前定义好XML文档和其他数据之间的映射,只需在XML文档模板中嵌入一些SQL命令,这些命令在转换时被系统识别和执行,把执行的结果替换到指令的位置,生成最终的XML文档即可。

第3篇

关键词:关系数据库;关键词;查询

一、关系数据库关键词查询概述

关系数据库通常通过结构化查询语言SQL来访问。SQL访问方式不但要求用户知道并理解关系数据库模式,也要懂得书写复杂的SQL查询语言,因此,它一般适合于专业用户使用。普通用户一般通过定制的关系数据库查询接口程序RQI(Relational databases Query Interface)或者关系数据库应用程序RAP(Relational databases Application Program)来访问关系数据库。RQI访问方式虽然不要求用户书写复杂SQL查询语言,但是要求用户知道并理解关系数据库模式,对于不同的关系数据库需要使用不同的RQI,而且定制的RQI也往往不能满足灵活多变的用户查询需求,当RQI不能满足用户查询需求时,就需要应用开发人员来修改RQI,由此,使用RQI访问方式则需要较高的开发费用和维护费用。

随着Internet和Web技术的快速发展和应用,一方面用户越来越习惯于使用简单的查询关键词通过Web搜索引擎如Google,Baidu等来搜索信息;另一方面,越来越多的关系数据库到Web上面向广大普通用户,形成所谓的“Deep Web”问题,使得普通用户也期望能够使用简单的关键词来查询关系数据库数据。

二、相关定义

定义1:关系数据库模式Sdb(Relational Database Schema)假设关系数据库的模式,Sdb=(R,FK),R={R1,R2,…,Rk}是一组关系模式,FK是R中关系模式间引用关系的映射,FK:RR,如果FK(Ri)=Rj,记为RiRj(1≤i,j≤n),它表示Rj一个外键引用了Ri主键。

定义2:关系数据库模式图Gs(Relational Database Schema Graph)假设Gs=(V,E)表示模式Sdb=(R,FK)的关系数据库对应的模式图。Gs是一个有向图,将关系数据库中的每一个关系模式Rk(1≤k≤n)看作是Gs的一个节点,当且仅当关系模式Ri∈Gs,关系模式Rj∈Gs,(RiRj)∈FK时,(Ri,Rj)∈E。

定义3:连接元组树Jt(Joning Tree of Tuples)给定一个关系数据库的模式图Gs=(V,E),Jt是以数据库中的元组tl为结点的一棵树,其中tl(1≤l≤m)是关系rk(1≤k≤m)中元组,关系rk(1≤k≤m)是关系模式Rk(1≤k≤n)上的实例,如果(Ri,Rj)∈E且(ti tj)∈(ri rj),那么,(ti,tj)是Jt的一条边,其中ti∈ri,tj∈rj,(1≤i, j≤n),称Jt为一棵连接元组树。

定义4:关键词查询Kq(Keyword Query)把关键词查询定义为查询函数f:KqT,其中Kq是一个集合,其元素ki(1≤i≤m)为关键词,T是一个集合,其元素Jti(1≤i≤n)为一个关键词查询结果。

定义5:关键词查询结果T(Keywords Qeury Results)关键词查询结果是OR语义,Kq是一个集合,其元素为ki(1≤i≤m)为关键词,一个查询结果是至少含有Kq中一个ki(1≤i≤m)且每个叶结点都至少含有Kq中一个ki(1≤i≤m) 的连接元组树。

关键词查询结果是AND语义,Kq是一个集合,其元素为ki(1≤i≤m)为关键词,一个查询结果是Kq中的每一个的关键词ki(1≤i≤m)都必须出现在结果中,并且每个叶子节点都至少含有一个Kq中的关键词ki(1≤i≤m)的连接元组树。

三、体系结构

(1)系统设置系统启动模块,做一些系统初始化工作,如系统的参数配置

(2)模式图生成器从系统配置文件读入数据库模式图的模式配置信息,生成数据库模式图。

(3)用户查询该模块为用户查询接口,接受用户输入的查询关键词,

提交后续模块处理。

(4)元组集生成器该模块利用由关系数据库的全文检索功能建立的IR引擎,将关系数据库中具有文本属性的每个关系生成元组集,只有那些与某个查询关键词或者查询关键词组合相关的非空的元组集保留下来,称为非自由元组集,每个非自由元组集都是其源表(即生成该元组集的表)的一个子集,每个非自由元组集实际上也是一个临时表,继承其源表的主外键关系。

(5)候选网络生成器候选网络生成器利用元组集生成器生成的非自由元组集扩展模式图,形成元组集图,然后对该元组集图进行扩展,生成结点不超过预定最大允许结点数的候选网络。所谓候选网络,也称元组集连接树,也是可以看做是要用来产生关键词查询潜在结果的JOIN表达式。

(6)候选网络执行器候选网络执行器完全执行所有候选网络得到全部结果,或者采用某种top-k算法执行候选网络,以得到top-k查询结果。

四、查询处理

系统启动时,首先会生成数据库模式图,这个过程非常短,然后系统接收到用户提交的查询关键词。当用户提交查询关键词时,元组集生成器利用IR引擎生成元组集,然后,候选网络产生器利用非自由元组集扩展Gs生成元组集图,广度优先遍历元组集图生成候选网络,最后,候选网络执行器执行全部候选网络。或者采用某种top-k查询算法执行候选网络,生成最终查询结果返回给用户。通过介绍SDSG系统,可以发现SDSG系统存在的优点:数据库模式图占用内存少;缺点:候选网络产生器执行效率低、候选网络执行效率低、缺少语义查询。

参考文献

[1] 施伯乐,丁宝康,汪卫.数据库系统教程.第二版.高等教育出版社,2003:1-359

[2] 文继军,王珊.SEEKER:基于关键词的关系数据库信息检索.软件学报,2005, 16(7):1270-1281

第4篇

[关键词] 客户关系管理 数据仓库 应用

面临知识经济的挑战,市场竞争日趋激烈,发现、赢得并保持客户是企业在知识经济下生存的必要条件。通过基于数据仓库(Data warehouse, DW)的客户关系管理(Customer Relationship Management, CRM),企业可以广泛收集客户信息,整理成全面、完善的客户信息库,通过数据挖掘和数据分析技术了解客户的需求,以保持良好的客户关系,维系客户忠诚,从而提高企业核心竞争力。

一、客户关系管理的内涵

客户关系管理是一种以客户为中心,以企业与外部交流为主导,以企业的前端业务应用为主,旨在改善企业与客户之间关系的新型管理机制,着重实现在市场营销、销售、客户服务等领域与客户有关的商业流程自动化,其目标是:(1)通过对商业流程的管理缩减销售周期、降低企业经营成本;(2)通过个性化的、实时的优质服务提高客户满意度,保持并吸引更多的客户。

客户关系管理在整个客户生命周期中都以客户为中心,它的有效实施依赖于客户数据的有效集成,并对之进行分析,从而产生利于决策形成的新信息。

二、数据仓库概述

数据仓库是面向主题的、集成的、稳定的(不可更新的)、随时间不断变化(不同时间)的数据集合,用以支持经营管理中的决策制定[1]。面向主题与传统数据库面向应用相对应,主题是一个在较高层次上将数据归类的标准,每个主题对应一个宏观的分析领域;集成特性是指数据在进入数据仓库前,必须经过加工和集成,以统一原始数据中的矛盾之处,还要将原始数据结构从面向应用转变为面向主题的;稳定性是指数据仓库反映的是已成为历史的数据,而不是日常事务处理产生的数据,数据经加工和集成进入数据仓库后是极少或根本不修改的;数据仓库是不同时间的数据集合,它要求数据仓库中的数据保存时不仅能满足决策分析的需要,而且数据仓库中的数据都要标明该数据的历史时期。

数据仓库不是现成的软件或硬件产品,而是一种解决方案,最根本的特点是物理地存放数据,而且这些数据并不是最新的、专有的,而是对来自不同应用系统的历史数据进行各种处理所转换成的有用信息。企业可以通过分析这些信息进行全局范围的战略决策和长期趋势分析。因此,数据仓库承担着支持决策分析服务的数据载体。数据仓库的处理过程包括外部数据源的准备、数据提取、数据清洗、数据转换、数据仓库存储以及数据集市。

三、数据仓库在客户关系管理的应用

数据仓库与客户关系管理相辅相成,密不可分。客户关系管理的建立和维护依赖于客户数据的集成,而数据仓库则可集成有关客户的历史数据和实时数据,并能对其分析,提供关于客户的完整信息。另一方面,客户关系管理可以充分利用数据仓库的分析结果制定市场策略,并通过销售和服务手段与客户交流,从而提高企业竞争力。基于数据仓库的客户关系管理系统可以划分为数据源、数据仓库系统和分析系统三个部分。数据源主要来自于客户信息、客户行为、生产系统和其它相关数据四个方面。数据仓库系统主要分为数据仓库建设和数据仓库两部分。数据仓库建设利用数据仓库的数据和设计工具,将与客户相关的数据集中到数据仓库中;然后在数据仓库的基础上通过OLAP、报表等将客户的整体行为分析和企业运营分析结果传递给数据仓库用户。分析系统则在数据仓库的基础上,将客户分析所需要的数据形成客户分析数据集市,从而进行客户市场划分、重点客户发现、客户流失警示和市场性能评估等功能。总的来说,数据仓库在客户关系管理中的应用主要体现在以下几个方面:

1.提供动态的、整合的客户管理和查询功能:动态是数据仓库能够实时地提供客户的基本资料和历史交易行为信息,并在客户每次交易完成后,能够自动补充新的信息。整合性是指数据仓库与企业其他资源的整合,如一线服务人员的终端根据职能、权限的不同,可实施信息查询和更新功能;客户数据仓库与公司其他媒体(邮件、电话、互联网)的交互使用等。

2.客户市场划分:市场分割就是将一个大的用户群体划分成多个较小的群体,每个小群体中客户特征相似,而不同的小群体中的特征不同。例如,可以根据客户的收入、年龄、学历等进行分割,当对客户进行市场划分之后,就可以针对不同客户群的特点进行营销,从而提高销量,降低销售成本。

3.重点客户发现:重点客户发现的目标是找出对企业具有重要意义的客户,这些重点客户主要包括:潜在客户――有价值的新客户;交叉销售――同一客户有更多的消费需求;增量销售――更多地使用同一种产品或服务;客户保持――保持客户的忠诚度。

4.客户流失警示:通过对客户历史交易行为的观察和分析,赋予客户数据仓库警示客户异常购买行为的功能。如一位常客的购买周期或购买量出现显著变化时,就存在潜在的客户流失迹象。客户数据仓库通过自动监视客户的交易资料,对客户的潜在流失迹象做出警示。

5.市场性能评估:根据客户行为分析,企业可以准确地制定市场策略和策划市场活动。然而,这些市场活动能否达到预定的目标是改进市场策略和评价客户市场划分性能的重要指标。因此,客户关系管理系统必须对行为分析和市场策略进行评估。同样,重点客户发现过程也需要对其性能进行分析,然后在此基础上修改重点客户发现过程。这些性能评估都是以客户所提供的市场反馈为基础。通过数据仓库的数据清理与集中过程,可以将客户对市场的反馈自动地输入到数据仓库中,这个获得客户反馈的过程被称为客户行为跟踪。

四、结束语

第5篇

关键词:Hibernate;Java;关系型数据库;JDBC;ORM

中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)14-3235-02

1 Hibernate、Java应用程序和关系型数据库的简介

1.1 Hibernate

Hibernate是非常优秀的、流行的对象关系映射(ORM)框架。在对象和关系型数据库表之间,它提供了强大的映射和查询功能。Hibernate既可以在Java客户端中直接使用,也可以在Java web框架应用中使用,它可以应用在任何使用JDBC的地方。Hibernate的应用非常广泛,并且逐渐发展成Java持久层事实上的一个标准。

1.2 Java应用程序

在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经覆盖了几乎所有的操作系统。这样Java程序只需要编译一次,就可以在各种操作系统中运行。Java应用程序有两种模式C/S、B/S。C/S是客户端/服务器端程序,客户端和服务器端都在一个独立的Java虚拟机中运行,B/S是服务器端在一个独立的Java虚拟机中运行。

1.3 关系型数据库

关系型数据库,是建立在关系模型基础上的数据库,它借助于数学方法来处理数据库中的数据。目前主流的关系型数据库有Oracle、SQL server、Mysql等。

大多数有一定规模的开发项目都涉及到关系型数据库,关系型数据库用来存储所有的信息资源。例如:图书管理系统的图书信息、学校管理系统的教师信息和学生信息等等。几乎在所有的程序中都存在关系型数据库。在业务逻辑层和用户界面层,程序是面向对象的,当对象信息发生变化时,我们就需要把对象的信息保存或则更新到关系型数据库中。当我们需要查看所需要的信息时,我们就需要把数据库中的信息放到对象中在用户界面显示出来。

2 Hibernate优点

Hibernate对JDBC进行了轻量级的对象封装,使Java程序员可以使用对象编程思维来操纵数据库。Hibernate封装了所有访问数据库的细节,使业务逻辑层可以专注的实现业务逻辑层。

Hibernate具有一定的独立性,它在Java应用程序和关系型数据库之间的应用,不但使代码的重用性提高,而且还能支持多种数据库平台。它可以为任何一个需要访问关系型数据库的Java应用程序服务。

3 Hibernate在Java应用程序和关系型数据库之间的主要应用

3.1 Hibernate连接关系型数据库

Hibernate可以直接用来连接数据库,连接数据库的信息存放在Hibernate的配置文件中。在以往的JDBC连接数据库中,我们要写代码去连接数据库,如果更换数据库,就需要修改代码。Hibernate更换数据库就相对直观容易的多,只需要修改Hibernate的配置文件就可以,Hibernate的配置文件中有相对应连接数据库的参数可以直接修改。JDBC每打开一个数据库连接,执行完操作后我们要将数据库连接关闭。Hibernate不需要我们去关闭数据库的连接,它会帮我们管理数据库连接,我们只需要拿来用就可以。Hibernate封装了JDBC之后,不但可以减少连接数据库代码的冗余,它也实现了与不同数据库的连接。由此可见,Hibernate在连接数据库上操作简单、方便。

3.2 Hibernate实现对象和数据库表的映射

Hibernate是一种对象关系映射(ORM)映射工具,它建立了对象和关系型数据库映射。它可以管理Java类到数据库表的映射。Hibernate使用XML文件来记录Java class和关系型数据库表之间的映射关系。Java class的内容都有getter和setter方法。Hibernate基本的持久保存架构基于Java Beans形式的内容特性做反射访问的。Hibernate的对象关系映射要一个表对应一个对象,并将映射文件和对象文件放在统一目录下,这是Hibernate的基本规范,方便我们来管理类和映射文件。例如:学校管理系统的教师信息和学生信息。我们可以把学生当成一个对象,与数据库中的学生信息表对应起来,这样就形成一种映射关系。Hibernate完成学生信息表和学生对象的映射,我们操作学生对象就可以管理关系型数据库中学生信息表的信息。

Hibernate关系映射也实现了多个表的关联。Hibernate关系映射,包括一对一关联关系、一对多关联关系、多对一关联关系、多对多关联关系。例如:一个学号对一个学生,就是一对一关联关系。一个班主任对应多个学生,就是一对多关联关系。多个学生对应一个班主任,就是多对一关联关系。多个学生对应多门课程就是多对多的关系。Hibernate的关系映射可以把这些对应关系实现,把延迟加载和反转控制等都加进来,让我们更好的控制表与表之间的关联,方便开发程序的时候对数据库的查询、更新、插入的级联操作,可以将相关联的信息一块更新到数据库中。

3.3 Hibernate在Java应用程序中如何操作数据库

Hibernate建立对象和数据库中表的映射,就可以将对象来保存到关系型数据库中,也就是实现对象的持久化。持久化就是把数据同步保存到关系型数据库。持久化类是用来实现业务问题的实体类。持久化类的实例通过Hibernate持久化管理层,将数据保存到数据库中。在Hibernate的应用中,持久化类的访问有两个调用者。一个调用者是Java应用程序。Java应用程序可以调用对象的getXXX()方法,读取对象的信息,将它输出到用户界面,也可以调用对象的setXXX()方法,将用户的输入信息写入对象中。另一个调用者是Hibernate。Hibernate可以调用对象的getXXX()方法,读取对象信息,把它保存到数据库中,也可以调用setXXX()方法,从数据库中读出信息,写入到对象中。

Session对象是和Hibernate交互的主要通道。SessionFactory是线程安全的,整个应用程序只要一个就够了,更准确的说是对于关系型数据库而言,只需一个就够了。SessionFactory提供了Session对象,建立Java应用程序和关系型数据库的JDBC连接,提供环境让我们可以创建、修改、获取、删除、操作持久对象。其它更复杂的操作都可以在此基础上进行。

Hibernate提供了它特有的数据库查询语言HQL。HQL的灵感源来自SQL,但是它和SQL有很大的差异。HQL涉及Java应用程序的对象世界,而SQL是涉及关系型数据库的世界。那Hibernate为什么要用HQL呢?HQL查询语言屏蔽了不同数据库之间的差别,使程序员可以编写统一的查询、更新、删除语句。这样即使数据库从Oracle变换成Mysql数据库,无须更改代码,只需要修改数据库连接的配置文件即可。Hibernate虽然有自己特有的查询语句,但它仍然兼容SQL,也就是它还可以支持SQL查询语句。这就让以前的SQL技术仍然有效,即使会写SQL的语句也可以用Hibernate操作数据库。

Hibernate不但提供了查询语言HQL,还提供了条件式查询。HQL查询内容在映射文档中,映射文件加载前还没被分析,所以HQL查询在程序运行前无法查询出语法错误。对于这些问题,Hibernate提供了条件式查询。条件式查询让你创建和连接简单的Java对象,使其作为过滤器来筛选出你想要的结果。这在可读性、编译期类型检查都有很明显的优点。

Hibernate提供的数据查询和获取数据方法,可以大大减少开发时人工使用sql和JDBC处理数据的时间。JDBC编程访问数据库,虽然效率较高,但是它需要大量的嵌套SQL语句,以后的维护和升级变得比较麻烦。Hibernate使项目的后期维护和升级则变得更加简单、方便。

4 小结

Hibernate完成后台数据库操作的封装,为Java应用程序和关系型数据库提供一个很好的管道,为我们开发项目提供了便利。Hibernate与其他开发框架的集成也越来越成熟,如:struts、spring等等,充分体现了Hibernate的优势,同时也对其他框架是一个很好的支持,使它们集合在一起发挥最大的效果。随着Hibernate的发展,越来越多的Java项目开始把目光集中到Hibernate上并将其应用到项目中,使Hibernate具有越来越广阔的发展前景。

参考文献:

[1] 孙卫琴. 精通Hibernate:Java对象持久化技术详解[M].北京:电子工业出版社, 2007.

[2] JamesElliott. Hibernate程序高手秘籍[M].南京:东南大学出版社, 2007.

第6篇

关键词:嵌入式数据库系统 数据库系统设计 应用前景

中图分类号:TP391 文献标识码:A 文章编号:1674-098X(2016)11(c)-0069-02

随着计算机科学这一大学科的不断发展和进步,移动数据终端的数量不断激增,对于移动数据的处理和计算越来越受到重视。嵌入式数据库系统就是为了解决移动数据终端在进行信息交互过程中出现的问题而出现的,嵌入式数据库系统的出现很好地解决了当前的问题并给移动数据处理带来了新的发展方向。越来越多的移动数据终端的使用使得人们对于嵌入式数据库系统的研究和设计越来越深入,因为现代社会要求嵌入式数据库系统能处理越来越多的移动数据信息,所以嵌入式数据库系统的设计和研究是非常必要的。

1 嵌入式数据库系统的概念

嵌入式数据库系统在应用了相应的计算机技术之后可以根据来自软件或者硬件的请求对数据进行收发和处理,这样可以保证数据终端运行的安全性和稳定性。嵌入式数据库系统属于智能系统的一部分,因为嵌入式系统在设备运行的过程中是隐藏的,并没有具体的显现形式,在嵌入式系统中应用数据库可以增加系统的智能程度。在嵌入式数据库设计的过程中要应用到计算机技术、电子技术等现代化技术,将上述技术进行完美的搭配使用才能设计出功能强大的嵌入式数据库,并且可以安全稳定运行。嵌入式数据库系统是一个需要大量技术支持和资金支持的系统。嵌入式数据库系统的组成框架较为简单,其框架主要分为中央处理器和设备元件。从数据库的发展来看,每种数据库技术的发展都是和计算机技术息息相关的,计算机技术的发展大大促进了数据库技术的发展,同样的,数据库技术的发展也会促进计算机技术的发展,这两种技术相辅相成,彼此有着很大的影响。嵌入式数据库系统可以为当下不断增加的移动数据终端提供更好的服务,因为现在的移动数据终端可以在任何时间和地点进行数据的交流和处理,所以就需要嵌入式数据库系统的支持。现在的各种移动数据终端都是建立在嵌入式数库系统上的。

2 关于嵌入式数据库系统的设计

2.1 嵌入式数据库系统的设计含义

出于对移动数据终端的需求的满足,以及为实现嵌入式数据库系统的功能,嵌入式数据库一般被分为3个部分,分别是数据库、数据源和交互模块。通过上述模块可以看出嵌入式数据库系统的设计特点,嵌入式数据库系统的高技术性和高性能性就是嵌入式数据库系统的设计含义。在嵌入式数据库的3个组成部分中嵌入式数据库可以存储的数据容量较小,所以导致数据库的可靠性略有降低,但是这一缺陷会让数据源完美解决,但是数据源只存在于计算机中不可以随时进行交互,所以这时就应用到了嵌入式数据库中的交互模块,通过交互模块可以实现数据的传输。这种数据传输不但可以单向传输,还可以实现嵌入式数据库和数据源之间的信息交互传输,通过这种方式可以实现数据的及时和一致。交互模块是数据交互的桥梁,负责沟通嵌入式数据库和数据源,只有正确合理地应用数据库的3个组成部分才能使嵌入式数据库系统正常稳定工作,在正常工作的同时还能保持其便携的特性。三种部件互相结合的方式,就是嵌入式数据库系统设计的主要方式。

2.2 嵌入式数据库系统的设计特点

在传统的网络连接中采用的连接方式都是固定的网络连接,就是对于不同网络节点的固定持续链接,这样可以很好地保持网络的连通。随着移动数据技术的不断发展,这种网络连接方式已经不能满足移动数据终端对于移动网络节点的连接。移动数据终端所使用的移动数据库对于性能的要求较一般的数据库要高很多,所以采用嵌入式数据库系统设计,这种设计是基于传统数据库的拓展,但是有着更加良好的性能。移动数据库是通过用户终端访问服务器的固定节点来获取动态数据信息的,基于这个原理可以把计算机中的数据库管理系统看成动态数据库管理系统。从设计特点来说,传统的数据库系统与嵌入式数据库系统有着非常大的不同,并且在移动计算机环境下使用嵌入式数据库系统不论性能还是效率上都大大优于传统数据库系统。嵌入式数据库系统的主要设计特点包括对SQLsever的技术标准进行支持,对事务的管理功能和完备的数据库管理功能,同时还可以提供许多嵌入型操作系统的应用。

3 嵌入式数据库系统的应用技术和发展前景

3.1 嵌入式数据库系统设计的主要应用技术

当今嵌入式数据库系统设计中的一项主要技术就是对数据库中数据的复制和缓存。通过使用这项技术可以将数据库中较为重要的数据存储在不同的网络节点中,一旦数据库中的数据发生丢失就可以通过存储在不同网络节点的数据进行数据库数据的恢复。从严格的意义上来讲,只有数据库之间的数据复制才能称得上数据的复制,而计算机上的数据复制其实是属于数据的缓存。复制功能可以在很大程度上提升分布式数据库的可靠性和访问性能,但首要前提是不同节点所储存的数据具有一致性。设计复制功能时所使用的技术不同就会导致复制功能的不同,将这种不同称为强一致性和弱一致性。在进行嵌入式数据库系统的设计过程中如果需要保持数据的一致性不变就要使用强一致性的复制功能,如果没有很严格的要求就可以在短时间内使局部的数据不同,这种复制称为弱一致性复制。但是不相一致的数据一定要保持在一定的数量范围内,并且随着时间的推移最终实现数据的一致性。当今嵌入式数据库系统设计中的另一项主要技术就是数据广播,通过这项技术可以实现数据和信息的周期性传递,对于处理数据库断接问题有着很大帮助。

3.2 嵌入式数据库系统的发展前景

随着电商的不断发展,物流业也随之壮大,嵌入式移动数据库系统可以被应用在物流方面。嵌入式数据库系统可以实现对物流进行准确跟踪,在物流运输的过程中,可以利用嵌入式数据库系统技术将运输信息中的移动数据信息传递,进而保证运输中一切行踪都在总系统的控制范围内,这样非常有利于物流信息的更新。嵌入式数据库系统技术也可以应用在银行上,随着我国技术的不断发展,移动支付的市场占有率不断上升,所以银行移动化也是大势所趋。嵌入式数据库系统应用到移动银行可以使用户对自己账户交易信息进行实时查询,不但方便办理银行业务的用户,也节省了大量的人力物力,提升银行的业务效率。

4 结语

随着我国计算机信息技术的不断发展和进步,人们在使用移动数据终端的时候对于移动数据终端的要求也越来越高,所以为了解决这个问题,嵌入式数据库系统顺应而生。嵌入式数据库系统可以顺应时展的需要解决当前移动数据处理的需要,从而提高移动数据终端的运行效率。在对嵌入式数据库系统进行研究的过程中一定要注意对嵌入式数据库系统的概念的把握,同时还要明确应用的前景和应用技术。随着对嵌入式数据库系统设计的研究不断深入,嵌入式数据库系统会不断完善,并且有着更好的应用前景。

参考文献

第7篇

关键词:会员制 数据库营销 策略

会员制是一种人与人或组织与组织之间进行沟通的媒介,它是由某个组织发起并在该组织的管理运作下,吸引客户自愿加入,目的是定期与会员联系,为他们提供具有较高感知价值的利益包。数据库营销是企业通过收集和积累会员信息,运用一定的方法对会员信息进行数据挖掘,经过分析筛选后有针对性的使用电子邮件、短信、电话、信件等方式进行关系维护的营销方式。学者孙睿在《会员制零售企业数据库营销的实施》中对在会员制的基础上实施数据库营销策略的优势与方法进行讨论,提出数据库营销在会员制中应用的重要性。而在我国实际市场营销中除了电子商务领域会员制与数据库营销的深入运用,在终端零售运用的还比较少。

从市场营销的本质即以顾客价值为核心,数据库营销实际上就是保持价值,主要目的是获得顾客、保持顾客,从而实现顾客忠诚,最大限度实现顾客价值。从会员制数据信息中获得顾客信息,再通过数据库营销将顾客的价值最大化,是会员制与数据库营销价值的重要体现。

一、数据库营销对提升会员制的作用分析

第一,数据库营销理念是提升会员制效果的基础

会员制在我国的发展已经有一定的基础,在对会员信息收集方面得到很大的发展,现代营销中如何有效利用会员信息成为今后研究的重点。会员制中对会员信息的收集非常广泛,但是这些信息是否真正能够在市场营销发挥真正的作用还有待调研。数据库营销能很好的解决这个问题,数据库营销的理念就是通过收集和积累会员信息,运用一定的方法对会员信息进行数据挖掘,再分类对这些消费者制定不同的营销策略。数据库营销理念是把数据库营销应用在会员制中的基础。

第二,数据库营销技术是提升会员制效果的核心

数据库营销中,对数据分析的技术飞跃发展。数据分析通常需要掌握各种数据统计软件,还有数据分析工具,例如,柏拉图、相关分析、回归分析、ANOVA分析等。这些数据分析方面的技术以及软件就是对会员信息分析处理的核心问题,如果这些问题被解决,那在对会员信息的数据挖掘过程中就会有事半功倍的效果。而数据库营销技术能够有效的利用会员信息,通过数据分析、数据挖掘以及营销策略制定等来挖掘会员信息的有效值,解决对会员信息利用不充分的问题,达到提升会员制效果的作用,因此数据库营销技术是提升会员之效果的核心。

第三,数据库营销团队是提升会员制效果的关键

任何一个项目都会有他的项目团队,数据库营销既然被应用,那就不能缺少它的团队。如果说数据资源和分析技术是提升会员制效果的核心和基础,那么这个数据库营销团队就是它的关键。团队力量是数据库营销中的软实力,是在提升会员制效果中不可或缺的因素,会员制的应用需要智慧的支持。同时团队这个因素也是最不容易被控制的。

第四,数据库营销环境是提升会员制效果的保障

会员制中的会员信息提供数据支撑,数据库营销理念奠定思想基础,数据库营销技术提供核心支持,营销团队把握关键方向。市场营销中,数据库营销是今后发展的重大趋势,营造一个良好的数据库营销环境是每个企业共同追求的,在这个大环境下,数据库营销才能够更顺利的把数据库营销应用在会员制中,因此数据库营销环境是进行保障。

二、会员制对数据库营销的作用

一般情况下,会员制组织是企业、机构及非盈利组织维系其客户的结果。他通过提供一系列的利益来吸引客户自愿加入,而加入会员制组织的客户称为会员,会员制组织与会员之间的关系通过会员卡来体现,会员卡是会员进行消费时享受优惠政策或特殊待遇的“身份证”。会员通过会员卡来消费,消费记录也同时被保留在企业的数据库中。而数据库营销是在掌握客户信息的前提下,利用工具对客户信息进行挖掘,得出有效的营销信息。数据库营销中,顾客信息是最重要的资源,因此,会员信息是进行整个数据库营销的基础。

随着对数据库营销与会员制中存在问题的逐步认识与加深,国内外越来越多的学者认为会员制是数据库营销的基础,数据库营销是会员制价值的重要体现。通过对会员数据的收集与提炼,随着数据库营销的步步推进,将来会员制与数据库营销可作为企业与客户之间联系的一个纽带,完全可以使企业在营销层面深耕细作,步入蓝海,赢取更大的利润。

参考文献:

[1]孙睿.会员制零售企业数据库营销的实施.网络财富,2006年12期.

[2]王方华,陈洁.《数据库营销》(2006)上海交通大学出版社出版.

[3]塔普.《数据库营销》.机械工业出版社出版,2011年10月.

[4]李守强.《封闭会员制下的数据库营销》.北京,经济科学出版社.

第8篇

【关键词】数据库设计;单元测试;集成测试

一、数据库设计

本系统为面向关系数据库的关键字查询系统,在实验中本文选取了IMDB 数据集,为了进行实验,将数据集整理为以下七个表数据结构。

实验数据集(电影信息数据库):

Actor(演员表)、Consume(设计师)、Director(导演信息)、Business(投资)、Editor(编辑)、Color(颜色信息)、Keyword(关键词)。本数据库抽象的数据库关系E-R图如图1所示。

二、单元测试

为保证代码中SQL语句的正确性,需要对数据库中数据进行查询检测,当输入关键字为“black”时,查询结果如图2所示。

通过外键mvname的连接,再查询Business关系表,显示结果如图3所示。

图3说明当关键字是“black”时查询出来的actor表中,与business中mvname相同的值没有。当关键字为“a”时查询两表,显示结果不为空,如图4所示。

按照上述方法和SQL语句依次查询检测其他关系表。

三、集成测试

在确定系统代码中关键字转化的SQL语句都正确的前提下,进行系统测试,即进行关键字检索测试。

(一)当输入的关键字为为单关键字时,关键字分析过程比较简单,假设检索关键字选择“keyword”,查询结果如图5所示。

关键字“keyword”为表名,直接输出keyword表即可。

(二)当输入的关键字为多个时,情况比单个的复杂一些,假设检索关键字选择“director color”,检索结果如图6所示。

显示的结果中,包含director和color均为表名时两表合一的元组;director为表名color为color表中属性名时,通过mvname、mvyear、setname、episode、made、explantaion等属性值相等连接后的元组;以及director为表名、color为director和color两表中的属性值时,同样通过mvname、mvyear、setname、episode、made、explantaion等属性值相等连接所得元组。这三种情况合到一起即为关键字“director color”的查询结果。

四、结语

从单元测试的角度,在MySQL数据库中测试了系统代码中SQL语句的正确性。最后,系统测试中测试了系统的关键字检索功能,从单关键字和多关键字的角度验证了系统中的查询功能,保证了系统的正确性、可靠性。

参考文献

[1] Mac K,David J,Linda C.A hierarchical Dirichiet language model[J].Natural Language Engineering,1995,1(3).

第9篇

【关键词】关系型数据库 树型结构 动态表字段 预留属性字段

任何信息管理系统都离不开数据库的参与。现在的应用程序开发采用的数据库大多是关系型数据库。虽然各个信息管理系统在业务内容上有很大区别,但是从数据本质上看,主要包括数据的录入(增删改)、数据的查询排序、数据的导入导出、数据的统计分析、数据的打印、数据权限控制等。这种数据操作上的通用性,使得每个信息管理系统的数据库设计之间具备了可借鉴的基础。

数据库设计最基本的原则就是遵循3NF设计。然而仅仅遵循3NF设计对实际开发应用系统来说是不够的,为了简化业务逻辑的复杂度和适应系统新增功能的要求,避免因业务扩展对原有的数据库表进行大换血,本文结合实际的经验介绍一些数据库设计的技巧。

1 树型结构的数据表的设计

信息管理系统中通常有树型关系的数据,例如分类目录表,即一个大类,下面有若干个子类,某些子类又有子类这样的情况。用户希望可以在任意类别下添加新的子类,或者删除某个类别和其下的所有子类,而且预计以后其数量会逐步增长,此时我们会用一个数据表来保存这些数据。如果严格的按照3NF会设计出类似如表1的数据表结构。

为了实现这样的列表显示,就要对Table_Type表进行N次检索,整个程序的运行效率很低。由此可知,尽管满足3NF,但不一定是最佳的数据库设计,我们对该数据表扩充一个字段表示分类目录的级次,就只需一次检索显示出上面的列表,表2是扩充后的数据表结构:

按照这样的表结构,上面列表记录在表中的数据是如下显示的,用SELECT * FROM Table_Type_2 ORDER BY Type_layer检索。如表3所示。

这种数据表的设计明显优于刚才第一种的设计。新增加的Type_layer字段完全能够替代原来Type_father字段的功能,虽然删去Type_father字段依然可以满足用户的所有要求,但是再插入、删除某个类别的时候,就得对Type_layer的内容进行比较繁琐的判定,所以这个字段应当保留,这就是数据库设计中适当保留特征数据用以降低程序复杂度的原则。

2 动态表字段的数据表的设计

例如档案管理系统中的档案信息对不同种类的档案来说是不固定的,同一种档案对不同企业的不同管理方法来说是不固定的。比如工程管理类档案案卷信息会有属性:案卷编号、案卷名称、份数、页数、编制单位、编制日期,设计出档案信息表如表4。

很可能档案馆在试运行的时候会要求再加一个“设备位号”的信息,将上面的数据表增加设备位号信息并修改所涉及的代码、测试;很可能再运行的时候会要求再加一个“版次”等信息,按照老办法,继续增加数据表并再一次修改所涉及的代码、再一次测试。面对这种数据信息不固定的业务,如果数据表按照这种方式增长下去,程序按照这种方式修改下去肯定不行,必须找个解决方案能够自适应这种不可预见性的信息增长。增加属性信息表Talbe_FileProperty,如表5。

根据增加的这个档案属性表,在系统的后台管理功能中追加一项档案属性管理的功能,以后添加新的属性时,只需利用该功能往属性表里增加一条记录即可,不需要修改代码了。这种动态表字段的设计满足了系统扩展的需要。

3 预留属性字段的数据表的设计

在实际的系统开发中,如果能在设计数据表的初期全面的考虑到软件未来可能扩展的功能,预留出相应的字段,这样的数据库可扩展性较好,对代码的影响也可以降到最低。以下谈几个增强可扩展性方面的技巧:

3.1 主键的设计技巧

通常的设计,主键往往选择与业务逻辑相关唯一标识。但是,这种设计并不好,往往无法满足未来需求的变更。比如在档案管理系统中,档案编号这个信息是可以唯一标识出档案的,按照主键设计的要求,完全可以用它来做主键。假设系统在运行了一段时间后,发现档案编号的规则需要调整,这时需要修改档案编号,但是发现其他模块的信息,比如借阅模块的信息中与档案编号是关联着的,如果一旦修改了档案编号,其他模块的所有关联就必须相应修改,这时需求的变更影响太大,在现有的设计下,要大换血才能够满足,当已存数据到达一定量的时候,这种修改的工作强度几乎是不可完成的。

基于这个原因,每个表都定义一个与业务逻辑无关的“id”字段用作库表记录的唯一识别,不将业务逻辑牵扯到数据逻辑中,否则业务逻辑的变化将直接对底层数据逻辑产生根本的影响。因为与业务逻辑无关,所以主键不会存在需求变更,需求变更也不会影响主键,相应的也不会影响与主键相关联的数据表信息。

主键生成机制采用通过内存数据直接生成主键的方案比较好,比如uuid.hex(由Hibernate基于128位唯一值产生算法,根据当前设备IP、时间、JVM启动时间,内部自增量等参数生成十六进制数值作为主键),这种方式提供了最好的数据插入性能。而数据库提供的主键生成机制,往往是通过在一个内部表中保存当前主键状态如当前的最大值和递增量,之后每次插入数据会读取这个最大值,然后加上递增量作为新记录的主键值,之后再把这个新的最大值更新回内部表,这样,一次Insert操作可能导致数据库内部多次表读写操作,同时伴随的还有数据的加锁解锁操作,对性能影响较大。

3.2 增加排序字段的设计

当做需求调研时,客户的着重点往往放在数据的流程与相互联系上,往往忽略了数据显示的问题,但是我们在设计数据表的时候要全面的考虑显示问题,显示的一个重要的方面就是显示顺序,在设计时,应预先设定排序字段。比如部门表,通常应该有部门名称,部门描述这样的信息,这些信息能够完全满足关联信息的需要,但如果统计模块要统计出部门里所包含的用户,并且要按照部门级别显示,就需要增添排序字段。在设计数据表的初期就应当把排序字段加入,不管目前是否有排序的要求,这样的扩展可以减少业务变更时的影响。如表6所示。

3.3 基础数据表类别字段的设计

基础数据表是指一些被引用的数据表,比如用户表的信息,这个表往往被其他表引用。这种数据表的设计往往要增添区分数据类别的字段,比如用户表一般增添用户类别字段用以区分系统用户和普通用户,而且还能进行进一步的扩展。

3.4 部分基础数据表删除标识的设计

部分基础数据表的主键信息被其它表引用,如果删除此表中的记录,往往引起其他信息关联不上。对于这种情况,主要有两种设计思路,要根据具体情况选用适合的设计。

(1)将关联表中的信息一并删除,这时要注意关联表中的信息是否允许删除,如果允许,这种方式合适使用,注意保证数据之间的完整性。

(2)将基础数据表中增加一个标识是否删除的字段,这种方案主要解决关联表中的信息不允许删除的情况。这种方法也要注意维护数据之间的完整性,比如分类目录与档案条目之间是一对多的关系,如果将分类条目里的是否删除的标识置为已删除,但是依然要维护档案信息表中的删除标识字段,统计档案总数的时候会将已删除的档案统计进去,出现错误。

参考文献

[1]王珊,萨师煊.数据库系统概论.高等教育出版社.

[2]夏昕.深入浅出Hibernate.电子工业出版社.

作者简介

李华娟(1980-),女,北京市人。硕士学位。现为工程师。主要研究方向为软件开发及项目管理。

第10篇

关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。

当前主流的关系型数据库有Oracle、DB2、MicrosoftSQLServer、MicrosoftAccess、MySQL等。

(来源:文章屋网 )

第11篇

关键词:人保财险 计算机信息系统 数据库

中图分类号:F240 文献标识码:A 文章编号:1672-3791(2013)02(b)-0033-01

1 现状分析

伴随着全国保险事业的飞速发展,人保财险业务越来越需要计算机系统和网络操作系统的支持,目前介入该保险业务的各个系统能够针对不同的业务进行电子处理和信息化处理,但是应用多套处理系统的同时会产生众多缺点。

(1)在众多应用系统之间会产生严重缺乏的信息沟通,随着人保财险业务的不断扩大和发展,公用的后台数据库也变得逐渐庞大和复杂,数据结构之间的复杂程度日益增大,这种现象更会削弱数据的关联性。

(2)由于要实现各种保险信息的获取,必须采取数据抽取的方式,随着数据抽取方式的多样化和复杂化,数据抽取的频率也大大增大,这使得对数据库数据的访问的复杂程度大大增大。如果不能够在计算机体系和结构上进行相应的调整,随着数据不断庞大,会产生很多难以预料的严重问题,例如对保险数据处理的效率降低,甚至难以将保险数据转化为信息等。

由此看来,仅仅在将数据统一集中于后台服务器是远远不够的,还必须能够充分调度和利用该数据,因此分析数据为管理和决策提供服务,逐渐成为了人保财险计算机信息系统数据库建设的重要内容。

2 商业的智能化

商业的智能化是基于对商业信息的搜集、整理和分析的过程,实现商业智能化的目的是让企业的各级管理机构获得足够的洞察力,从而能够使他们更有效率,更加准确的对企业做出相应的决策。商业智能化的模式主要是有以下几个部分组成:数据库部分,数据的分析和处理部分,数据的分析和挖掘部分以及数据库自身的备份和恢复功能部分。

另外,实现商业智能化的关键是从很多来自于不同单位运作系统中的数据中抽取需要的、有用的数据井进行分析和处理,并在此基础上应用适当的数据查询和数据分析工具进行分析,最后将结果直接呈现给决策管理者,为决策者提供技术支持。

3 人保财险计算机信息系统结构

(1)功能模块。保险业务系统的主要功能模块包括以下三个部分:一是报表模块部分;二是查询模块部分;三是管理模块部分。该三部分的相互关系如图1所示。

(2)系统的组织结构。人保财险的系统组织结构是以省级单位为中心进行的组织管理和统一核算,数据的管理模式采取统一的垂直系统管理模式,可以分级为省公司、地市级别的公司和其他分支公司,而省公司是一个省的人保财险的统一管理部门。

在业务分析的系统方面,要求人保财险计算机信息系统数据库能够面向全省,能够为社会各级保险业务部门提供统一的分析和查询,从而达到一级部署三级应用的目的,这一目的无疑对系统的安全性级别提出了更高的要求。

(3)数据库系统中对数据安全性的控制。对数据进行访问时具有安全性是人保财险计算机信息系统数据库的设计重点,根据系统分级:不同层级之间会选择访问不同的业务数据库。例如:具有省级管理级别的业务人员能够有权限访问全省范围的人保财险数据,而地市级别的公司的决策者或者管理人员只能够访问其管辖的地市级的数据库财险业务,而其他分支公司的人员以此类推只能访问其所在公司的财险业务。

4 对人保财险计算机信息系统数据库关系模式探析

分级别建立一套完整的保险业务体系,可以通过不同的展示手段(报表手段和查询手段)从不同的层次和不同的角色出发来使业务数据充分获得展示,根据其对不同业务管理的要求制订了一套完整的业务统计保镖,以充分展示保险和理赔等业务方面的数据信息。

人保财险业务系统的构架。人保财险业务系统的基本构架采用三层数据模式,包括数据报表的展示层,财险数据的存储层和数据的清洗层。其中数据报表的展示层主要是用来对用户展示数据分析的最终结果,为业务人员和用户提供最直观的图形化的界面,以提高人员的业务分析能力。财险数据的存储层建立的主要目的是为了给展示层提供数据支持,便于数据的抽取和程序的转换。最后,数据的清洗层的建立是为了能够从不同的业务数据库中进行写入,为人保财险数据的储存做好充分的准备工作。

最后,人保财险计算机信息系统数据库分析系统是在为了实现全省统一的信息平台的基础上面而实现的,从人保财险业务管理的角度来看,该业务系统集中后的数据和管理手段也同时集中到了省级的管理公司,人保财险计算机信息系统数据库分析系统将业务系统备份的数据库作为稳定的数据库源,统计分析生成报表,从而使一级部署三级应用得到了实现。

参考文献

[1] 杨勇.人保财险四川分公司计算中心安全体系研究[D].电子科技大学,2008.

第12篇

关键词:数据同步; 容灾系统; 数据仓库; oracle高级复制

0引言

尽管人们小心谨慎,各种各样的灾难仍不可避免,如系统硬件故障、网络故障、机房断电甚至火灾、地震,广为人知的“9·11”事件就是触目惊心的例子[1]。这些灾难造成了重要数据的丢失,影响了企业的正常运转[2]。另外,激烈的市场竞争迫使企业高层寻找更为科学、系统、有效的辅助决策技术和整体解决方案来处理日益复杂的公司事务。数据挖掘就成了很好的选择之一,但是数据挖掘需要大量的生产数据,有时甚至是实时的生产数据。如果直接在生产系统上进行数据挖掘,必然会影响到生产的效率,并将严重威胁生产的稳定运行。如何在灾难发生时能够保留生产数据,并启用异地容灾系统及时恢复生产,如何把生产数据及时传递到数据仓库供数据挖掘使用,这些是现代企业需要面对的共同问题。

近年来为了解决上述问题,许多企业不惜耗费巨资来分别建立异地容灾系统和数据仓库。但遗憾的是,很多系统由于无法及时准确地同步生产数据,不能有效地运行。鉴于此,笔者设计并开发了一套基于oracle高级复制技术的数据同步软件,实现了将一个数据容量为3tb的oracle 9i rac数据库的生产数据及时准确同步到异地容灾系统和数据仓库。该系统不仅将对原生产系统的影响降至最小,还极大地降低了项目费用。

1软件模型

该软件的功能模型图如图1所示。

(1)初始同步模块

该模块主要是在表进行初始同步时使用的;它能够根据实际需要生成物化视图及其索引的创建语句,并完成表的初始同步。如果没有特别的要求,则调用普通初始同步子模块进行目的端表的初始同步,创建语句将从源数据库获取;如果有特别的要求,如按指定的分区初始同步或者按照一定的条件进行初始同步,则会根据这些要求调用分区初始同步或条件初始同步子模块生成特定的创建语句来进行目的端表的初始同步。该模块能够批量自动进行表的初始同步,从而大大减少了人工干预,保证了初始同步的准确性和自动化。

(2)调度模块

由于源端的数据在时刻变化着,在初始同步模块的基础上需要有一个调度模块将这些不断变化的数据同步到目的端,使目的端与源端始终保持数据一致性。该模块中的增量调度子模块是在表的增量同步过程中使用的,并能根据刷新间隔要求对目的端表进行及时准确的刷新;完全刷新调度子模块是在对表进行重新同步时使用;特殊要求调度模块是给需要做特殊同步的表使用的,如需要暂时停止同步、在每天的固定时间不同步等。

(3)监控模块

该模块是为了及时发现同步中断和同步效率低的表。由于其告警方式为短信告警,可以实现任何时间、任何地点的告警,保证了能在第一时间发现同步的中断以及同步效率低下的情况,实现了异常处理的及时性。

(4)错误处理模块

该模块主要是处理同步刷新过程中出现的各种错误。通过对捕获的错误进行相应的处理,从而保证同步能够稳定、高效地运行。另外,由于oracle高级复制技术自身存在一定的缺陷,需要使用该模块来捕获造成数据不准的源头,并进行相应的处理。

(5)优化模块

该模块主要是处理同步过程中出现的性能瓶颈,保证能够及时发现性能问题并采取相应的优化手段来加以维护,包括源端优化和目的端优化。

2系统设计和体系结构

数据仓库中同步的数据只要实现小时级别的同步就可以满足要求,但异地容灾的数据库实时性较高,基本上都要求实现分钟级别的同步。现在生产数据库总的数据量约为3 tb,容灾需要同步的数据量比数据仓库要大得多,而且数据仓库需要同步的数据都可以从容灾系统中获取;另外,生产数据库的性能和稳定程度对公司生产有直接的影响。因此在同步过程中,不仅应该尽量减少生产数据库的负担,还应该尽量避免同步过程中的异常情况,如网络故障、同步性能低下等问题[3]。基于以上考虑,笔者设计了如下方案:先将生产数据同步到异地容灾系统后,再以异地容灾系统为数据源同步数据到数据仓库。

系统的体系结构如图2所示。

(1)生产系统数据同步到异地容灾系统

生产系统与异地容灾系统之间是通过百兆网连接的;生产系统的数据库是oracle 9i rac,总的数据量大约为3 tb,涉及五千多张表。对这些表进行分析归类,发现容灾系统真正需要实时同步的表大约只有五百张,数据量约为1 tb,只要能够把这五百张表的变更及时准确地进行同步,即可在生产系统发生灾难时,启用异地容灾的营业应急系统。鉴于此,本系统数据库使用oracle 9i,同步软件实时同步这关键的五百张表的变更。这样大大减少了同步的数据量,也最大限度地减少了生产系统的负担。从同步运行情况看,该同步软件对生产系统的影响可以忽视。

(2)异地容灾系统数据同步到数据仓库

异地容灾系统与数据仓库之间是通过百兆网连接的;数据仓库需要的生产数据从异地容灾系统数据库获取,因此数据仓库也采用oracle 9i数据库。数据仓库需要实时同步的表大约为三百张。从同步运行情况看,同步生产数据延时大约为十分钟,能满足数据仓库的要求,并且与生产环境没有任何关系,不会对生产环境造成影响。

该系统结构使系统在各个实现层次上均具有明确的界限和分工,既避免了相互影响,简化了数据同步的难度,又实现了对生产系统的影响达到最小化。该结构使得系统易于维护、扩展性好、安全性好、稳定性好。

3采用的关键技术

同步软件采用的关键技术为oracle高级复制技术。该技术能将oracle数据库中的数据同步或异步拷贝到不同的数据库中。将数据复制到复制环境数据库的技术实体叫做物化视图。物化视图可以是只读的、可更新的或可写的[4]。

该技术在不同oracle数据库之间进行复制时可以是同步的,也可以是异步的[5]。同步复制,即复制数据在任何时间、任何复制节点均保持一致。如果复制环境中的任何一个节点的复制数据发生了更新操作,这种变化会立刻反映到其他所有的复制节点上。异步复制,即所有复制节点的数据在一定时间内是不同步的。如果复制环境中一个节点的复制数据发生了更新操作,这种改变将在不同的事务中被传播和应用到其他所有复制节点。这些不同的事务间可以间隔几秒、几分种、几小时,也可以是几天之后。复制节点之间的数据临时是不同步的,但传播最终将保证所有复制节点间的数据一致。

(1)容灾系统使用异步可写物化视图方案

启动营业应急系统要求容灾数据库的这些物化视图是可写的,这样才能保证系统的正常运行,但是又不要求这些变更数据同步至生产系统,因为现在的生产系统已经遭到破坏。可写的物化视图允许用户通过在这个可写的物化视图上进行插入、更新和删除行的操作,但是这些操作不会同样地插入、更新和删除主表或主实体化视图上的行。因此容灾数据库中应该使用这种可写的物化视图;同时容灾数据库的表结构、索引、存储结构应该与生产数据库保持一致,使用该同步软件中的普通初始同步方式来完全拷贝生产系统的表和索引定义。容灾系统数据同步流程如图3所示[6]。

当灾难发生时,应该首先停止生产系统到容灾系统的同步软件,然后启动营业应急系统以保证继续营业;同时因为同步延时了几分钟(最长不超过5 min),所以有可能会丢失少量数据。部分丢失的数据需要通过营业补录的方式解决。

(2)数据仓库是使用异步只读物化视图的方案

数据仓库只要求对读取生产的数据进行分析,因此数据仓库的这些物化视图是只读的就可以了。只读物化视图提供只读的访问表数据。这个表数据来源于一个主体站点或一个主物化视图站点,因此数据仓库中采用这种只读物化视图。另外,数据仓库在分析时一般需要扫描这些物化视图,需要建立与生产数据库不同的表和索引结构,如对表进行分区、建立数据分析需要的索引等。因此应该使用该同步软件中的分区初始同步和条件初始同步方式来建立合适的物化视图及索引。数据仓库数据同步流程如图4所示。

4结束语

从这次生产数据的及时准确同步到异地容灾和数据仓库的实施过程中,笔者通过摸索解决了同步过程中的性能问题,从而最终解决了oracle高级复制技术同步的可行性,保证了同步的效率;在实施和维护的过程中,笔者还逐步发现了该技术本身存在的问题并注意加以解决,从而保证了同步的稳定性和准确性。从这次同步实施过程看,任何技术都存在缺陷,但是本文的探索和创意可以弥补这些缺陷。该系统对于很多企业在设计数据仓库和异地容灾系统中数据同步的方案时有一定的推广意义。

参考文献:

[1]王树鹏,云晓春,余翔湛,等.容灾的理论与关键技术分析[j].计算机工程与应用,2004,40(28):54-58.

[2]刘迎风,祁明.容灾技术及其应用[j].计算机应用研究,2002,19(6):7-10.

[3]杨朝红,宫云战,桑伟前,等.基于主从异步复制技术的容灾实时系统研究与实现[j].计算机研究与发展,2003,40(7):1104-1109.

[4]徐秀华,文必龙,毕硕本. oracle 9i高级复制技术及其应用[j].计算机应用研究,2003,20(11):107-109.