关系型数据库十篇

时间:2023-03-29 22:07:35

关系型数据库

关系型数据库篇1

因特网发展提出的新挑战

自20世纪80年代以来,开发人员在开发企业级应用的时候,关系型数据库已经成为主流的选择,因为这种最初由E. F.Codd博士提出、并由IBM公司作为一种通用数据库而广泛推行的数据库技术已经相当成熟。关系型数据库可以提供高扩展性的高性能事务处理和多平台支持,同时还提供一个数据建模框架,其中很多框架都包括应用开发的脚本语言。

然而,20世纪90年代的因特网革命,使开发人员们已经开始接受新的数据模型和程序范本。一些封装在面向对象的程序理论,如数据与代码结合、信息与方法相结合等,已成为全新的开发路线,打破了传统的关系型数据库的工作模式。同时,因特网革命产生了更复杂的数据需求。数字数据通过因特网提供的大量数字信息在全球得以轻松传播,并因此产生了大量的数据文件或二进制大对象 (BLOBs)――这些都远不是传统的关系型数据模型所能解决的。

面向对象的数据库技术

面向对象是一种远比传统的关系模型强大得多的逻辑结构。一些面向对象的概念,如“对象继承”等,更强调用一种真实可行的角度来看待并处理现实世界的信息。其它概念,如“封装”和“多态”等,则提供了更强大的机制来管理对象,大大提高了可重用性和标准化等编程效率。面向对象还可以很经济地将代码、数据和BLOBs联系在一起,同时为基于因特网的快速应用开发(RAD)提供理想的基础。

绝大多数开发人员已经意识到面向对象理论的实用性和重要性,并已开始采用面向对象的程序语言。然而,面向对象的理论,在很大程度上仍然受制于传统的关系型数据库技术。以网络为中心的数据库必须拥有更强大的性能和伸缩性,这些都是存储信息型的关系型数据库永远不可能做到的。

面向对象的理论与关系型数据库技术的应用开发,产生了“抗阻不匹配”现象,即开发人员的逻辑(对象)结构与物理的二维(关系的)表不相匹配,而所谓的“对象关系映射”在许多应用开发项目中会消耗掉40%的成本。抗阻不匹配的现象,大大增加了开发和平台的成本,并降低了性能和伸缩性。应用越大,面向对象的关系型建模就越复杂,问题就会越严重。

面向对象的后关系型数据库

多年来令开发人员工作轻松的关系模型数据库正令他们越来越头疼。引导潮流的先驱们正不断地去寻求新的数据库管理系统的替代品。

面向对象的后关系型数据库管理系统也许是一个不错的选择。它所采用的灵活的物理结构,可以同时根据关系和面向对象来存储数据。开发人员可以在单一的数据库管理系统中选择最适合应用的开发范本、存储代码和BLOBs。表与对象在数据库层之间能够相互转换,可以作为一种不同系统与不同应用之间数据共享的通用机制来支持SQL。后关系型数据库会带来更低的软件和平台成本、更好的运行性能与伸缩性,并且降低用户跨应用、环境和平台的数据库管理成本。

关系型数据库篇2

关键词:大型关系数据库;Oracle;教学改革

随着计算机技术的发展,计算机应用系统的开发越来越多,需要大批掌握大型关系数据库的专业技术人员,培养和造就这样的专业人员已经成为时代的需求,是大学计算机教学中一个十分重要的方面。由于大型数据库在计算机应用系统开发中的重要地位和作用,突出抓好大型关系数据库的教学已经别无选择。同时,大型关系数据库是一门实践性很强的课程,学生在学习完数据库基础理论后,通过大型关系数据库的学习,可以深化数据库理论的理解,提高并培养综合运用知识、解决实际问题的能力。对学生科研能力、工程能力和创新能力的培养具有重要作用。因此,对这门课的教学模式值得进行认真的研究与探讨。

1大型关系数据库Oracle的教学现状

随着社会对大型应用系统开发要求的日益增多,大型数据库开发相关的人才需求也不断增加,比如:Oracle、SQL SERVER和DB2的数据库管理员等,特别是Oracle数据库管理员,在比较大型的网络应用中需求量更大。太原理工大学五年前就在选修课中开设了“大型关系数据库Oracle”。但是大型关系数据库Oracle技术要求高,实践性要求很强,加之学校存在教学管理、资金投入以及师资力量不足等诸多因素的困扰,使得这门课的教学质量很难尽如人意,存在较为严重的不足与缺陷,具体表现如下。

1.1没有合适的教材和合理的大纲

我校计算机系最初采用Oracle公司厂家提供的培训教材,其内容较多,分体系框架、PL/SQL指令、性能调整和备份与恢复等内容[1],而大学教学中该课程的学时有限,教学过程中很难做到面面俱到,要想让学生更进一步深入领会并形成应用能力存在一定困难。后来学校又采用了ORACLE的技术书籍进行教学,但是这些书籍基本侧重点各不相同,导致教学过程中内容不够全面,重点难点不易把握,教学效果也不十分理想,很难适应高校教学的需要,很难满足学生求知的欲望,更主要的是不能够适应社会的需求。

1.2重理论,轻实践

在这么几年的ORACLE教学摸索中,由于学校数据库服务器和网络条件的限制,更多地关注的是理论教学,许多交互性演示的例子也是用PPT展示,学生很少参与甚至不参与具体的操作过程,导致学生很少接触到解决实际问题的环节,给学生的感性认识不强。再加上配套的教学实验环节较少或根本没有,学生很难有动手机会,使理论与实践得不到衔接,影响了学生综合素质的提高。

1.3重技术,轻应用

即使在教学环境和条件具备情况下,有的教学过程也只是满足于让学生掌握知识点,至于这些知识点在实际开发中如何应用,知识点之间如何贯穿联系等相关综合性素质的培养,没有渗透到教学中,导致学生的知识停留在点多线短,缺乏联系的层面,不能形成较为系统综合的结构体系。比如触发器,很多人只知道它的定义,会编写,但是在一个项目中何时用、怎样用等内容,在教学中则很少涉及,使学生感觉所学的知识与实际应用存在较大的差距。

这些问题和不足已经引起一定程度上的关注和重视,我们学校在不断加大对大型关系数据库教学的改进力度的同时,积极组织编写适合高校教学的相关教材,逐步尝试加大教学实验环节的学时数,增加实训、项目模拟等项内容,给学生以更多实践的机会,提高其综合应用所学基础理论知识的意识和实际动手的能力,为造就更多学识丰厚、技术高超、学以致用的高素质人才,为不断满足时代和社会对数据库技术人才的需求,创造了一定的教育教学条件。

2教学模式的改进方法

针对目前存在的问题,进行大型关系数据库课程教学的改革尝试,我们认为应该注重把握好以下几个方面。

2.1精心挑选、把握精髓,选择较好的教材

Oracle数据库的厂家标准培训教材和相关的科技书籍不能拿来就用。首先必须根据大学教学大纲的培养目标要求,从中选取适合学生的内容。我们知道大型关系数据库课程要培养的是能够进行数据库设计、开发和维护的数据库管理员(DBA)[2]。一般情况下,数据库管理人员分为三类:软件开发型DBA,软件维护型DBA和系统设计型DBA。本科教育教学大纲要求培养的是兼顾前一、二类的高素质人才。所以,在教学教材内容的选取上,就要着眼于Oracle数据库的基本编程操作和基本管理能力的培养,而把数据库的系统架构和性能调整等内容放在次要的地位,指导帮助学有余力的学生自学,以丰富其知识积累。在基本编程操作教学过程中,要注重对数据库的数据操纵语句DCL、数据查询语句DQL和过程编程语句PL/SQL的把握,而对数据定义语句DDL等让学生了解即可。在基本管理教学过程中,限于教学课时的制约,可以适当倾向于用户管理、权限管理、基本对象管理等方面内容的学习,而将其他的技术管理内容作为学生的自学内容。这样可以使教学工作做到学有目标、富有实效,学生学习做到入门快、有兴趣、收益大。其次,要本着管用有效、突出重点的原则筛选教学内容,选择计算机应用系统实际开发中常用、多见的知识,组织开展教学,引导学生掌握精华和要害,使学生能够充分利用有限的时间,学到最具实用价值的知识和技术。

2.2把握理论和实验相结合这一教学过程中的关键点

大型关系数据库实践性很强,光讲理论和架构,学生不容易掌握,难以形成能力,所以应该强化实验。这门课的教学共有32个学时,我们现在把相关理论知识压缩在12学时内讲授完毕,用剩余的20个学时,让学生做24个实验,通过这些实验,引导学生掌握数据库对象管理、数据库编程基本操作、数据库安全管理、文件管理、表空间管理、备份管理、状态监测等方面的操作技能[3]。使学生能够兼具理论性和动手实践能力,有效地了解和掌握Oracle数据库系统操作和管理。

2.3注重知识点在工程开发实例中的综合运用

