首页 > 文章中心 > 关系数据库

关系数据库

开篇:润墨网以专业的文秘视角,为您筛选了八篇关系数据库范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

关系数据库范文第1篇

(白城师范学院计算机科学学院,吉林白城137000)

【摘要】关系数据库、数据仓库和数据挖掘是作为三种独立的信息技术出现的,是数据库研究、开发和应用最活跃的分支之一,通过对三种技术的内在联系性和互补性分析,从而更好的使用数据库技术处理各种信息需求,建立更加完善的数据库应用系统或新的决策系统。

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

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关系数据库、数据仓库与数据挖掘的融合

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

参考文献

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

[2]牛承珍.马季兰.浅谈数据挖掘应用[J].山西科,2008.5.20.

关系数据库范文第2篇

关键字:优化查询;SQL查询;关系数据库

数据库查询操作是数据库操作的核心操作,对数据的查询效率及处理速度已成为衡量数据库性能的一个重要指标。数据库查询技术也是学生对《数据库原理与应用》这门课程所必须掌握的知识和技能,数据库查询技术的精通也为以后课程的学习(如:C#.NET程序设计)中的数据库应用程序的设计打下良好的基础。

为了优化数据库的性能,简单、有效的方法就是优化查询。

1优化原理和实质

数据查询处理的代价通常取决于对磁盘的访问,因为磁盘比内存的访问速度要慢。对于一个给定的查询,有许多可能的处理策略,复杂查询更是如此[1]。查询优化的实质是在结果正确的前提下,找出与已有表达式等价,但查询效率更高的表达式。

2在教学中要注重的几种典型的优化方法

2.1建立视图

视图可简化用户操作数据的方式,使用户能着重于所感兴趣的特定数据和所负责的特定任务。如果该视图数据规模小于定义的基本表,则基于视图的查询比原查询的速度会快得多。

例:要查询每门课程成绩最高的学生的学号

SELECT 学号,课程号,成绩

FROM 成绩表 A

WHERE 成绩=(SELECT MAX(成绩)

FROM 成绩表B

WHERE A..课程号=B.课程号)

语句缺点:这属嵌套查询,子查询的结果集将作为外层查询的条件,查询效率不高。

解决方案:可先建立视图,求得每门课程的最高分,再与成绩表中比较,获取与视图中最高分数据相等的记录,这就减少了内层连接的数据量,从而提高了检索速度。

用SQL语句优化的步骤为:

首先,创建视图

GREATE VIEW V_max_cnoscore AS

SELECT 课程号,Max(成绩) AS 最高分数

FROM 成绩表 GROUP BY 课程号

其次,利用视图检索数据

SELECT 学号,A.课程号,A.成绩

FROM 成绩表A,V_max_cnoscore B

WHERE A.成绩=B.最高分数 AND A.课程号=B.课程号

2.2查询条件Where子句的优化

2.2.1合理设置WHERE条件的先后顺序。多数数据库都是按从左到右的顺序处理条件,把能过滤更多数据的条件放在前面,过滤少的放后面,便可提高检索速度。

例:SELECT * FROM student

WHERE ssex=’女’ --条件1过滤的数据较少

AND sdept=’计算机系’ --条件2过滤数据比条件1多

上面的SQL就不符合上述原则,可改为:

SELECT * FROM student

WHERE sdept=’计算机系’

AND ssex=’女’

对同一表格进行多个选择运算,选择条件的排序对性能有较大影响,不仅影响索引的选取,而且关系到临时表的大小[2]。因此,要提高查询速度,可将较严格的条件写在前面,较弱的放在后面。

2.2.2避免使用“< >”或“NOT”操作符。“< >”或“NOT”均属于排斥性操作符,不是包括性操作符,这会使系统在搜索数据时无法使用索引,只能直接搜索表中的数据,例:

(1)SELECT 学号 FROM 成绩表 WHERE 成绩< >80

(2)SELECT 学号 FROM 成绩表 WHERE NOT(成绩80)

(3)SELECT 学号 FROM 成绩表 WHERE成绩< 80 OR 成绩>80

比较以上三条语句,可知第3条可使用索引查询,它的查询速度最快。

2.2.3恰当运用“OR扩展”技术。该技术是把在Where子句中带有OR的查询转换成包含多个UNION ALL的查询。

例:查询计算机系县年龄不大于20岁的学生。

常规的SQL语句:

SELECT 学号,姓名 FROM 学生表 WHERE 系名=’计算机系’ OR 年龄

假定表中“系名”和“年龄”两个字段上创建了索引,以上的查询可能不会使查询优化器使用索引,从而查询效率降低,可改进为:

SELECT 学号,姓名 FROM 学生表 WHERE 系名='计算机系'

UNION ALL SELECT 学号,姓名 FROM 学生表 WHERE 年龄

2.2.4合理减少LIKE条件的使用。在SQL查询中,LIKE条件使用的神奇之处在于其与通配符匹配所提供的模糊查询功能。但在字符串的比较中,有时大量字符的逐个比较,也会大大降低查找效率。

例:图书按26个英文字母分为26类,查找所有属于‘A’类图书的销售金额。

SELECT 图书类号, SUM (数量*单价) FROM 销售

WHERE 图书类号LIKE′A%′GROUP BY图书类号

优化为精确查询:

SELECT 图书类号,SUM(数量*单价) FROM销售

WHERE 图书类号>=′A′AND图书类号

GROUP BY图书类号

2.3正确使用子查询“展平”技术子查询“展平”技术就是指将子查询转变为半连接,连接或者反连接,从而将查询优化。

例:找出成绩大于等于90分的学生的姓名。

SELECT 姓名 FROM 学生表 WHERE 学号IN

(SELECT 学号FROM 成绩表WHERE 成绩>=90)

语句缺点:需要搜索学生表的每一行,来查找所有满足子查询条件的记录。

解决方案:将学生表作为连接的内表,查询将作为通常的连接来执行。

优化后的SQL语句:

SELECT 姓名FROM (SELECT 学号 FROM 成绩表

WHERE成绩>=90) A,学生表 B WHERE A.学号=B.学号

2.4善于使用存储过程

存储过程是SQL语句和可选控制流语句的预编译集合,一个名称存储并作为一个单元处理。善于使用存储过程,将使SQL变得更加灵活和高效。

例:查询某个学生某门课程的考试成绩,列出学生的姓名、课程名及成绩

CREATE PROC pro_student_degree

@stu_name char(12),@course_name char(18) AS

SELECT sname,cname,degree

FROM student A INNER JOIN sc B ON A.sno=B.省略o=o

WHERE sname=@stu_name AND cname=@course_name

以上是一个带有两个输入参数的简单存储过程,只需执行一个简单的SQL语句――“EXEC pro_student_degree‘刘娜’,’数据库原理’”就可完成查询。

编写性能优化的SQL语句是提高数据库系统的重要因素,随着数据库管理系统中数据量的增大,如何提高查询速度与效率也是计算机软件开发的一个时代要求。实现优化查询的方法很多,在使用中,要根据具体情况权衡利弊,使数据库查询性能最优。在学生的教学中要注重培养学生的动手能力,使学生养成编写优化的SQL语句的习惯。

参考文献:

[1]王振辉,吴广茂.SQL查询语句优化研究[J].计算机应用,2005,(12):208.

[2]SQL查询优化注意where条件的顺序.. 2009-06-18.

关系数据库范文第3篇

关键技术,包括构建全文索引、构建数据库模式图、查询语言及查询结果生成等等。通过分析相关检索系统的实现策略,给出了面向关系数据库的关键字查询的形式化描述,设计了支持关键字检索的系统架构和核心构成组件,主要包括数据库索引、关键字检索和结果生成。

关键词:关系数据库 关键词查询 数据库索引

1 系统总体设计

人们在求解一个复杂问题时,通常采用的是逐步分解、分而治之的方法。也就是把一个大问题分解成若干个比较容易求解的小问题,然后分别求解。设计一个复杂的系统时,往往也是把整个系统划分为若干个功能较为单一的功能模块,然后分别予以设计、实现,这就是模块化设计。本系统也采用这种模块化设计方式。

图1 面向关系数据库关键字查询系统框图

2 数据库设计

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

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

create table Actor( //演员表

actorname varchar(50) Primary Key ; //演员姓名key

sex varchar(2); //性别

mvname varchar(50); //出演电影或电视剧名

mvyear varchar(10); //电影上映时间

mvactorname varchar(10); //电影中人物姓名

position varchar(20); //电影中人物排名

made varchar(10); //TV 或是Video

setname varchar(50); //出演电视剧集名

episode varchar(10); //出演电视剧集

date varchar(10); //电视剧播出日期

classification varchar(30); //(achieve football)

creat table Consume( //设计师

consumename varchar(20) Primary Key; //设计师姓名key

mvname varchar(20); //电影名或电视剧名

mvyear varchar(10); //上映日期

setname varchar(20); //电视剧集名

episode varchar(10); //电视剧集

productiondate varchar(10); //电视剧播放日期

classification varchar(30); //(as M...)

made varchar(10); ///(V/TV/uncredited)

creat table Director( //导演信息

directorname varchar(20) Primary Key; //导演姓名key

mvname varchar(20); //电影或电视剧名

mvyear varchar(10); //上映日期

setname varchar(20); //电视剧集名

episode varchar(20); //电视剧集

made varchar(10); //(V/TV/VG)

explantaion varchar(30); //(as M...)

creat table Business( //投资

mvname varchar(20) Primary Key; //电影名key

productiondate varchar(20); //拍摄日期

company varchar(50); //出品公司

studiodate varchar(50); //上映日期

masterpiece varchar(1000);///OW

budget varchar(20); //预算

ad varchar(50); ///AD

general_revenue varchar(20); //收入

wg varchar(50); //WG

editorname varchar(20) Primary Key; //编辑名

mvname varchar(20); //电影或电视剧名key

mvyear varchar(10); //上映日期

made varchar(10); //(V/TV/video)

setname varchar(20); //电视剧集名key

episode varchar(20); //电视剧集key

explantaion varchar(30); //(as M...)

creat table Color { //颜色信息

mvname varchar(20); //电影或电视剧名key

mvyear varchar(10); //上映日期

setname varchar(20); //电视剧集名key

episode varchar(20); //电视剧集key

color varchar(20); //颜色分类color或black and white

explantaion varchar(10); //颜色分类之后的()中有(HD)等,(HD)是高清

Primary Key(mvname,setname,episode);

}

creat table Keyword( //关键词

mvname varchar(20); //电影或电视剧名key

mvyear varchar(10); //上映日期

setname varchar(20); //电视剧集名key

episode varchar(10); //电视剧集key

keyword varchar(50); //关键词

Primary Key(mvname,setname,episode);

3 数据库索引设计

由于关系型数据库对于文本属性上全文索引的支持,所以在文本属性可以直接利用数据库中的全文索引。对于给定的关键字k,全文索引能检索出查询关键字所在位置。

对于数据库中的表属性,构建索引的方式比较简单,依赖于DBMS的IR索引。对于数据库中具有文本属性的列,在该列上建立全文索引。在进行关键字查询时,对于给定的关键字,通过数据库的全文索引,会返回包含该关键字的元组集合。

在进行关键字查询的时候,对于用户给定查询关键字,系统首先要对给定的关键字进行定位,确定关键字所匹配的信息是模式项还是数值项。

例如,关键字{“Color”“Director”}的索引结构如表1所示。

表1 关键字{“Color”“Director”}的索引结构

4 关键字检索设计

在搜索引擎行业,所谓关键字,就是用户在使用搜索引擎时输入的、能够最大程度概括用户所要查找的信息内容的字或者词,是信息的概括化和集中化。关键字检索作为一种易于使用的检索方式,为大量普通用户所喜爱。本文从关键字个数角度介绍现有的关键字检索技术中最常见的单关键字查询和多关键字查询这两种关键字检索形式。

5 结果生成设计

在本文中,将查询结果定义为元组连接树。

元组连接树(Joined Tuple Tree)是给定一个数据库模式图GS,一个元组连接树T是一棵元组树。其中,T中的每一条边(ti,tj)(ti∈Ri,tj∈Rj)满足以下两个要求:

①(Ri,Rj)∈RS,

②ti∞tj∈Ri∞Rj。

同时这些元组连接树满足以下条件:

①完整性:用户提交的所有关键字均出现在元组连接树上;

②最小性:从元组连接树中移除任何元组后的元组连接树都不具有完整性。

6 结束语

通过分析相关检索系统的实现策略,设计了支持关键字检索的系统架构和核心构成组件,主要包括数据库索引、数据库模式图、关键字检索和结果生成。

参考文献:

[1]吴清怡,马良荔,孙煜飞.基于数据关系表的XML查询算法[J].辽宁工程技术大学学报(自然科学版),2013(01).

关系数据库范文第4篇

关键词:计算机;网络设计;关系数据库

在经济全球化这一趋势的影响之下,计算机被运用到人民平时的生活与工作中,人类开始走入到信息时代。随之国家关系数据库这一技术也被广泛的普及到各个行业中,尤其是在科学技术快速发展的当下,所以,唯有持续的提升关系数据库这一技术本身的质量与水平,才可以推动国家计算机这一网络技术更加稳定的发展。

1关系数据库技术

1.1关系数据库这一技术的内涵

关系数据库这一技术,就是在原来数据库技术这一基础之上,实施的创新与改造,把新型技术导入其中变成辅助的方式,特别是把关系数据库这一技术大面积的普及到计算机网络的设计之中,其具有的优势是非常明显的。最开始的关系数据库这一技术通常是用于部分表格与模型的制作,借助持续的充实其内容与形式,创建一个数据库。在那个时候的数据库技术就拥有了描述特征,之后人民通过后期的操作与整合就可以把其存下来,所以,在人民提出数据期间,是没有必要去进行组合重造的,主要把所需的数据实施管理既可以了,这样也可以提升关系数据库这一技术的质量与水平,让其拥有某种发展的特性,国家最为常用的数据库包括:SQL、access这些。

1.2关系数据库这一技术具有的辅助功能

在进行计算机的网络设计时,关键数据库这一技术主要的功能是辅助,其通常是给计算机的网络设计提供服务,特别是关系数据库具有很大的容量,并且还承载着多样化的数据形式,在这期间大部分数据都承载着计算机的网络设计内容,进而进一步优化计算机的网络设计方式。在进行关系数据的输入时,应该先针对这部分数据实施赋值之后在进行相应的整合重组,这样才可以保障计算机的网络设计能够得到固定的参数与相应的参考信息,进而提升计算机这一网络设计的质量与水平。国家之前数据库的输入方式一般是以人工的形式进行输入,所以,极易出现很多的错误,然而发展到了关系数据库这一技术就能够把其和计算机的网络设计进行合理的结合,这样可以把其中包含的各项管理数据进行正确的录入,进而促进信息资源的有效传播与发展,特别是在运用网络数据库期间,还可以转换其中包含的参数信息,精简数据发函所用的程序与过程,如果发现有错误可以快速的进行处理与解决,在这期间持续的改变数据信息,进而创建具有着高效性与稳定性的数据传递平台。

2计算机的网络设计中关系数据库这一技术的运用原理

因为国家数据库这一技术具有很多种类,所以,在计算机网络的设计过程中,应该依据各种模式分成各种类型,比如,模型数据库这一技术,层级数据库这一技术、网络数据库这一技术与关系数据库这一实技术等,然而其中最健全、最综合的是关系数据库这一技术,由于其具备非常先进的数据模型,可以执行各种各样的繁琐任务,并且,其运用的系统与操作比较简单、便捷,这样不只是可以给予人民已经做好的编程程序,并且还可以把其广泛的普及到计算机的网络设计之中。在关系数据库这一技术的发展历程中C语言发挥着至关重要的作用,其不只是可以达成关系数据库在发展期间提出的要求,还可以改善计算机的网络设计成果,关系数据库的基本原理有:因为在计算机的数据软件中通常包含着连接性与访问对象这两方面,这两方面全是单独面向众多的计算机用户的,然而其中包含的开放数据库可以对SQL语言实施自由定义,还可以对于C语言实施定义,这样就能够借助C语言展开访问,然而其中添加了驱动器,在很大程度上减少了数据库对其的访问频率。然而数据库的访问对象则是提供着数据库全部的信息,在访问对象形成很多结构同时建立相关体系后,就可以完成多个接口之间的访问,进而提升数据库这一技术的质量与水平,C语言也可以顺利的脱离软件实施编程,进而让整个数据库变得更加独立,有效的发挥出其具有的优势。

3当下关系数据库这一技术存在的问题以及解决的措施

3.1关系数据库这一技术存在的问题

即使国家关系数据库这一技术已然发展到了一定阶段,同时也取得了实质性的成效,被广泛的普及到计算机网络的设计中,然而其还有具有很多问题未能解决,主要表现在这几点。首先,关系数据库的管理力度不够。在关系数据库的发展历程中,大部分技术工作者对其的管理不是很重视、管理力度不够,同时也没有充分的了解到其发展具有的重要性,也未实施进一步的了解就展开相关的操作或者是运用,进而造成整个操作的过程不够规范,同时也有大部分有关工作者即使已经察觉到关系数据库隐藏的问题,然而却并未实施相应的修改与归纳,进而减少了对系统数据的访问频率,这部分缺陷还会造成关系数据库处于危险的境地,极易被计算机病毒所侵蚀。其次,关系数据库工作人员的操作不够规范。现如今国家关系数据库的工作人员操作不够规范,带来了病毒入侵、数据丢失与操作系统失去联系这些难题,这不只是会影响关系数据库具有的安全性与稳定性,还可能阻碍着关系数据库这一技术的水平提升,严重的影响到其在计算机的网络设计中运用。倘若未进行良好的防范就可能为黑客提供可乘之机,进而在很大程度上威胁着计算机中数据库具有的安全性与稳定性,有着巨大的危害。

关系数据库范文第5篇

关键词:自适应算法; 转化; 类图; 关系数据库

中图分类号:TN91934文献标识码:A文章编号:1004373X(2012)06003303

Research of adaptive algorithm to convert class diagram into relational database

WANG Lili

(Department of Electronic Information Engineering, Baoji Professional Technology Institute, Baoji 721008, China)

Abstract: An adaptive algorithm for translating class diagram into relational database is proposed. The class diagram is generated with Rational Rose, and represented by Java language. The Java source code text as an algorithm is executed. The keywords of "class", "attribute" and "relation" are compared by means of specific algorithm to discriminate their classes, natures and relations. After the setting description for the names of database tables, and the type and size of attribute fields is completed, the algorithm is executed in MYSQL database and SQL commands are generated to establish the relative database and tables. It shows that this algorithm can reduce error probability and time of translation.

Keywords: adaptive algorithm; translation; class diagram; relational database

收稿日期:201110150引言

面向对象设计OOD(Object Oriented Design)常用于交互式对象系统的流程设计,它多用于软件设计领域和优化子系统和系统构件之间的关系[12]。统一建模语言UML(Unified Modeling Language)是设计面向对象系统的开发工具,它用于描述并设计软件系统,特别是基于面向对象的系统[3]。类图(Class Diagram)是UML的元模型(MetaModel)元素,与实体关系图(EntityRelation Diagram)类似,它体现了类与类之间的关系。

由于面向对象设计在系统设计中的应用和关系数据库(Ralational Database System)的广泛使用,用户可以通过在关系数据库中创建表的方法,将类图转化为实体关系图。目前,关于类和表之间映射的研究很多。Jaroslav Orsag的学位论文中提及的基于类图和实体关系图映射理论,主要研究了如何转化两者之间的关系[4]。Scott W. Ambler的文章中描述了是实体对象映射到关系数据库的各种方法,包括:映射对象属性到数据库表中的列,映射类到数据库表,以及映射各种相关,合成关系等[2,56]。文献[7]中详细论述了将对象映射到表的方法。

1转化算法设计

1.1逻辑设计

将类图转化为关系数据库的逻辑设计,是从概念层次设计转化算法,包含4个要素:

(1) Table:Table是由类Class转化而来,在公共类“public class”或确定类“final class”之后描述表的名称。

(2) Attribute:属性Attribute或者域Field是一个表的组成部分。

(3) Relation:类与类之间的关系类似于表与表之间的关系。

(4) Key:关键字Key分为主关键字Primary Key和外关键字Foreign Key,字段或属性后标记“ID”的是主关键字,外关键字是标记表与表之间的关系。

1.2算法设计过程分析

本文研究的算法设计如上图1所示,分为以下4个步骤:

(1) 创建类图并生成代码:用户通过使用Rational Rose工具创建类图。类图由类的名称、属性、属性类型和关系等组成。在JDK编辑器中使用Java语言将类图生成代码,源代码描述的类可以分为确定型类,组合类、抽象类和接口类。

图1算法用例图不同类之间和关系类型之间的映射方式主要有:相关,集合或合成。如果这种映射关系是一对一的,该算法将根据已有的类创建出2张表,通过表的主关键字合成新的主关键字,从而创建一张新表。如果是一对多的映射关系,算法能将主表的主关键字作为映射后表的主关键字一部分,而另一部分是其他表主关键字的合成,因此,主类表中的主关键字是其他多个子类表主关键字的合成。

(2) 将代码转化为关系数据库:第1步,将Java文本源代码作为算法执行的输入;第2步,比较文本代码中的关键字,区分出类,属性,关系和关键字。如果类之间是一对一的关系,算法将创建一张新的数据库表,并且该表具有这2个类对应表的主关键字的属性;第3步,通过算法分析文本代码中的“.java”和“/**”,以空格形式将文本代码进行划分,并存入数组;第4步,使用以下算法,比较文本代码和关键字,最终区分出类,属性和关系。

算法1:接收并存储数据至数组变量

(3) 设置描述:在完成从类至数据库表的映射后,用户输入数据,调用该算法编辑数据库表的名称,属性字段的类型及大小,关键字的类型。若属性字段有外关键字,则算法不能进行设置描述。

(4) 生成SQL命令:用户在MYSQL数据库中执行该算法,能生成SQL命令创建数据库和表。从类图至关系数据库的整个转化过程,如图2所示。

图2类图至关系数据库转化过程2结果输出

使用该算法设计的系统,用户首先输入数据库的名称和插入文件的数量,系统将提示用户导入通过类图转化的Java源代码文件,如图3所示。

图3导入Java源代码文件经过系统输出,将类图转化为关系数据库表的结果如图4所示,整个转化结果包括表名,属性字段名、类型以及大小,关键字和设置是否空值域等。

当用户进行数据有效性检验和修改数据时,可以执行生成SQL命令,生成的SQL命令如图5所示。

图4类图转化为关系数据库表图5创建数据库和表的SQL命令3结语

为了有效验证该转化算法的准确性,必须把握以下4个方面:

(1) 转化后数据库表准确性:转化后的数据库表的数量必须和类图的数量一致,若各种类之间是一对一的关系,则要反复创建新表。

(2) 转化后数据库表中属性字段的准确性:将类图中的属性数量和转化后数据库表的属性字段数量进行对比,包括表之间关系所使用的字段(外关键字)。

(3) 属性类型的准确性:表属性字段类型转化的处理结果必须和表一致匹配。

(4) 类和数据库表之间关系的准确性:比较数据库表中主关键字、外关键字和类之间的关系。

若类之间是多对多的关系,用户需分解出多个一对多关系的类,再运用该算法进行转化。

参考文献

关系数据库范文第6篇

【关键词】关系数据库;模式图;关键字检索

一、数据库设计

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

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

Actor(演员表)、Consume(设计师)、Director(导演信息)、Business(投资)、Editor(编辑)、Color(颜色信息)、Keyword(关键词)。

本数据库抽象的数据库关系E-R图如图1所示。

图1 数据库关系E-R图

二、数据库模式图的构建

在关系数据库中,关键字是通过主外键进行连接的,因此关系数据库采用的数据模型,即为基于模式图建模。模式图的节点对应数据库中的关系,边表示关系间的主外键约束。

由模式图的概念我们可以了解到模式图即关系数据库的模式信息。关系数据库对应的模式图由多个RiRj组成,其中R代表关系数据库中的表名,箭头也就是边代表关系表之间的主外键关系。

我们把关系数据库中每一个表抽象成一个关系,将有外键关系的表之间用先连起来,这样就生成了关系数据库对应的模式图。

基于模式图的查询方法,在进行关键字查询时,通过关键字映射,在模式图上查找包含所有关键字的元组连接树,并将连接表达式转换为相应的SQL查询来生成查询结果。基于模式图的查询方法,针对数据库的关系进行建模,因此其抽象度高,所需的存储空间小。

由于在关键字查询系统中的关键字转化模块需要用到关系数据库的模式图,所以系统需要将模式图存储,以便系统的调用,本文将模式图存储到数据库的关系表中,当需要调用模式图时,只要操作关系数据库的关系表即可,存储结果如图2所示。

三、关键字检索实现

对于关键字检索,将查询的关键字映射在属性层面,将输入的关键字转化为SQL语句,以此来查询关系数据库,具体实现如图3。

关键字检索过程主要是分析关键字,确定关键字位置,查找数据库模式图,生成元组连接树,最后将元组连接树转化为对应的SQL语句。

关键字检索的伪代码如下:

关键字转化为SQL语句的MATCH()用法,例String SQL=”select * from keyword where MATCH(mvname,mvyear,setname,episode,keyword)AGAINST(ain IN BOOLEAN MODE)。

四、结果生成实现

在面向关系数据库的关键字查询系统中,结果的生成是以表格的形式输出的。按照所抽象的模式图编写代码,检索关键字所属数据库表以及属性值。

结果生成的实现就是计算候选元组连接树的过程,元组连接树的关键字检索算法中已经生成,将候选元组连接树转换成相应的SQL语句,并交付数据库管理系统执行的过程,与(a)所示元组连接树对应的SQL语句为:“SELECT*FROM Director INNER JOIN Color ON Director.mvname=Color.mvname”。与(b)所示元组连接树对应的SQL语句为:“SELECT directorname,mvname,mvyear,setname,episode,made,explantaion,color FROM Director,Color WHERE MATCH(mvname,mvyear,setname,episode,color,explantaion)AGAINST(‘Color’IN boolean MODE)AND Director.mvname=Color.mvname”。

在RDB search的具体实现中,最小元组连接树是以表格的形式来显示的。即将各个元组按照主外键关系连接起来,形成一个复合元组,显示在一个表格中。如上例中,第二棵元组连接树进行计算返回的结果如图3和图4所示:

五、结语

文章关键字检索实现中本文主要实现了多关键字查询,根据全文索引遍历数据库,检测关键字所在表及属性。结果生成实现中将根据元组连接树将关键字转换成SQL语句生成的表格作为查询转换后的结果。

参考文献

关系数据库范文第7篇

【关键词】面向对象数据库 信息化 关系数据库

随着计算机技术的不断发展,数据库技术已经成为计算机领域中不可缺少的一部分。关系模型以其自身的优势逐渐占据了主导地位,成为目前最重要也是应用最广泛的一种数据模型。但是,在计算机技术日新月异的发展过程中,数据库系统处理的已不仅仅是一些简单的数据类型,它还必须能够处理一些复杂的数据类型。在这种情况下,一种新型的数据模型—面向对象的数据模型问世了。本文就关系数据库和面向对象的数据库的性能和结合进行一些探讨。

一、关系数据库的特点分析

(一)数据模型

关系模型是建立在集合代数基础上的,具有坚实的理论基础。而关系模型包含的概念是关系、属性、记录等。关系模型用关系描述实体;它的基本特征是用二维数组表示所有实体,实体之间的联系也用关系来表示;

(二)数据库系统

(1)基本结构。关系数据库的基本结构是记录,一个记录包含若干条属性。

(2)支持的数据类型。关系数据库的基本数据类型包括整型、实型、字符串型、布尔型等,不允许用户增加新的数据类型。

(3)模式修改。关系数据库系统中,主要的模式修改有:创建或删除一个关系;在关系模式中增加或删除一个属性;在关系模式中修改完整性的约束条件。

二、面向对象数据库的特点分析

(一)数据模型

面向对象的数据模型是建立在面向对象的程序设计方法的基础上的。面向对象的数据模型使用了许多面向对象的概念。面向对象的数据模型不对每个实体一一定义,它只定义对象的类,根据类定义属性和方法。

(二)数据库系统

(1)基本结构。面向对象的数据库的基本结构是对象。对象与记录的概念类似,但内容要比记录复杂得多,每个对象由唯一的标识符把状态和行为封装起来。

(2)支持的数据类型。在面向对象的数据库中,它不仅包含关系数据库中的基本的数据类型,而且也可以包含用户自己定义的新类型。

(3)模式修改。面向对象的数据库系统中,主要的模式修改有:类集的改变;已有类的成分的改变;子类/超类成分的改变;查询操作:关系数据库的查询操作支持嵌套子查询、集合(交、并、差)查询等,查询是非导航式的。面向对象的数据库中,查询操作是在类上进行的,查询是导航式的。

三、关系数据库(RDB)向面向对象数据库(OODB)的转换

(一)RDB向OODB转换的可行性

关系数据库在简单大量数据的检索查询上占有优势,而面向对象数据库的优势在于对复杂数据对象的导航式访问。经过大量的研究和实践证明下面的两种方法是可行的:建立基于关系的面向对象数据模型;将关系数据模型与面向对象数据模型统一起来。

(二)RDB向OODB转换的思想

传统关系模型=(Sr,Ar) 其中Sr是关系的集合,Ar是关系代数;面向对象模型=(So,Ao) 其中So是对象的集合,Ao是对象集合的代数运算两者之间的不同之处在于Sr中的每个元素是关系,只有结构部分,而So中的每个元素是对象,不仅具有结构部分,还具有操作部分,而且对象具有封装性。具体完成从关系数据库向面向对象数据库转换思想如下:在关系模型基础上增加抽象数据结构,过程类型以及类型模式的继承性等。面向对象的方法是从抽象数据类型发展起来的,它主要是为了解决软件的复杂性和软件的结构问题。在两者的结合,这里强调数据完整性的问题。保证数据完整性的一个重要方法就是引入数据约束。

(三)RDB和OODB的前景分析

关系模型的数据结构简单,容易理解和掌握。对实体和实体之间的联系的描述简明、精确,给用户使用数据库提供了很大的方便。但是,它不能表示复杂的对象,也不具备定义复杂操作的能力。所以,根据目前数据库技术的发展趋势,关系模型还应扩充,与面向对象模型相结合,从而具有更强的功能和更广泛的应用领域。因此,关系数据模型仍然具有良好的发展前景。面向对象的数据模型由于可以表示复杂的数据类型,它能适用于一些关系模型不能适用的复杂应用领域,而且它对实体的描述比关系模型更加现实、自然、更加直观。因此,面向对象的数据模型比关系模型更具优势,更有发展潜力。

四、结语

RDB和OODB都有其各自的优势及应用领域,由于OODB模型的特点,还可以设计出更多的转换算法和集成更好的模型。对于将RDB与OODB更紧密的结合成真正的面向对象数据模型还需要更深入的探讨。

参考文献:

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

[2]钱雪忠,罗海驰,陈国俊.数据库理论及技术课程设计[M].北京:清华大学出版社,2009.

[3]范剑波.数据库理论与技术实现[J].西安电子科技大学出版社,2012.

关系数据库范文第8篇

【关键词】大数据;关系数据库;NOSQL

一、大数据

1.大数据产生的背景

大数据(Big Data),也称巨量资料,指的是所涉及的资料量规模巨大到无法通过目前主流软件工具,在合理时间内达到撷取、管理、处理、并整理成为帮助企业经营决策更积极目的资讯,通常被认为是PB或EB或更高数量级的数据。

互联网络从上世纪90年代开始,发展迅速,加快了信息传播和共享的速度,尤其是一些社交网站的兴起,数据量更是以前所未有的速度暴增,文字资料、声音、视频、图像等多媒体数据铺天盖地。据资料显示,上世纪90年代,互联网资源不是很丰富的时代,网民月平均流量1MB左右,之后则快速增长,2000年后,逐渐发展为每月10MB、100MB、1GB,据估计2014年可能会达到10GB。淘宝网每日几千万笔交易,单日数据量达几十TB,数据存储量几十PB,百度公司目前数据总量接近1000PB,存储网页数量接近1万亿页,每天大约要处理60亿次搜索请求,几十PB数据。

随着技术发展,大数据广泛存在,如企业数据、统计数据、科学数据、医疗数据、互联网数据、移动数据、物联网数据等等。总之,大数据存在于各行各业,一个大数据的时代已经到来。

2.大数据时代的挑战

大数据特点是容量在增长、种类在增长、速度也在增长,面临如此庞大的数据量,数据的存储和检索面临着巨大挑战。比如2007年时,Facebook使用数据仓库存储15个TB的数据,但到了2010年,每天压缩过的数据比过去总和还多,那时商业并行数据库很少有超过100个节点以上的,而现在雅虎的Hadoop集群超过4000个节点,Facebook仓库节点超过2700个。大量的数据现在已经开始影响我们整个的工作、生活、甚至经济,如何存储和高效利用这些数据是需要我们解决的。

二、关系数据库

1.关系数据库概述

关系型数据库是支持关系模型的数据库系统,他是目前各类数据库中最重要,也是使用最广泛的数据库系统。关系型数据库从上世纪70年代诞生到现在经过几十年的发展,已经非常成熟,目前市场上主流的数据库都为关系型数据库,比较知名的有Oracle数据库、DB2、Sybase、SQL Server等等。

2.关系数据库优势

关系数据库相比其他模型的数据库而言,有着以下优点:

模型容易理解:关系模型中的二维表结构非常贴近逻辑世界,相对于网状、层次等其他模型来说更容易理解。

使用方便:通用的SQL语言使得操作关系型数据库非常方便,只需使用SQL语言在逻辑层面操作数据库,而完全不必理解其底层实现。

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

3.关系数据库存在问题

传统的关系数据库具有不错的性能,稳定性高,历经多年发展已日臻成熟,而且使用简单,功能强大,也积累了大量的成功案例。上世纪90年代的互联网领域,网站基本都是静态网页,主要以文字为主,访问量也不大,当时用单个数据库完全可以应对。可近几年,动态网站随处可见,各种论坛、博克、微博异常火爆,在大幅度提升交流方式的同时,用户数据量迅速增长,处理事务性的数据关系数据库得心应手,可面对互联网的高并发、大数据量关系数据库显得力不从心,暴露了很多难以克服的问题:

数据库高并发读写:高并发的动态网站数据库并发负载非常高,往往要达到每秒上万次甚至百万次、千万次的读写请求。关系数据库应付上万次SQL查询没问题,但是应付上百万、千万次SQL数据请求,硬盘IO就已经无法承受了。

海量数据的高效率访问:一般大型数据库在百万级的数据库表中检索数据可达到秒级,但面对数亿条记录的数据库表,检索速度效率是极其低下,难以忍受的。

数据库可扩展性和高可用性:基于web的架构当中,数据库无法通过添加更多的硬件和服务节点来扩展性能和负载能力,对于很多需要提供24小时不间断服务的网站来说,数据库系统升级和扩展却只能通过停机来实现,这无疑是一个艰难的决定。

三、NOSQL数据库

1.NOSQL数据库理论基础

NOSQL作为新兴数据库系统概念,由于其具备处理海量数据的能力,近年来受到各大IT公司的追捧。Amazon、Google等大型网商已纷纷斥资进行研究并开发了适用的产品。谈及NOSQL数据库,首先应该了解支持NOSQL的理论:CAP理论、BASE思想和最终一致性。

(1)CAP理论

CAP理论由Eric Brewer在ACM PODC会议上的主题报告中提出,这个理论是NOSQL数据管理系统构建的基础,CAP解释为一致性(Consistency)、可用性(Availability)以及分区容忍性(Partition Tolerance)。具体描述如下:

强一致性(Consistency):系统在执行过某项操作后仍然处于一致的状态。在分布式数据库系统中,数据变更后所有的用户都应该读取到最新的值,这样的系统被认为具有强一致性。

可用性(Availability):每一个操作都能够在一定的时间内返回结果。“一定时间内”是指系统的结果必须在给定时间内返回,如果超时则被认为不可用,“返回结果”同样非常重要,必须能提供成功或失败的信息。

分区容错性(Partition Tolerance):分区容错性可以理解为系统在存在网络分区的情况下仍然可以接受请求。

CAP是在分布式环境中设计和部署系统时所要考虑的三个重要的系统需求。根据CAP理论,数据共享系统只能满足这三个特性中的两个,不能同时满足三个条件。因此系统设计者必须在这三个特性之间做出权衡。例如Amazon的Dynamo具有高可用性和分区容错性但不支持强一致性,也就是说用户不能立即看到其他用户更新的内容。

(2)BASE思想

BASE(Basically Availble),基本可用,强调数据库的最终一致(Eventually consistent最终一致,最终数据一致就可以,而不是时时高一致),不同于传统关系数据库基于的ACID模型。

ACID特性与高性能是不兼容的。比如,在网店买东西,每个客户买东西时都会通过锁来同步数据操作,操作完成每个客户都可以看到一致的数据。也就是说,不允许多个客户同时买的情况。很明显对于大多数网上商城,尤其是大型网商来说,这个方法并不适用。

BASE思想实际上是CAP理论中AP的衍伸。通过牺牲高一致性,保证高可用性和分区容忍性。BASE思想的组成有以下3个部分:基本可用、软状态、最终一致性。BASE模式指的是一个应用在任意时间首先应该能完成最基本化的工作(即基本可用),并不需要总是一致(即软状态),但最终应该是一致(即最终一致性)的。

(3)最终一致性

数据一致性可分别从使用者和提供者角度看:从使用者的角度,如何观察数据更新;从提供者的角度,也就是服务器端,更新如何在系统中实现。

一致性可分为强一致性和弱一致性两种:强一致性要求更新过的数据能被后续的访问都看到,根据CAP理论,强一致性无法和可用性、分区容忍性同时实现;弱一致性,指读取操作能够见到变化的数据,但不是所有变化的数据。

最终一致性属于弱一致性的一种,即存储系统保证如果没有新的更新提交,最终所有的访问都将获得最后的更新。如果没有故障发生,不一致性取决于通信时延、系统负载以及复制策略中涉及的副本数。

2.NOSQL数据库产品

NOSQL(Not Only SQL)数据库是指那些非关系型的数据库。NOSQL数据库分为Key-Value、Key-Document和Key-Column这3类。典型的NOSQL产品有Google的BigTable、基于Hadoop HDFS的HBase、Amazon的Dynamo、CouchDB、MongoDB、Redis等。

NOSQL数据库遵循CAP理论和BASE原则,大部分Key-Value数据库系统都会根据自己的设计目的进行相应的选择,如Cassandra、Dynamo满足AP,BigTable、MongoDB满足CP。

四、结束语

本文首先介绍了大数据概念,分析了关系数据库在存储大数据量方面的不足,并介绍了当前NOSQL数据库的基本理论和当前产品分类。大数据时代的来临,我们忙于如何存储和处理这些数据,但随着计算机互联网、移动互联网、物联网等网络的快速发展,数据量会持续大幅增长,如何长期保存这些数据以及如何处理更大级别的数据量,都需要我们思考并解决。

参考文献

[1]王珊,王会举,覃雄派等.架构大数据:挑战、现状与展望[J].计算机学报,2011(34).

[2]黄贤立.NOSQL非关系型数据库的发展及应用初探[J].福建电脑,2010(7):30.

[3]李莉莎.关于NOSQL的思考[J].中国传媒科技, 2010(4):40-41.