ORACLE数据库的SQL应用优化

时间:2022-10-13 03:33:24

ORACLE数据库的SQL应用优化

摘要:SQL Server 2003是一种比较复杂的数据库,主要靠内部的映射关系的一种数据库,这种数据库的服务一般来说是对于复制、集成、分析、通知以及报表等相关服务的融合,此外,Visual 等第三方开发工具的有效结合,在SQL Server 2003数据库中,SQL语句的应用优化对于数据库的发展很重要,本文就是从SQL应用优化着手,对于数据库的SQL语句进行了分析。

关键词:ORACLE;SQL;优化

中图分类号:TP311 文献标识码:A 文章编号:1007-9599 (2011) 22-0000-01

SQL Application Optimization of ORACLE Database

Yang Qiming

(Tongren Polytechnic,Tongren 554300,China)

Abstract:SQL Server 2003 is a more complex database,mainly by the internal mapping of a database,the database service is generally for replication,integration,analysis, notification and reporting and other related services integration,in addition,Visual and so the effective integration of third-party development tools in SQL Server 2003 database,SQL statements in application optimized for the database development is very important,this is the application of optimization started from SQL,the SQL statements for database analysis.

Keywords:ORACLE;SQL;Optimization

一、ORACLE数据库技术概述

首先.NET Framework与SQL Server 2003有机结合的过程中,SQL Server利用.NET平台特有的公用语言运行时(CLR-Common Language Runtime)的特性来生成数据库的相关对象,在数据库管理系统中充分利用.NET代码的功能。

其次,借助SQL Server 2003,可以为网页服务开发提供便利,这样,SQL Server使用的是HTTP技术,对于以Web服务为中心的应用程序的数据访问得以更新。

最后,SQL Server 2003还新增了T-SQL事务语句,从而实现了可伸缩性数据库应用的开发语言功能的拓展。

二、数据库中的SQL语句

在SQL语言中,作用最大、复杂程度最高的语句就是SELECT语句,其主要作用在于查询数据库,常见语法结构为:

SELECT查询列表

[FROM表名][WHERE查询条件]

[GROUP BY分组条件]

[HAVING搜索条件]

[ORDER BY排序条件]

SELECT子句作用在于指定查询返回的列;FROM子句的作用是将初始结果集返回;WHERE子句则负责将不符合要求的行排除;GROUP BY子句负责输出行组的旋转,当having子句涉及聚合函数,便对各组汇总值加以计算;HAVING子句主要是将不符合要求的行排除。

可以借助SELECT语句进行Apriori算法中频繁项集生成操作。例如,教师信息表TabTeacher(TeaSex、TeaEdu、TeaTil以及min_sup分别代表教师的性别、教师学历、教师职称以及支持度最小值),需要执行以下语句:

SELECT TeaSex,TeaEdu,TeaTil,count(*)

FROM TabTeacher

GROUP BY TeaSex,TeaEdu,TeaTil

HAVING count(*)>=min_sup;

生成不小于支持度最低值的关于教师性别、学历及职称属性的频繁3-项集十分简单。

上例中得到的频繁项集只能被添加到由四个字段组建的表当中,其中,教师的性别、学历以及职称值添加到前三个字段中,各种组合频繁度存放在最后一个字段中:

CREATE TABLE Frequent3

三、基于SQL的优化应用

通过如下的例子说明本次运用的数据挖掘的过程以及具体的算法。

(一)数据的采集与整理。本次研究假设评价主体对教师的评价数据,将这些评价数据提交到系统之中,然后保存到数据库并且形成数据表。我们首先就需要将相关的改革数据表中对应的数据进行整理,整理之后的数据如下表所示:

表1整理后的数据表 表2转换后的数据表

教师

编号 年龄 学历 教学

方法 教学

效果 教师

编号 年龄 学历 教学

方法 教学

效果

1 37 硕士 75 85 1 A2 B2 C1 D2

2 52 本科 93 90 2 A3 B1 C3 D3

3 36 博士 85 91 3 A2 B3 C2 D3

4 45 硕士 83 85 4 A2 B2 C2 D2

5 26 硕士 75 79 5 A1 B2 C1 D1

6 57 本科 90 94 6 A3 B1 C3 D3

7 31 硕士 91 92 7 A2 B2 C3 D3

8 46 硕士 91 90 8 A3 B2 C3 D3

9 27 硕士 77 83 9 A1 B2 C1 D2

10 29 硕士 79 87 10 A1 B2 C1 D2

11 30 博士 82 80 11 A1 B3 C2 D2

(二)对数据进行预处理。对于数据进行预处理首先就是对于各个数据的转化和关系的映射,在关系数据库中,如果对同一个属性的数据进行转化之后,彼此之间没有任何的联系.

因此,我们可以根据下述方法对数据进行预处理,而且还可以根据类型的种类数进行映射。种类较多的情况下,需要将所有的数据进行离散转换的预处理,完成与处理之后的数据如表2所示,而预处理中的转换对照规则详见表5-3。

表3数据离散化对照表

年龄A A:[20,30] A1 教学方法C C:[70,80] C1

A:[31,45] A2 C:[81,90] C2

A:[46,60] A3 C:[91,100] C3

学历B B:本科 B1 教学效果D D:[70,80] D1

B:硕士 B2 D:[81,90] D2

B:博士 B3 D:[91,100] D3

通过将表D和T(m-1)进行自连接查询,能够查询比较相同的信息,而通过连接同一个表,在表格的子句中为同一个表指定两个别名,使其能够将同一个表映射成两个不同的表。在本算法中,T(m-1)表通过逻辑映射分为了R和S两个表,而D表逻辑映射则是D1,D2,…D(m)表。

参考文献:

[1]薛华成.管理信息系统[M].清华大学出版社,1995,24

[2]萨师煊,王珊.数据库系统概论(第三版)[M].北京:高等教育出版社,2009,45

[作者简介]杨其鸣(1976.7-),讲师,本科,毕业学院于贵州大学,研究方向:数据库技术。

上一篇:信息网络隔离与交换技术的应用研究 下一篇:计算机网络信息安全刍议