掌握了数据库的基本理论和基本操作技能后,如何在实践开发中应用所学知识,就应当成为我们教师和学生共同关注的问题[4]。因此,有必要在大型关系数据库Oracle的教学过程中,引入Oracle工程开发。在我校的ORACLE课程的内容中,我们以一个学生成绩管理系统为例,从系统的需求分析开始,介绍实体关系设计、系统逻辑结构设计、系统物理结构设计、数据库实施、系统存储过程设计、触发器设计、数据导出和初始化设计等,在全过程实例系统开发中,让学生体会数据库技术在项目开发中的应用,同时掌握各个知识点在实践中的综合运用。这部分作为学生了解的内容,课时为4学时左右,建议在有条件的学校,可以类设计一个大的课程设计题,要求学生模拟项目开发中数据库开发的全过程。我校教学实践证明,这样做的效果非常好,不但巩固了课堂教学知识,同时促使学生发挥主动性,掌握很多其他数据库课堂上没有来得及涉及的内容。

3总结与展望

设立大型关系数据库选修课的目的,就是要培养适应社会需求的具有实践能力和创新精神的数据库管理技术人才。在现有的教学资源条件下,如何有效地进行教学改革、完成教学目标、培养合格人才,已经成为该项课程教学的迫切任务。

对于教学内容和教学方法这两个教学中的关键点,我们提出如下的改进思路:精选教学内容、加强实验环节和注重工程实践。

大型关系数据库的教学对教师和学生提出了更高的要求,需要在教学实践中勤于探索,即时总结,不断改进,以明确的培养目标来选择教学内容,以具体的实际应用为教学导向,以真实的系统开发设计实践为重点[5],就能够在教学实践中取得好的教学效果,提高学生的理论与实践水平,培养学生的专业素养。只要我们真诚地为学生着想,为社会服务,就一定能够使大学教育教学工作受到学生的欢迎,得到社会的承认,不断提高我们的办学水平,为国家为社会培养更多更好的有用人才,服务社会主义和谐社会建设,推动中华民族的伟大复兴。

参考文献:

[1] 安志远. 数据库系统原理及应用实训教程[M]. 北京:中国水利水电出版社,2004.

[2] 罗琼. 数据库应用型课程的设置与实践[J]. 科技信息, 2009(15):36-37.

[3] 员亚利,高春玲,陈红梅. 计算机专业“大型数据库”课程教学研究与实践[J]. 计算机教育, 2008(12):3-4.

[4] 祝朝映. 任务驱动在计算机教学中的探索与实践[J]. 教职论坛,2003,(10):56-57.

[5] 向琳,左德承,罗丹彦,等. “计算机设计与实践”课程创新性实践教学探索[J]. 计算机教育,2007(3):16-18.

The Improvement of the Teaching Pattern of Large-scale Relational Database Oracle

QIANG Yan

(College of Computer and Software, Taiyuan University of Technology, Taiyuan 030024, China)

关系型数据库篇3

【关键词】Hadoop;非关系型数据库;安全技术;HBase

1.Hadoop云计算环境与HBase

Hadoop是一个分布式系统环境,能够运行于大型集群上。Hadoop主要包括两个方面:HDFS文件系统和MapReduce计算框架。在Hadoop中用户无需详细了解底层系统的实现细节,即可开发分布式应用程序。在云环境的实际使用时,用户的核心数据需要上传到云端,这就会使用户考虑云端是否能够保障这些数据的安全性、完整性以及可用性。作为典型的一种云架构,Hadoop环境的用户在连接服务器时无需验证即可与服务器进行通信,这就难免存在数据的安全性问题。

Hadoop上集成应用最多的非关系型数据库是HBase,HBase的架构是典型的主从结构,包括一个Master和若干个RegionServer,另外还使用Zookeeper作为其数据一致性的协调程序。HBase数据库底层存储数据时使用的是Hadoop的HDFS文件系统,客户端在借助HBase API访问存储在HBase数据库中的数据。

Zookeeper的作用是保证整个HBase集群中只有一个master节点,同时实时监控regionserver的状态,一旦regionserver不能继续提供服务,zookeeper会将其状态通知给HBase Master。

HBase数据库中有两张特殊的系统表:-ROOT-和.META.。-ROOT-系统表中存储的是.META.的分片(region)信息,.META.中则存储了所有的用户表的分片(region)信息,每个分片都可以存储到不同的regionserver上。这种类似B+树的三层结构,可以实现高效的rowkey查询,并保证HBase数据库是一个高可靠、高可伸缩的分布式数据库。

2.非关系型数据库及其安全需求

云计算技术及电子商务的兴起,使得互联网络上的数据量越来越大,传统的关系型数据库已经难以满足大数据环境中大规模数据处理以及高并发的需求,非关系型数据库应运而生,非关系型数据库具有高并发以及高扩展性等特性,并且具有和关系型数据库不同的存储结构。

与关系型数据库相比,非关系型数据库改变了其数据存储结构和架构设计,从而可以更好地处理高并发以及大规模数据的问题。关系型数据库存储的是结构化的数据,数据存储在行列组成的二维表中,所有行含有的字段完全相同;这样的存储方式虽然有利于表的连接操作,但当数据量很大时会占用大量的存储空间,这在一定程度上限制了其处理大规模数据的性能。非关系型数据库存储的是“键值对”,数据库中每一行的结构不必须完全一致,每行可以有不同的字段,这样的松散数据结构非常适合非结构化数据。非关系型数据库存储数据的结构如图1所示。

与关系型数据库利用SQL语言作为其访问接口不同,非关系型数据库由于没有固定的字段结构,其访问接口是键值对,这种结构设计使得非关系型数据库可以随着数据量的增加而横向扩展,即如果非关系型数据库所在的集群服务器数目增加一倍,则其负载能力也相应提高一倍。

横向扩展主要是通过数据分片(shard)和分区(partition)实现的,数据分片又可以分为垂直分片和水平分片两种;水平分片指的是把表中的行划分为多个子集,这些子集分布在集群中的多个节点上,以此提高整个集群的性能、降低数据出错造成的影响。非关系型数据库中水平分片上比传统的关系型数据库具有更好的扩展性,由于非关系型数据库一倍都是基于键值对模型的,很少对整个数据库进行扫描查询,所以能够简单地通过在集群中加入新的节点对方式来进行扩展。

非关系型数据库一般是分布式的,其数据分布在多个节点上,所以其安全要考虑内部安全和外部安全两方面。前者指的是非关系型数据库内部数据存储上的安全,主要满足的是数据库管理员的安全需求;后者指的是非关系型数据库客户端和服务器之间的安全,主要满足的是数据库用户的安全需求。

3.Hadoop中HBase的安全策略

HBase是非关系型数据库中安全性最完善的,对其安全机制进行研究有助于为其他的非关系型数据库提供一定的参考价值。HBase是集成在Hadoop云计算开发平台上的,所以Hadoop为其提供了访问安全机制。Hadoop的安全特性主要包括四个方面:“基于令牌的认证机制、基于Kerberos的安全认证方案、基于ACL角色控制的权限控制,以及HDFS数据存储的一致性保证和数据完整性验证”。

Hadoop中包含服务级和文件级两类权限验证,其中前者是系统级别的,后者是文件级别的。对于服务级别的安全验证,是通过ACL角色控制实现的,默认情况下hadoop中服务级别的安全验证是关闭的,要想开启服务级别的安全验证,可以将配置文件${HADOOP_CONF_DIR}/core-site.xml中的hadoop.security.authorization属性设置为true。

除了hadoop.security.authorization属性外,还有一组类似的属性可以控制哪些用户可以访问哪些资源。借助基于ACL的角色控制,Hadoop可以保证HBase的底层具备服务级别的安全访问策略,以此限制用户和组对资源的访问,从而防止了非法用户对数据进行恶意操作。

当HBase的底层文件系统对数据进行读写请求时,客户端可以指定访问的用户或用户组,如果不对用户进行认证,则客户端用户就可能伪装为其他用户访问HBase数据库中的数据,基于令牌的认证机制有效解决了此问题。Hadoop中有两种认证机制:基于MD5的令牌认证机制和基于GSSAPI的Kerberos的认证机制;令牌认证又分为两种:对HDFS文件系统的授权令牌认证和对MapReduce任务框架的任务令牌认证。Kerberos认证包括域内认证和跨域认证两种,其认证步骤分为以下几步:

(1)客户端程序首先发送相关信息到AS服务器,这些信息包括用户名IDc、认证域、随机数以及授权服务器TGS等;使用TGS的密钥加密后得到TGT。

(2)客户端程序获得AS的应答后,向TGS发送加密的用户名、认证域以及TGT、服务器名称等相关信息;TGS解密收到的信息,并根据解密的结果对比确定请求的用户、TGT票据的所有者等,并产生对应的TS返回给客户端。

(3)客户端解密收到的TGS应答,并发送TS、加密的用户名及认证域等信息到应用服务器,访问对应的应用资源。

HBase数据库底层的HDFS分布式文件系统具有高度容错性,不仅可以保证数据存储的完整性,而且能够保证数据传输的完整性。Hadoop集群中的DataNode定期检查其自身管理的数据库,并对其进行完整性验证,通过验证的数据块就满足数据存储的完整性;Hadoop的客户端在和DataNode进行数据传输时,会对数据进行传输完整性验证。

HBase协处理器(Coprocessor)是HBase数据库中的重要框架,它可以使用户在服务端插入其定制代码。HBase协处理器分为两种类型:系统协处理器和表协处理器,前者能够全局导入regionserver上所有的表,表协处理器允许用户指定一张表使用协处理器。为了更好地提供灵活得控制,HBase协处理器提供了两种不同的执行模式,分别是Observer模式和Endpoint模式,分别类似于传统关系型数据库中的触发器和存储过程的概念。HBase的协处理器框架允许HBase数据库实现聚合、访问控制等丰富的特性。

4.结语

本文结合HBase数据库的分布式特性,围绕非关系型数据库中数据的机密性、完整性以及一致性,分析了HBase数据库的安全需求。在此基础上,研究了以HBase数据库为代表的非关系型数据库的安全机制,包括基于ACL的角色控制机制、令牌认证机制、HDFS数据一致性机制以及HBase协处理器机制等。

参考文献

[1]蔡平.基于Hadoop的NoSQL数据库安全研究[D].上海交通大学,2012.

[2]张少敏,李晓强,王保义.基于Hadoop的智能电网数据安全存储设计[J].电力系统保护与控制,2013(7).

[3]朱敏.基于HBase的RDF数据存储与查询研究[D].南京大学,2013.

[4]刘河,陈宇.云计算环境下NoSQL数据库技术及应用研究[J].软件导刊,2013.

关系型数据库篇4

关键词:数据库建模;E-R图;正向工程;反向工程

中图分类号:TP311文献标识码:A 文章编号:1009-3044(2007)18-31516-01

Research on Application and Ways to Database Modelling

XUE Chang-chun

(School of Information Management, Wuhan University, Wuhan 430072, China)

Abstract:With the database application more and more widespread, the database modelling method also unceasingly is consummating. Using the database modelling tool may speed up the database modelling, guarantee the design model and the implementation model uniformity, that is more and more important in the software development. How to establish the effective database model, speed up the database creation process, is the key to database application procedure implementation. The article is organized as follows, introduced the database modelling is introduced, and application database modelling tool explanation database modelling process, as well as certain skills about using database modelling tool.

Key words:Database Modelling;E-R Diagram;Forword Engineering;Reverse Engineering

要设计一个数据库,首先就要分析数据库中要存放什么信息,这些信息之间存在什么联系,也就是说首先要确定数据库的结构。数据库的结构,也称为数据库模式。所以,确定数据库结构的过程就称为数据库建模。以下对数据库建模过程加以论述,所述数据库以关系型数据库为研究对象。

1 数据库建模概念

数据库系统通常采用三级模式结构和两级映象功能,即外模式、模式和内模式〔1〕。外模式也称为用户模式,是数据库用户视图。模式也称为逻辑模式,是数据库中全体数据的的逻辑结构和特征的描述。

在数据库建模中要分析现实环境中的各种数据,找出相互联系,具体可以将数据库设计分为六个阶段,需求分析;概念结构设计;逻辑结构设计,物理结构设计;数据库实施;数据库运行和维护〔2〕。对于概念结构设计主要是形成数据字典,绘制实体-联系图,按照关系规范化理论要求将概念模型转换为关系模型,形成逻辑结构,然后再选择相应的数据库平台进行物理数据库设计。在这一过程中,要分析数据与数据之间的联系类型,关系规范化的要求,利用数据库建模工具可以简化这一分析与设计过程。目前这方面的工具有很多,比如:ERWin、PowerDesigner、CASE Studio等〔3〕。数据库建模要求能够表达完整的数据结构和相互的联系,并且在概念模型和关系模型之间转换方便。要能够从概念模型向关系模型自动转换,并且能够自动转换为指定的数据库平台上的数据库,如:Micosoft SQL Server、Access等,这一设计过程称为软件开发中的正向工程。对于比较完善的计算机辅助软件工程工具,还应提供能够从物理数据库的基础上向逻辑模型转化的功能,即从物理数据库表格及相互关系自动转化为关系模型,更新E-R模型图。这种转换相对于正向工程称为逆向工程或反向工程。在数据库设计、运行、维护过程中,支持这种转换的工具的应用非常重要。

数据库建模工具可以独立于具体的数据库平台,因此可以简单的移植到不同的数据库平台上。数据库建模工具大部分都是图形界面的,更有利于实体联系的建立。

2 CASE工具数据库建模过程

2.1 数据准备

图1数据库建模示意图

通过详细调查所研究的系统,了解系统的需求,各种处理要求,对安全和数据完整性方面的要求,数据结构等等。以此为基础上建立数据字典,分析数据项、数据结构、数据流和数据存储,以及处理过程。在充分考虑系统的功能需求和可扩充性的基础上,建立起数据的概念结构模型。

2.2 设计E-R模型图

首先设计分E-R模型图,设置属性,设置主键,然后根据实体之间的相互关系,连接实体。对于1:1、1:N和M:N等不同的实体联系类型,可以通过数据库建模工具自动进行连接。如相对于M:N实体联系类型,可以自动生成两个实体之间的联系,联系为新实体,包含相关联的两个实体的主键,这相当于自动完成了实体模型向关系模型的转换。图2所示为利用CASE Studio数据库建模工具建立E-R模型图。其中“选修”和“讲授”实体是连接两个M:N类型实体时自动生成的。

图2 E-R模型图建立

2.3 E-R模型向关系模型转化

选择好相应的数据库平台,执行转化操作。对于不同的数据库管理系统软件,数据库建模工具将产生不同的脚本语言,主要有表格建立与删除、索引建立、主健建立、触发器命令等,如图3所示。由生成的脚本语言,到指定的数据库管理系统上执行,便可以得到物理数据库。这一过程在数据库设计过程中非常方便。传统转换过程中需要手工进行,按照联系的种类不同有不同的转换方法,形成逻辑模型,然后再选择相应的数据库平台手工建立数据库物理结构。利用数据库建模工具可以直接从概念模型向物理模型转换。

图3 数据库脚本代码生成

脚本语言代码如下(以Micosoft SQL Server平台为例):

Create table [学生]

( [学号] Char(5) NOT NULL,

[姓名] Char(10) NULL,

[年龄] Integer NULL,

[籍贯] Char(10) NULL,

[系别] Char(10) NULL,

Primary Key ([学号]))

go

Create table [课程]

( [课程号] Char(6) NOT NULL,

[课程名称] Char(20) NULL,

[学时] Integer NULL,

[学分] Integer NULL,

Primary Key ([课程号]))

go

……

2.4 数据库建模反向工程

在数据库物理结构建立好以后,经常需要对数据库进行维护,包括表格结构的修改、增加表格、联系的修改等。这时对数据库结构的修改要及时反馈到逻辑模型中,始终要保持物理模型和逻辑模型的一致性。从数据库物理模型到逻辑模型的修改过程称为数据库建模的反向工程。这一过程对于数据库应用程序后续建设工作以及应用系统的实施和维护都非常重要。目前大多数数据库建模软件均支持这种反向工程操作。

3 结束语

利用数据库建模工具可以解决数据库设计过程中复杂数据联系的问题,在转换为关系模型过程中建立起概念模型与物理模型之间的紧密联系,便于对数据库及时更新和维护,同时也对数据库设计过程中的资料文档如E-R模型图等进行即时维护,对于系统实施以后系统的维护都具有非常的重要意义。

参考文献:

[1]萨师煊,王珊.数据库系统概论[M](第3版).北京:高等教育出版社,2000:203-240.

[2](美)内沃斯(Navthe,E.).数据库系统基础[M](第4版).北京:中国电力出版社,2006.

[3]王经卓,刘永生,丁兆奎,等.关系数据库的建模技术研究[J].淮海工学院学报,2002,11(2):19-22.

关系型数据库篇5

关键词:ArcSDE数据库Oracle Spatial

一、 研究背景及意义

近年来,随着理论和空间数据库的发展,地理信息系统(GIS)的应用己经渗透到社会的各个领域,如在测绘规划、城市交通管理、管线管理、环境整治、大型工程调度管理等领域,同时,随着遥感、等先进技术的迅猛发展使得系统所面临处理的数据量趋于海量,从而对于以空间数据处理和分析为核心的地理信息系统来说,对系统中空间数据的管理、表达和评估也变得越来越重要,如何有效的组织和管理中的空间数据,充分发挥空间数据的作用是系统优劣的前提和关键,它将直接影响到各种实际应用的性能。空间数据不仅数据量大,而且数据结构十分复杂,随着应用范围的扩大和的迅速发展、普及,应用开始逐渐向分布式的管理系统领域转移,而原有的混合式空间数据管理模式在实现数据共享、网络通信、并发控制及数据的安全性等方面存在着极大的缺陷,因此寻求一种将属性数据和空间数据进行一体化管理的有效模式己经成为未来发展的必然趋势[1]。

空间数据库中数据存储经历的三个阶段是:拓扑关系数据存储模式、Oracle Spatial模式和ArcSDE模式[2,3]。拓扑关系数据存储模式将空间数据存在文件中,而将属性数据存在数据库系统中,二者以一个关键字相连。这样分离存储的方式由于存在数据的管理和维护困难、数据访问速度慢、多用户数据并发共享冲突等问题而不适用本系统。而Oracle Spatial实际上只是在原来的数据库模型上进行了空间数据模型的扩展,实现的是“点、线、面”等简单要素的存储和检索,所以它并不能存储数据之间复杂的拓扑关系,也不能建立一个空间几何网络。ArcSDE解决了这些问题,并利用空间索引机制来提高查询速度,利用长事务和版本机制来实现多用户同时操纵同一类型数据,利用特殊的表结构来实现空间数据和属性数据的无缝集成等等。

二、空间数据库的国内外研究现状

目前,对空间数据管理的研究的一个方向是在商用数据库系统的基础上进行扩展,开发出空间数据引擎作为原有数据库系统和应用系统的中间层,实现对空间数据的管理,如国外ESRI公司的ArcSDE和国内超图公司的SuperMap SDX+等。另一方向是以Oracle公司为代表的,高度集成的空间数据管理体系结构空间Spatial组件,使得其中的矢量空间数据和属性数据能够在Oracle Spatial的对象关系模型中一体化存储和管理。

使用大型关系数据库来一体化管理空间数据和业务数据,已经成为GIS应用发展的主流。Oracle Spatial和ArcSDE是目前较为流行的利用关系型数据库存储和管理空间数据的商用软件,二者都是通过改造传统的关系型数据库,使之能够存储和管理空间数据[4]。但二者所走的技术路线略有不同:Oracle Spatial把纯关系型数据库改造为对象关系型数据库,在数据类型中添加SDO_GEOMETRY类型,把空间信息作为一个字段存储;而ArcSDE则利用多张关联的表来把空间数据存储到纯关系型数据库中,二者在实际应用中都得到了广泛的应用,在实际应用中应当如何选择这两个软件是一个不容回避的问题[5]。

两者的优缺点对比如下:

表1 ArcSDE与Oracle Spatial异同对比

通过以上的一些对比,可以看出,ArcSDE虽然是采取对关系数据库进行扩展来进行空间数据的储存和管理,但它避开了对已经相对成熟的商业的关系数据库的整体修改,而是立足于从GIS的专业角度来丰富自身的功能,它一直处于市场的主流地位。所以,本论文的主要研究方向将主要针对ArcSDE。

三、基于ArcSDE的空间数据库的研究概况

1.空间数据库引擎负责处理空间数据模型与关系数据模型之间的映射。

从空间数据管理的角度来看,ArcSDE可看成是一个连续的空间数据模型,借助这一模型,我们可将空间数据加入到关系数据库管理系统中去。空间数据引擎只提供存储、读取、检索、管理数据和对数据的基本处理等功能,不负责进行空间分析和复杂处理。但是基于第三方API开发的引擎可以提供更多的功能,即ArcSDE只负责底层的数据管理问题,而上层的应用功能需要在它的基础上开发。

图1基于ArcSDE的数据库模式图

最初的基础地理空间数据管理模式为混合型,即利用文件系统进行空间数据的管理,属性数据则采用关系型数据库管理。这种模式主要通过文件系统和属性数据库中相同字段作为关联,来实现整个数据库的管理操作。在这种模式中,空间信息基于文件系统的图形存储,而属性信息采用关系型表管理。通过用公共字段来从外部实现图、文的协同操作。此模式虽解决了传统数据库和空间数据之间的关联,但在大型数据库建设中由于从外部进行图形和属性的关联,局限性较大。随着GIS技术的发展,全关系型数据库及其SQL访问语言己成为信息领域进行信息存储、操作及访问的标准。自全关系型数据库通过加入空间数据字段等方法,将属性和空间图形数据统一存储于关系型数据库的二维表中以来,全关系型数据库已成为地理空间数据库建设的主要模式,它主要由数据库主体关系型和基于关系型数据库环境的空间数据引擎或构成。此模式从内部管理整个空间及属性数据,稳定性与效率较高。

在空间数据库引擎产品中,ESRI公司推出的ArcSDE是性能较为稳定的产品,能支持Oracle,MSsqlSever,Infomix,IBM DB2等主流数据库管理系统。SuperMap也于2007年其新一代空间数据库引擎SDX+2008版,能存取和访问海量空间数据。

2. 基于ArcSDE的空间数据库的研究思路

理论研究主要包括认识SDE模式和一体化模式的异同;如何建立SDE数据模型;如何确定SDE数据存储模型;如何解决SDE数据索引问题 。

相关技术的实现主要结合酒厂应急系统。酒厂的主要生产原料和产品大多是可燃、易燃物质,而且大量的发酵容器和储酒罐都处在高温高压状态下,受到火情影响时,很容易发生爆炸,危害性很大,加之生产生活中各种新设备、新工艺、新材料的应用日益普及,稍有不慎,就可能发生各种安全问题。所以,酒厂应急系统的一大特点是对安全措施的要求严格,尤其当危险发生时,由于潜在的危害性大,特别需要厂外的市政消防、医疗等设施的支持,在通过厂内已有安全措施进行应急控制的同时,需要尽快调度厂房周边应急力量。

酒厂应急系统的主体目标是当酒厂发生突发事件时,为快速、准确的做出决策,提供有力的支持,力图将其损失减少到最小。首先,通过事先的测量和计算,将酒厂的安全设施(如:灭火器、消防管道等)、潜在危险源(如:电力管线等)以及附近的消防安全力量(如:消防站和医院等)和道路交通图等相关的空间数据和属性数据准备好,根据一定的数据模型进行存储建库,此时的数据库系统应该能够支持酒厂安全设施和危险源信息的检索和查询。然后,在模拟危险源发生危险时,空间数据库必须能够快速检索到危险源所在地的各项信息,并及时匹配出酒厂内外的相应应急力量,给出相应的应急措施,对厂外的应急力量,根据道路交通图给出最佳路径和最快应急时间。该系统由三部分组成:第一部分为客户端,拟采用B/S和C/S相结合的方式,对于属性数据和空间数据的存储、编辑、显示、查询、空间分析等操作通过.NET+AO进行定制。此模块可以为ArcIMS数据提供数据源,也可以直接作为ArcIMS的客户端与ArcIMS进行交互。利用ArcIMS实现B/S模式,为客户提供决策支持。利用.Net + ArcIMS开发实现。在浏览器端,客户可以直接观察到厂房的管线分布,应急资源分布,事故发生地点,事故影响范围以及应急解决方案等,为其决策提供支持;第二部分,借助ArcSDE模型,将空间数据加入到关系数据库管理系统中去。提供对空间数据的存储、读取、检索、管理和一些基本处理等功能;第三部分,利用SQL关系数据库对空间数据和属性数据进行存储和管理,为系统的查询和检索提供底层支持。

通过对空间数据库的理论研究,首先,可以对基于SDE的扩展模式,以及Spatial一体化模式有着更深刻的认识,能够区别两者在结构和应用上的区别,能够为在不同应用上如何选择相适应的模式提供支持,对未来的空间数据库的相关技术提出展望和预测。其次,可以了解基于ArcSDE的数据组织模式,针对具体的问题所采用的不同的检索算法,以及构建一个良好的空间数据库所要具备的条件。

通过对空间数据库的实现,研究基于ArcSDE的空间数据同属性数据结合的具体实现,可以确定ArcSDE同商用关系数据库的结合和支持情况,确定和优化空间数据库的系统布置,可以对日后的GIS行业的系统开发提供更多的技术支持。

3.空间数据库的理论研究

图2 空间数据库的理论研究示意图

应急系统空间数据库的实现:

图3应急系统空间数据库的实现示意图

四、主要工作量

1、掌握现今空间数据库的相关技术,特别是分别基于ArcSDE和Spatial一体化模式的空间数据库平台,深入了解两种平台的结构,列出不同之处和应用范围。

2、针对基于ArcSDE的空间数据库,结合应急系统的需要,确定最佳的数据模型、索引机制。

3、建立应急系统平台及空间数据库平台,测试和分析控制前台对空间数据库的连接情况,确定最佳的配置形式。

4、测试和分析空间数据库的索引数据模型,对索引算法和应用情况做出评价。

五、研究特色

本论文紧密结合当前GIS的研究热点――空间数据库的相关技术,针对目前空间数据库在商业方面用途最广的ArcSDE技术,结合徐州香醅酒业有限公司的应急系统,研究ArcSDE的结构及相关算法,并搭设系统平台进行测试和分析,为空间数据库的发展和ArcSDE技术的推广和使用提供了一些技术和理论支持。

本次研究工作有以下几点新的认识:

1 由于面对着多种空间数据库的组织模式,特别是ArcSDE模式和一体化技术,在具体的工程应用上,对选择哪一种模式进行产品开发成了首要问题,通过本次研究可以大致确定不同模式的适用范围和应用瓶颈,针对不同的工程情况,可以方便的选择适用模式和相关配置。

2 对于空间数据库的数据组织形式、存储模型、索引机制以及安全性问题的研究一直是空间数据库的研究重点,将这些问题的研究同商业上广泛应用的ArcSDE技术相结合,可以使理论技术的研究更加实用,更加市场化。

3 通过结合应急系统来研究和测试空间数据库系统的搭建,对空间数据库的数据组织和索引机制都提出了更高的要求,要求数据库能够更加快速和清晰地反映数据内容,这样就可以形成一个相对的判别机制,更加确切地判断空间数据库的数据组织形式和索引机制的好坏,从而可以有效地反馈到空间数据库的理论研究上去。

关系型数据库篇6

关键词:云计算 数据模型 云数据库 NoSQL数据库

0 引言

从2006年Google提出“云计算”的概念至今,云计算正以史无前例的速度发展,国内外各大IT企业都在开署各自的云计算平台,云计算的应用更趋多样化,目前在互联网上我们看到的很多应用都可以看到“云”的身影,诸如“云存储”、“云安全”、“云物联”、“云邮件”、“云输入法”等等。总的来说云计算包括三个层次的服务:基础设施即服务(IaaS),平台即服务(PaaS)和软件即服务(SaaS)。云服务模式实现了资源集中配置和管理,实现按需采购、配置,避免资源浪费,能够更好满足用户不断变化的需求。同时降低管理维护成本,随着云计算技术的不断发展,系统的可靠性、扩展性、稳定性也会更好,云计算将影响传统数据库的发展趋势,云服务模式将逐步得到市场认可,反过来讲,传统数据库必须能更好适应云计算环境的需求。传统的关系型数据库由于其天生的限制,已经越来越无法满足目前时代的要求,云计算时代对数据库技术提出了新的需求,主要表现在海量数据处理,大规模集群管理,低延迟读写速度,建设及运营成本。虽然它在数据存储方面占据了不可动摇的地位,但对数据扩展、读写速度、支撑容量以及建设和运营成本的要求方面,就稍显逊色。下面我们来探讨适应于云计算的数据库所支持的数据模型。

1 云数据模型的类型

无论是关系型数据库还是非关系型数据库,都是某种数据模型的实现,不同的数据模型可以满足不同的应用需求。数据模型会影响客户端通过API对数据的操作,决定了客户端如何对数据进行编码存储。云数据库的设计可以采用不同的数据模型,目前适应于云计算平台的数据模型有以下几类:

1.1 基于云计算的关系模型。关系型云数据库的数据模型涉及行组和表组等相关概念。此模型的数据结构为一个表是一个逻辑关系,它包含一个分区键,用来对表进行分区。具有相同分区键的多个表的集合称为表组。在表组中,具有相同分区键值的多个行的集合称为行组。一个行组中包含的行总是被分配到同一个数据节点上。每个表组会包含多个行组,这些行组会被分配到不同的数据节点上。一个数据分区包含了多个行组。因此,每个数据节点都存储了位于某个分区键值区间内的所有行。微软的SQL Azure云数据库就是基于此模型的。

1.2 NoSQL数据库数据模型。由于在设计上和传统的关系型数据库相比有很大的不同,故称此类数据库为“NoSQL(Not only SQL)”系列数据库,即非关系型的数据库。与关系型数据库相比,此类数据库非常关注对数据高并发读写和海量数据的存储,在架构和数据模型方面做了简化,而在扩展和并发等方面做了增强。此类数据库种类繁多,且各有优缺点,其数据模型有如下四类:①键值(key-value)存储模型。使用一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。其数据模型为一系列的键值对。它能提供非常快的查询速度、大的数据存放量和高并发操作,非常适合通过主键对数据进行查询和修改等操作,缺点是存储的数据缺少结构化,不支持复杂的操作。运用此模型的数据库有BigTable、Tokyo cabinet/Tyrant、Redis、Voldmort、Berkeley DB等。②列式存储模型。列式存储和关系模型相似,与关系模型存储记录不同,列式存储以流的方式在列中存储所有的数据。其数据模型为以列簇式存储,将同一列数据存放在一起。属于同一列的数据会尽可能地存储在硬盘同一个页中,而不是将属于同一个行的数据存放在一起。使用列式数据库,将会节省大量I/O,并且大多数列式数据库都支持Column Family这个特性,能将多个列并为一个小组。总体而言,这种数据模型的优点是查找速度快,可扩展性强,更容易进行分布式扩展,缺点是功能相对局限。运用此模型的数据库有Cassandra、HBase、Riak等。③文档模型。在数据结构上,文档型和键值型很相似,也是一个key对应一个value,但是这个Value主要以JSON或者XML等格式的文档来进行存储,是有语义的,并且文档数据库一般可以对Value来创建Secondary Index来方便上层的应用,而这点是普通键值数据库所无法支持的。这种数据模型的优点是对数据结构要求不严格,缺点是对查询性能不高,而且缺乏统一的查询语法。运用此类模型的数据库有MongoDB、CouchDB等。④图形模型。图形结构的数据库同其他行列以及刚性结构的SQL数据库不同,它是使用灵活的图形模型,并且能够扩展到多个服务器上。其数据模型为图结构,其优点是可以很方便地利用图的相关算法,缺点是需要对整个图做计算才能得出结果,不容易做分布式的集群方案。运用此类模型的数据库有Neo4J、InfoGrid、Infinite Graph等。数据模型有着各自的优缺点,它们适用于不同的领域。不管选择关系模型,还是非关系模型,都要根据实际应用的场景做出选择。有时候单一的数据模型并不能满足我们的需求,对于许多大型的应用可能需要集成多种数据模型。

关系型数据库篇7

关键字:面向对象技术;面向对象数据库系统;类;数据库;面向对象模型

1 引言

数据库技术是计算机技术研究中最为重要的方向之一。经过几十年的发展,成熟的关系型数据库被广泛地应用于各个社会领域。但是,现实社会的复杂多变性以及各种应用要求的提高,导致信息在数量和结构上都远超传统数据库的承受范围。1990年高级DBMS功能委员会提倡的面向对象的数据模型,就是要把面向对象的方法和数据库技术结合起来,以使数据库系统的分析、设计最大程度地与人们对客观世界的认识保持一致。面向对象数据库系统(Object-oriented Database)是为了满足新一代数据库的应用需要而产生的新型数据库系统。

2 面向对象数据库概述

2.1面向对象数据模型

与其他数据模型一样,面向对象的数据模型也包括:数据结构、数据操作和完整性约束三部分,但是其在这三个方面的表现形式和实现方式与传统的关系模型都有很大的区别。

面向对象的数据结构是通过对象和类这两个基本要素,借助封装、继承和组合机制建立起来的复杂结构,而数据操作时通过方法和消息来实现的。面向对象数据库系统支持面向对象数据模型(简称OODM),即面向对象数据库系统是一个持久的、可共享的对象库的存储和管理者[1]。OODM是用面向对象观点来描述现实世界实体(对象)的逻辑组织、对象间限制、联系等的模型。对象与对象标识、属性、行为、类、类层次、消息、持久性等核心概念构成了OODM的基础 [2]。

2.2面向对象数据库的特点与优势

面向对象程序语言操纵的是对象,所以面向对象数据库(简称OODB)的一个优势是面向对象语言程序员在做程序时,可直接以对象的形式存储数据[4]。对象数据模型有以下特点:

(1)使用对象数据模型将客观世界按语义组织成由各个相互关联的对象单元组成的复杂系统 [5]。对象可以定义为对象的属性和对象的行为描述,对象间的关系分为直接和间接关系。(2)语义上相似的对象被组织成类,类是对象的集合,对象只是类的一个实例[6],通过创建类的实例实现对象的访问和操作。(3) 对象数据模型具有“封装”、“继承”、“多态”等基本概念[7]。(4) 方法实现类似于关系数据库中的存储过程,但存储过程并不和特定对象相关联,方法实现是类的一部分。(5) 实际应用中,面向对象数据库可以实现一些带有复杂数据描述的应用系统,如时态和空间事务、多媒体数据管理等。

除此之外,上述特点导致面向对象数据库具有丰富的数据类型,因此能够表达复杂嵌套对象,在复杂对象上获得良好的性能。数据库与程序设计语言的类型系统和操作方的统一,消除了数据库中的阻抗不匹配问题,扩展了数据库系统的应用领域,并提高了应用系统的质量和开发人员的工作效率。

3 面向对象数据库系统的体系结构及发展

3.1 面向对象数据库系统的体系结构

面向对象数据库管理系统包括了关系数据库管理系统的全部功能,只是在面向对象环境中增加了一些新内容,其中有一些是关系数据库管理系统所没有的。面向对象数据库管理系统(C/S即客户/服务器结构)主要由以下五个子系统组成[8]

3.2 面向对象数据库系统的发展

自20世纪80年代来,OODBS的发展经历了主要三个阶段:(1)实验室原型阶段,很多原型产品于80年代末在实验室完成,它们大都具有较新的思路和大胆的设计但却缺乏实际应用的考验,代表产品有工业界Vbase和Orien等,学术界的Gemstone等;(2)初期商业化产品阶段,80年代末至90年代初,所推出的产品均具有面向对象数据库管理系统的基本特色和实际运用的能力,为OODBMS占领市场起了重大作用,但仍有许多缺陷;(3)成熟产品阶段,20世纪90年代中期至今,OODBMS的商业化趋于成熟,产品如Object Store、Ontos、O2、Jasmin等。

4 面向对象数据库系统的重要技术及应用

4.1.数据库转换技术

由于关系数据库在当今数据库应用领域处于主导地位,而面向对象数据库如果要满足更高一级数据库要求,实现异构数据库之间数据库模式和操作的转换是一个关键研究课题。数据库转换技术包括数据模式技术和数据操作转换技术,转换时要保证一致性(对象语义和动作信息在转换过程中不丢失)。

4.2模式演进技术

OODB的类为适应需求变化而随时间变化称为模式演进,包括创建新类、删除旧类、修改类属性和操作等模式演进必须保持模式一致性(模式自身内部不能有矛盾),这由模式一致性约束描述。模式一致性约束分为唯一性约束、存在性约束和子类型约束等,满足所有这些一致性约束的模式称为一致模式。模式演化是面向对象数据库研究重点与难点,实现途径一般有两种:模式改变考虑现有应用程序使二者相互集成和适应;开发新的高级数据库编程语言。

4.3视图类实现技术

面向对象数据库中很多操作(如统计、连接查询和视图操作)都能自由访问数据库数据,这些操作益于实现视图操作及降低复杂度并提高效率,但易破坏对象封装性。为了不破坏对象封装性,必须对面向对象数据库的核心模型进行扩充,在对象中设计一组接口,系统通过这组接口完成视图操作,这样会增加对象复杂性和面向对象数据库系统设计难度,因此需要对这些接口实行标准化。基于上述条件,设计相应类数据结构和操作则可实现OODBS视图操作。

4.4 OODBS事务管理技术

OODBS事务管理子系统包括死锁管理器、锁管理器、恢复管理器和日志管理器几个部分。相比传统RDBS,OODBS加锁具如下特点:①加锁单位是对象而不是类;②给类对象加锁比给关系对象加锁需更多信息;③当类实例被加锁时,其父类也被加锁。OODBS采用粗粒度加锁具有很高的并行性,加锁的一般是对象,若某一事务要访问同一类多数实例,则对整个类加锁,保证可靠性又降低系统开锁代价。另外,OODBS还具有恢复机制,其中包括多媒体日志恢复和索引页日志恢复两种。多媒体日志恢复是指OODBS把多媒体数据和其描述部分分开,后者通过对象标识符引用前者。若创建多媒体数据事务失败,则置空描述部分引用并复位。索引页日志恢复的方法有两种:一是分裂索引页的插入操作,系统把当前索引页一半表项分给新页,除拷贝的表项外其余都记录在日志中,发生故障时则去掉整个新页;二是合并索引页的删除操作,系统把当前索引页表项拷贝到新页,除了从当前页删除的表项外其余都记录在日志中,发生故障时则重新使用当前页。

4.5面向对象数据库系统的应用

面向对象数据库的产生主要是为了解决“阻抗失配”,它强调高级程序设计语言与数据库的无缝连接。无缝连接即假设不使用数据库,而使用某种编程语言编写一个程序,可以基本不经任何改动地将它作用于数据库,即可以用编程语言透明访问数据库,就好像数据库根本不存在一样,所以也有人把面向对象数据库理解为语言的持久化。

面向对象方法综合了在关系数据库中发展的全部工程原理,以及系统分析、软件工程和专家系统领域的内容,符合一般人的思维规律,将现实世界分解成明确的对象。系统设计人员用OODBMS创建的计算机模型能更直接反映客观世界,使得非计算机专业人员的最终用户也可以通过这些模型理解和评述数据库系统。这些都是传统数据库所缺乏的,正因为如此,OODBS更能在新兴应用领域中发挥作用。这些领域集中在以下几个方向:(1)工程应用领域:此领域(如CAD/CAM)涉及到的数据种类多,操作和数据间涉及的关系都极为复杂,由于面向对象数据库实现了无缝连接,能够支持非常复杂的数据模型,从而特别适用于工程设计领域;(2)多媒体应用领域:由于多媒体中数据种类很多,他们之间有复杂的联系使之成为一个整体,在多媒体领域这些要求也能在面向对象数据库中得到解决;(3)集成应用领域:随着计算机越来越集成,系统也跟着越发复杂,这要求多种应用的集成需要一个能适应不同应用要求的结构模型;(4)传统应用领域:近年来商业、事务处理的需求发生了很大的变化,而面向对象数据库很能适应这些新的变化,因此在传统领域面向对象数据库也有着重要的应用市场。

5 面向对象数据库存在的问题及解决方法初步探讨

5.1 面向对象数据库存在的问题

面向对象数据库技术可望成为继关系数据库技术之后的新一代数据管理技术。尽管目前已有大量的研究开发工作,有一些可支持的面向对象数据库系统,但面向对象数据库的成熟仍有存在许多亟待解决的问题:

(1)实现复杂性问题:在实现复杂性和思维复杂性问题上,面向对象模型和关系模型之间存在很大差距――关系模型构造集合以及在集合基础上发展出来的关系,对一个有数学基础的人而言其操作语义显然有思维简洁性,对计算机而言,关系运算可以递归并具有能行性的,计算简洁;而对面向对象模型而言,其思想主要是控制流为主导,也就是通过对象的行为,指引数据的传递。比如在服务驱动的分布式系统中,如SOA,其数据是用XML描述的,但由于其交互性,以及消息扮演的控制流的角色,导致用面向对象的传递信息方式不能发挥作用,所以在数据库的流程和运算上,OODB并不占优势。

(2)理论支持问题:面向对象数据库,并没有严格的理论支持。虽然对象间的关系有聚合、组合、关联、继承登,但这些并不是理论,而是实践结果。不能从理论上推导出这些关系,也就无法实现出支持这些关系的对象数据库。

(3)模型复杂度问题:由于模型较为复杂(而且缺乏数学基础),使得很多系统管理功能难以实现(如权限管理),也不具备SQL处理集合数据的强大能力。

(4)性能问题:由于面向对象数据库中数据被存放在许多地方,因此,有效对象聚集是性能好坏的关键因素。面向对象数据库技术要想能取代传统的数据库技术,性能改善是必不可少的。

5.2 解决方法初步探讨

就目前面向对象数据库而言,它与关系数据库之间的比较并不同与上世纪70年代关系数据库和网状数据库间不能共存的关系。而现在面向对象数据库的兴起是在肯定关系数据库在处理数据简洁性,适合商务用途的基础上的,它是对关系数据库的补充,例如工程和多媒体应用。

在一些不需要很强大计算能力的场所,例如配置一些信息等非业务数据时,可想而知,面向对象数据库将成为下一代数据库的典型代表,并与关系数据库系统并存。它们将在不同的应用领域支持不同的应用需求。

对象数据库需要快速索引能力,以从庞大的数据集中抽取数据。在这方面做得比较好的关系型数据库使用位图索引技术,但数据一旦更新,这些索引就需要重新建立。因为这个原因,很少有对象数据库有这个功能。如果能把关系数据库的索引技术经过一定的手段嵌套在对象数据库中,对象数据库的性能将能得到进一步的提高。

对于标准化,这应该是面向对象数据库发展的当务之急。早日形成关于对象关系的理论,形成一种类似与SQL语言的标准,对厂商加强约束力和实行指导作用,这对当下对象数据库的发展具有显著意义。

6 结束语

面向对象技术是近年来计算机技术界研究的热点,而面向对象方法与先进的数据库技术相结合已成为当今数据库领域研究和发展的主要方向之一。面向对象数据库经过较长时间的发展,已经取得一些关键的进展:业内对面向对象数据库的核心概念逐步取得了共同的认识,其标准化的工作正在进行中;随着核心技术逐步解决,工具正在开发,面向对象数据库管理系统正在走向实用阶段。

面向对象数据库技术对复杂对象既要有极强的表达和建模能力,又要有很强的存储和管理能力,这正是传统数据库技术面向复杂工程数据所难以胜任的关键技术。但由于面向对象模型本身固有的一些特征,业内对面向对象数据库性能和形式化理论的担忧仍然存在。总之,数据库系统发展的趋势是,面向对象数据库和关系数据库将不断融合,继承上述两者的优点,获得更快的发展,最终成为DBS发展的主流。

参考文献:

[1]Ian Graham著. 袁兆山译. 面向对象方法原理与实践[M]. 北京:机械工业出版社,2003,3.

[2]来羽,张华杰. 面向对象数据库的特点分析[J]. 河南科技,2010(9):58~59.

[3]Lombardoni.A. Towards a Universal Information platform: An Object-Oriented, Multi-user,Information Store[J]. PhD thesis,ETH Zurich, Zurich, Switzerland, 2006:99~105.

[4]Kobler.A, Norrie.M.C. OMS Java: Lessons Learned from Building a Multi-Tier object Management Framework[J]. Proceedings of Workshop on Java and Databases[J]. Persistence Options. 1999,11(2), Denver, CO, USA.

[5]季维岩.面向对象数据库及其实现方法研究[J] .科学技术与工程,2004(1):119~131.

[6]乔世权,张永强,赵金宝. 面向对象数据库研究[J]. 软件导航,2008(9):282~287.

[7]Supcik.J., Norrie. M.C.. An Object-oriented Database programming Environment for Oberon[C]. Proceedings of the Joint Modular Languages Conference, 1997, Linz, Austria.

[8]徐洁磐. 面向对象数据库系统及其应用[M]. 科学出版社,2003(11):4~89.

关系型数据库篇8

1电力营销决策支持系统

电力营销决策支持系统由支撑层、数据管理层、决策工具层和决策层四部分组成。在建设电力营销决策支持系统时需要得到数据仓库及数据挖掘技术的支持。在电力营销决策支持系统中需要通过逻辑判断对各种决策数据和辅助决策的方案择优录入,综合出最佳决策解决的方案。通过电力营销决策支持系统得到的决策方案对某个区域内的电力资源的变化和发展做出预测,电力决策者可以通过这些预测做出决策。在电力营销决策支持系统中,需要汇集整理各种元数据,并将它们整理汇集成数据库群,而数据仓库技术可以将这些元数据集成为电力营销决策支持系统需要的数据。可以说数据仓库技术的支持是电力营销决策支持系统的开发必要条件。由于营销决策的决策结构特点,需要特别设计知识获取模块,便于使用专家技术从数据中得到有价值的知识。可以综合利用联机分析处理和数据挖掘技术补充数据仓库中的知识,也可以将某些有特点和代表的营销决策案例存储在数据仓库中,为决策的制定提供参考知识。电力营销决策支持系统是为电力企业的决策者提供营销策略决策辅助的,包括关于电力营销战略、电力运行管理的信息,还有为制定电力营销决策提供支持服务等。同时,为了保障电力营销决策支持系统正常可靠的运行,系统的设计需要保证系统的可靠性、智能性、容错性、开放性、安全性、应用性和可维护性。

2EMDSS开发流程

电力营销决策支持系统是通过数据仓库技术生成与决策制定相关的知识库、模型库、方法库,并进行系统进行统一的管理。在EMDSS中,数据仓库作为一个数据平台,结合DSS分析技术、数据挖掘技术、OLAP技术为数据仓库中的数据进行挖掘和补充。

3数据仓库的开发

3.1数据仓库的数据来源。用电营销管理信息系统的现状和实际需求是构建电力营销数据仓库的基础。因为在电力系统中,电力营销具有分散性,组成数据仓库中的数据,很大一部分来自不同用电数据库中,这些数据库大多来自于各个不同的数据库,其中很大一部分数据库来自不同区域的电力基层,还有一部分数据库来自其他电力系统,甚至有一部分数据库是电力系统以外的,有些数据甚至需要人工录入然后通过Web技术得到提取与转化后才能储存如数据仓库中。

.2数据仓库的设计。与电力营销有关的数据进入数据仓库的时候,需要经过详细的设计,数据仓库才能有效地为电力营销决策的制定提供支持。设计一般分为概念模型、逻辑模型、物理模型三个设计阶段。(1)概念模型设计:主题域的建立,就是确定指标。再确定数据仓库的维度和类别,先对元数据的数据库系统的构成加强理解和分析,考虑元数据在数据库系统中的组织形式和分布,深入理解后可以建立数据仓库系统的概念模型。通过对元数据的构成的理解对元数据的内容有清晰完整的认识。(2)逻辑模型设计:每个数据仓库主题所对应的一个关系表,而逻辑模型就是这种关系模式的表现。逻辑模型也可以被称作关系模型,用关系表示各种主题之间的联系,它简化了一些设计和开发的工作。逻辑模型的建立是数据仓库建立的重要一步,也是电力企业对业务数据的需求的反映,并且也指导物理模型的建立。(3)物理模型设计:传统的数据库设计方法为先设计逻辑模型,再根据逻辑模型建立星形模型,最后是物理模型的建立的模型设计方法。一般而言,物理模型实现的基础是逻辑模型,逻辑模型中建立的星形图可以为建立一个具体的物理模型提供指标实体和详细类别实体,而维度表通常并不是直接转变为物理数据库表,而是为物理模型的建立提供查询参考、过滤和聚合数据。而逻辑模型在数据仓库中的体现就是物理模型,物理模型的建立可以实现数据仓库的物理存取方式、数据存储结构、数据存放位置和分配等功能。数据仓库的使用与维护就是建立DSS应用,即使用数据仓库,DSS应用的特点是从数据出发,数据的不断循环往复的过程,建立一个DSS应用应遵循以下步骤:首先,必须确定DSS所需的数据。将数据仓库中的数据确定到一个可以满足DSS应用要求数据范围;编写程序从相应的数据库中抽取数据;对抽取的数据进行合并,在多个数据源存在的条件下,在抽取数据后还要进行合并、提炼等操作,使这些数据符合数据仓库分析处理的需求;对得到的数据进行分析,对已经得到合并、提炼等操作的新数据进行分析处理,查看数据分析结果是否满足建立的DSS的要求,如果数据还不能满足条件,就需要返回最开始,重新开始一次循环,建立DSS,如果认为数据满足要求,就可以进行对分析结果的报告;得到分析报告,问题得到回答,这个部分一般需要前面几次循环重复的过程才能得到;将结果存入知识库,将本次案例进行例行化存储,如果再进行一次相同的处理分析后,可以不用重复以上部分,直接的到分析结果,这一部分,需要不断地累积加强知识库储备。最后理解分析决策需求,调整和完善系统,维护数据仓库。

4结语

关系型数据库篇9

【关键词】智能电网;海迅数据库;PI实时数据库

0.引言

信息化、自动化和互动化是智能电网的三大特征,这其中,信息化是基础,是解决智能电网可观测,继而实现可控与在控的重要途径。随着智能电网建设的不断深入,越来越多的智能测量装置遍布整个电网,尤其是各网省公司和直属单位输变电设备状态监测、用电信息采集、配电自动化、发电集团信息化等项目的试点与推广,产生了大量实时数据。实时数据沉淀生成海量历史数据,连同调度生产控制大区生成的电网运行方式、关口电量、保护、雷电等历史/实时数据一起,这些数据是重要财富,是实现精益化管理的重要基础。如何高效地采集、处理、存储、检索和利用这些海量信息,已经成为建设智能电网所要面临的首要问题。关系型数据库和实时数据库是目前数据库市场上应用较为广泛的两类数据库,故数据的存储一般采用关系型数据库或者实时数据库存储。本文先介绍这两个类型数据库的定义及特点。

1.实时数据库与关系数据库

1.1关系数据库的介绍

关系型数据库,是建立在关系模型基础上的数据库,以关系模型组织数据并借助于集合代数等数学概念和方法来处理数据库中的数据,用二维表的形式来表示实体和实体间联系的数据模型。关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成,具有数据结构简单、查询与处理方便、数据独立性高、理论基础坚实等特点。关系模型也是目前技术最成熟、应用最广泛的数据库技术,设计和实现风险较低,但由于关系模型提供了较高的数据独立性和非过程化的查询功能,系统的查询速度和查询效率较低,但其仍是数据存储的传统标准。

1.1.1关系型数据库组件

关系型数据库通常包含下列组件:

(1)客户端应用程序( Client )。

(2)数据库服务器( Server)。

(3)数据库( Database)。

1.1.2关系型数据库优缺点分析(相比实时数据库)

关系型数据库相比实时数据库而言,有着以下优点:

(1)容易理解。二维表结构是非常贴近逻辑世界的一个概念,建立在严格的数学概念基础上,数据结构简单、清晰。因此,关系模型相对其他模型来说更容易理解。

(2)使用方便。通用的SQL语言易学易懂,程序员、数据管理员可以方便地在逻辑层面操作数据库,而完全不必理解其底层实现。其提供的诸如视图、存储过程、触发器、索引等对象使数据访问趋于便利。

(3)易于维护。丰富的完整性大大降低了数据冗余和数据不一致的概率。

(4)安全性高。登录身份验证功能完善,提高安全性。

1.2实时数据库的介绍

实时数据库是数据库系统发展的一个分支,是一种专用的处理海量实时信息的基于测点模型的数据库,针对实时采集的具有时序特征的海量数据具有极高的事务处理能力、数据压缩比和查询检索速度。实时数据库是基于先进控制和优化控制而出现的,对数据的实时性要求比较高,因而实时、高效、稳定是实时数据库最关键的指标。

1.2.1实时数据库的逻辑结构

实时数据库逻辑上包含实时数据库、历史数据库和测点数据库三部分。实时数据库维护实时数据,实时数据是每个测点时间戳最大的量测值(也就是当前值);历史数据库维护历史数据,历史数据由实时数据不断归档沉淀后产生,实时数据库中往往采用压缩的方式存储历史数据;测点数据库则维护所有测点的各种信息。

1.2.2实时数据库在处理实时数据上的优势

实时数据库具有实时数据写入和访问速度快、历史数据归档和访问速度快、历史数据高效压缩、数据以及接口符合测点模型等优点。但实时数据库对测点数有限制,而且往往按测点数收费,导致等量数据的管理成本相对关系型数据库偏高。

实时数据库在数据通信、数据组织、数据存储、数据检索、数据访问、数据处理、数据展现等方面的专业化及产品化,为构建基于大容量实时历史数据之上的分析应用提供了便捷稳定的数据支撑,使应用系统可以从更高更深层次充分利用宝贵的生产实时历史数据。

1.3实时数据库的和关系数据库的对比

从下表对关系型数据库和实时数据库在数据组织方式、访问方式、压缩方式、应用领域等的比较结果可见,实时数据库产品更适合供电企业生产的需要。这是因为电力生产具有生产、传输和使用同时完成的特点,生产过程中产生大量的时序数据,应用也需要大量围绕着这些实时/历史数据。实时数据库在处理时序数据时具有的存储速度快、数据压缩比大、节省存储空间等有点,在供电企业的生产应用中具有不可替代的优势。

2.实时数据库产品的介绍

目前市面上比较有名的实时数据库产品有PI实时数据库,eDNA实时数据库,iHistorian 实时数据库,此外,SyncBASE、海迅和安捷(Agilor)在数据库市场中也占有一定份额。其中,国际市场占有率最大的PI实时数据库。另外,我国自主研发的数据库产品海迅实时数据库也在配调自动化等领域暂露头角,取得了较大份额。因此下面重点对比这两个产品。

2.1 PI实时数据库

PI是由美国OSI Software公司开发的一套基于C/S架构的实时数据库软件应用平台,主要应用于存储和获取时间序列的实时数据,是工厂底层控制系统与上层管理信息系统连接的桥梁。一方面,PI用于工厂数据的自动采集、存贮和监视,作为大型实时数据库和历史数据库,PI可存贮每个过程点的多年数据,并提供清晰、精确的操作情况画面,用户既可浏览工厂当前的生产情况,也可查看过去的生产情况;另一方面,PI为最终用户和应用软件开发人员提供了快捷高效的工厂信息,PI在业务管理和实时生产之间起到了桥梁作用。

2.2海迅实时数据库

海迅实时数据库管理系统是江苏瑞中数据股份有限公司研发的国内拥有完全自主知识产权的大型通用实时数据库,该软件在全面总结国内外同类产品优缺点的基础上按照智能电网、工业自动化系统以及物联网特点和实际需求精心设计、潜心研制而成,是进行海量历史/实时数据处理的专业平台。 (下转第249页)

(上接第155页)3.海迅实时数据库与PI实时数据库的对比

以下为PI和瑞中的海迅数据库在服务器端模块部署方式,性能指标、组态工具、应用领域、市场占有率等方面的对比介绍。

海迅数据库有着分布式体系架构和跨平台特性,让它在各厂商的实时数据库产品中格外突出。分布式体系架构使得它能支持更多的测点容量,达到更高的性能。跨平台特性使它的应用领域更广泛,使用更安全高效。

关系型数据库篇10

随着Internet的发展和普及,越来越多的单位和个人都建立了自己的网站,以便更好地进行各种信息交流或者宣传自身,亦或者通过管理系统提高工作效率,迈入信息化、高效化的快节奏时代。Web开发人员比较青睐Wamp的开发环境,即WAMP(Windows+Apache+MySQL+PHP),是指是基于Windows 操作系统下,Apache作为 Web 服务器,MySQL 作为数据库以及PHP(部分网站也使用 Perl 或 Python)作为服务器端脚本解释器完美组合,也是目前较为广泛使用的WEB 应用程序平台。这其中MySQL数据库作为网站运行更新的桥梁纽带,起着举足轻重的作用。

【关键词】数据库 MySQL 管理系统

那什么叫数据库呢?可以理解为是存储数据的仓库。举例来说:比如你的记录本上有你的学生的学号、姓名、电话、家庭地址,这些记录就是数据。把这些数据按照学号、姓名、电话、家庭住址存放在一个表里,再把这样的表放到数据库里供我们或者人查询使用,这就是我们说的数据库。如今:已经存在Oracle、SQL Server等诸多优秀的数据库。同时,还有MySQL、PostgreSQL都是很优秀的开源数据库。

MySQL是一个小型关系型数据库管理系统,是一款非常优秀的自由软件。由瑞典 MySQ LAB 公司开发,它之所以流行,是因为它有着自己独特的优势:体积小、速度快、总体拥有成本低,最重要的是代码开源,共享。作为商业运行网站,为了降低网站总体成本而选择这样的数据库当然是显而易见的。

1 MySQL支持的语言---SQL

1.1 什么是SQL语言

结构化查询语言(Structured Query Language,简称SQL)是一种介于关系代数与关系演算之间,并且使用范围限定的形式化语言。它专门用于与关系数据库管理系统进行数据交互,并且能够完成数据查询、数据操作、数据定义和数据控制四个方面的功能,是一种通用的、功能性强大的关系数据库语言。

1.2 SQL语言的特点

(1)统一的语言。SQL语言可用于所有用户的数据库模型,包括系统管理员数据库管理员应用程序开发人员及许多其他类型终端用户。所有用SQL编写的程序都是可以移植的。

(2)语言简洁、易学易用。SQL语言用了九个动词完成率数据定义(CREATE、DROP、ALTER)、数据查询(SELECT)、数据操作(INSERT、UPDATE、DELETE)、数据控制(GTANT、REVOKE)的大部分功能.。

(3)高度非过程化。降低了数据库使用的复杂度,也提高了数据的独立性。

(4)SQL语言既可以交互式使用,也可以以嵌入形式使用

(5)面向集合的操作方式

(6)SQL语言支持关系数据库三级模式结构。数据库三级模式指:内模式对应于存储文件,模式对应于基本表,外模式对应于视图。

2 MySQL与其他数据库

2.1 甲骨文的Oracle

Oracle数据库是世界上第一个支持SQL语言的数据库。主要应用于大型系统。随着网格技术的发展和应用,Oracle公司推出以网格计算模型的关系型数据库管理系统。尽可能以最低成本和最高的服务质量提供信息,它提供了企业网格计算所需的集群、工作负载管理、数据中心自动化、易用性。

2.2 IBM的DB2

DB2是IBM公司研制的一种关系型数据库系统。主要应用于OS、Windows等平台下。DB2提供了高层次的数据利用性,数据的完整性好。而且DB2的安全性高,具有很强的可恢复性。DB2数据库主要用于大型系统当中。

2.3 开源的MySQL

MySQL数据库是一个开放源代码的数据库。是由瑞典MySQLAB公司开发的。MySQL广泛地应用于Internet上的中小型网站,针对不同客户群提供Community Server、Enterprise Server和Embedded Server3种套件,体现了良好的伸缩能力。SQL Server 数据库也是微软公司开发的。SQL Server是基于客服机/服务器模式的大型数据库管理系统,能够支持大吞吐量的事务处理,能在网络环境下进行数据的存取,能用于开发决策支持系统等软件。

2.4 微软的Access和SQL Server

Access 数据库是微软公司开发的小型数据库。Access数据库是Microsoft公司Office系列软件之一,在程序设计概念上更加接近大型DBMS。

3 MySQL数据库的价值

3.1 MySQL是开放源代码

MySQL是源代码可共享、开放的数据库,任何人都可以获取该数据库的源代码,基于此基础进行二次开发,修正MYSQL的缺陷,完善数据库代码,是一款可自由运用的数据库。

3.2 MySQL的跨平台性

MYSQL可以在Windows系列的操作系统上运行,还能在MacOS、UNIX、Linux等操作系统上运行。

3.3 功能强大

MySQL 是一个真正的多用户、多线程 SQL 数据库服务器。MySQL 是以一个客户机/服务器结构的实现,它由一个服务器守护程序 mysqld 和很多不同的客户程序和库组成。

总之,与其他的大型数据库如 Oracle、DB2、SQL Server 等相比,MySQL 虽有不足之处,如规模小、功能有局限等,但是这并没有浇灭Web开发人员对它的钟爱热情。因为对于一般的个人使用者和中小型企业来说,MySQL 提供的功能已经绰绰有余,目前互联网上流行的网站构架平台是 WAMP开发环境,MySQL 加 PHP 的结合在网际网路上的应用较常见,且获得了“动态配对”(Dynamic Duo)的雅号,它的强大功能、灵活性、丰富的应用编程接口(API)以及精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,因而MySQL一跃成为了当今最流行的数据库。