oracle学习疑问

2024-08-28 版权声明 我要投稿

oracle学习疑问(精选5篇)

oracle学习疑问 篇1

这篇文章主要介绍了新手学oracle常见的疑问,第一,索引范围扫描,第二,索引唯一扫描,需要的朋友可以参考下

新手在初学oracle时,都会遇到两大疑问:第一,索引范围扫描(index range scan),第二,索引唯一扫描(index unique scan),下面就这两种疑问通过图文并茂的方式给大家详细介绍下:

1、索引范围扫描(index range scan)

代码如下:

select empno,ename from emp where empno >1orderby empno

这种情况下不会使用索引范围扫描?

第二、索引唯一扫描(index unique scan)

当数据类型不一致时,不会进行索引唯一扫描,但是实际仍然唯一索引,

新手学oracle常见疑问

代码如下:

select empno,ename from emp where empno=‘10‘

oracle学习疑问 篇2

一、设疑:激发学生的求知欲

教学过程中设置疑问, 可以激发学生的求知欲, 吸引他们寻根究底, 深入到学科知识的内容中去, 从而成为不断激发思维的动力。语文课的全过程都可以设疑, 但不可通堂提问, 使课堂教学程式化。所以, 设计疑问要紧扣教学目标, 切合学生心理, 捕捉契机, 适时、巧妙而有意义, 这样才能很好地起到激发学生求知欲的作用。设疑有以下几种方法:

1. 课头设疑。

导入新课, 虽然在一节课中占的时间很少, 但可以使学生完成注意的转移和情趣的迁移, 把学生带入新课的意境之中。诸多导入方法中, 设疑导入尤其能激发兴趣、启动思维。课头设疑要紧紧围绕教学目标, 制造适度的悬念, 造成学生心理上的焦虑、渴望和兴奋, 即教学中所需的状态。如《空城计》一文, 诸葛亮临危不乱、处乱不惊, 大智大勇巧设空城计, 司马懿虽足智多谋, 但生性多疑终于上当退兵。小说中两个人物形象特征及作者精妙的创作手法是本课分析的重点。导入时, 教师设问:谁是空城计主唱?唱给谁看?唱得怎样?看者又有什么反应?这几问让学生的注意重点停留于这两个主要人物, 并且会从他们的言语行动中比较分析其性格特征。

2. 在深层处设疑。

典范文章中常常有许多曲笔、奇笔、巧笔、神笔, 有含蓄丰富的, 有结构精巧的, 有韵味优美的, 有饱含哲理的, 一经教者发掘其中的奥妙, 引发疑问, 学生便会兴趣盎然。比如艾青诗歌《给乌兰诺娃》中的最后一句“是劳动创造了结晶”, 含义深刻, 点明了全诗的主旨。为了更好地理解诗句的丰富内容, 笔者向学生提出如下问题:“结晶”是什么意思?诗人把舞蹈家优美的舞蹈说成是劳动创造的结晶, 这说明她的舞蹈和劳动有什么关系?杰出的艺术成就与人类劳动有什么关系?三个问题逐层推进, 触发学生思考, 也对学生思路有引导作用。一番饶有兴致的讨论探究之后, 学生终于弄清这一首诗句的深刻意蕴。

3. 在平淡无奇处设疑。

深层意蕴处可以设疑, 平淡无奇处也可以设疑。教材中的许多文章, 看似一目了然、平淡无奇, 学生浮光掠影一读, 难解其中奥妙, 不免兴味索然。教师此时如能设疑, 引导学生寻根问底, 其学习兴趣定然激增。《周总理, 你在哪里?》诗意很浅, 学生可以读出诗句的深层韵味。如第一节:“周总理, 我们的好总理, 你在哪里呵, 你在哪里。你可知道, 我们想念你, ———你的人民想念你!”学生一读之后便能明白:破折号表解释, “我们”指人民, 诗句表达了人民对周总理的怀念之情。学生一旦认为课文无深意, 便无兴趣用心再读。此时笔者设置两个问题:运用反复的表达效果怎样?“人民”前面加上限制语“你的”有什么含义?学生会发现自己尚有未理解之处, 于是联系全诗再认真读, 最终理解到:反复修辞, 倾诉了对总理深切怀念之情;“你的”和“我们的”照应, 生动地表现了周总理和人民的血肉联系。

4. 课尾设疑。

课尾设疑能再燃学生的兴趣之火, 把一堂课的知识化成绕梁不绝的余音。如讲解《竞选州长》一文, 通过对小说主人公吐温先生在竞选中遭遇的种种诬陷、诽谤、离奇的罪名以及他的心理活动的分析讨论, 学生对资本主义竞选的实质、民主的虚伪本质有了一定的认识。结束全文时, 教师不妨问一句:倘若吐温重燃信心, 坚决竞选, 要想获胜, 他会做些什么?学生在兴趣的作用下, 依据原文情节向纵深处设想, 进一步认识了所谓“民主竞选”的实质。

二、解疑:调动学生的主动性和积极性

思维从有疑开始, 但要不断深入进行, 并能形成一定的思维品质和能力, 则有赖于分析问题、解决问题的逐步展开。教师设疑后, 要注意析疑、解疑的条件和气氛, 引导学生谈看法, 摆见解, 比较、分析、判断、推理。学生的知识结构、经验阅历有限, 对课文的理解会有不同, 教师要让学生充分发表个人见解, 这既能满足学生的表现欲, 也能充分体现和发挥他们的主体性特点。

1. 教会学生分析问题, 分散难点, 理清思路

课程改革后, 教材变化了, 教师不再是教教材, 而是用教材去教学, 教会学生从解决学习问题中获取更多营养。所以设计疑问不能过于简单, 否则无法激起学生思考的兴趣。综合性强的疑问, 往往是若干个小问题的组合, 对学生来说, 既有兴趣, 又难以下手。教师要善于教会学生找准切入口, 让学生在问题的分解中理清思路, 掌握教师设问的意图。如讲授《白杨礼赞》一文, 教师设疑:白杨树有什么象征意义?作者是怎样揭示出来的?对这个问题, 如果仅以笔记的方式“逼”学生记下, 便索然无味了。对此我作了如下分解:回顾上文, 白杨树有什么特点?学生答:力争上游, 不屈不挠, 顽强对抗着西北风。我又问:具有这样特点的树会使我们联想到什么?学生发挥想象, 联想到各种各样的人。我又提醒写作背景, 学生明确:党领导下的北方抗日军民。我又设问:这些人有什么精神?文中反问句有什么作用?经过一番分析、讨论, 学生很准确地回答了象征意义和文章逐层深入揭示的行文特点。

2. 灵活运用各种比较方法, 培养学生良好的思维习惯

语文教学中比较的方法很多, 可以纵向比较, 如古今作品比较, 课文前后比较, 抓住课文关键词句或某些段落引导学生进行前后对比, 可帮助学生把握事物的本质。可以横向比较, 也就是说在一个时间平面上同时将几个方面的问题进行比较, 开拓学生视野, 培养思维的广度, 使学生学会全面、具体地分析问题。如在鲁迅小说《孔乙己》中, 孔乙己最后一次来喝酒, “从破衣袋里摸出四文大钱”的动作描写, “摸”字含义深刻, 在分析这一细节时, 将“摸”与前文的“排”作比较, 同时取钱, 为何前面是“排”, 后面是“摸”?又可将其与过去学过的鲁迅另一篇小说《一件小事》中“抓了一大把铜元”联系起来, 两个动词写出了两个人物的哪些不同之处?经过一番讨论, 学生明白了鲁迅先生用词的高妙。如果再联系《鲁提辖拳打镇关西》中取钱动词设疑:鲁达与李忠取钱周济金老父女时也是用“摸”, 加上孔乙己这一“摸”, 三“摸”有什么区别?这番解疑, 定能使学生情绪激越, 课堂气氛热烈。

3. 鼓励创新, 培养求异思维

解疑时, 教师不能以自己思考问题的范围和方式, 要求学生答案的唯一性。教师要善于把握各种因素, 培养和鼓励学生的创造精神。对学生的奇思妙答给予及时的肯定、表扬, 学生的学习热情和学习兴趣也会随之高涨。如教《我的叔叔于勒》一文, 笔者设疑:过了两年, 于勒归来了, 那又会发生哪些故事呢?有的学生设想于勒又发了财, 但他领教了菲利普夫妇的自私、虚伪、唯利是图后, 伤心离去;有的学生设想为于勒还是那么穷, 不过他伪装了自己, 欺骗了菲利普夫妇, 骗光了他们的钱后逃走了;有的学生设想为, 在约瑟夫的帮助和影响下, 菲利普夫妇收留了可怜的于勒, 一家人有了真爱……

三、激疑:教会学生以“渔”捉“鱼”

陶行知先生说过:“我认为好的先生不是教书, 不是教学生, 乃是教学生学。”教师要教给学生掌握知识的本领, 而激疑则是教给学生如何掌握知识、本领的具体体现。

1. 鼓励学生对教师的观点大胆质疑

师生之间是教学相长的关系, 要使语文课上得生动丰富, 并且使学生的语文学习能力有真正的提高, 思想得到健康发展, 语文教师应致力于充分保持学生思想的自由, 鼓励学生直抒己见, 并大胆地针对教师的观点提出质疑。学生的观点无论正确与否, 教者都应给予肯定和鼓励, 然后再对观点的正确与否进行评价。有时学生的质疑是正确的, 教师切不可为了面子坚持错误、压制学生, 我们应知错就改, 鼓励学生今后更积极更大胆地质疑。

2. 鼓励学生向课本、学习参考资料质疑

初中学生在语文学习中能自觉、主动地对课本、学习参考资料质疑, 说明他们对课文的理解加深了, 在此基础上深入钻研思考下去, 就能使学习进入一个新的境界。如陶渊明的《桃花源记》中“男女衣着, 悉如外人”, 课本将“外人”注释为“桃花源以外的世人”, 教学参考书将这一句子译为“男男女女的装束, 完全像桃花源外面的人”。有学生质疑, 桃花源里的人与桃花源外面的“渔人”完全一样, 又为什么“见渔人, 乃大惊”呢?笔者解释为:桃源中人相互熟悉, 从未见过生人来, 故而“大惊”。可又有学生质疑:秦至晋几百年, 无论内外的人, 衣着总该有所变化吧, 怎么完全一样?我便将“外人”的不同理解介绍给学生:“外人”即指“世外之人”, 并以《桃花源诗》中“俎豆犹古法, 衣裳无新制”的诗句作佐证。

3. 鼓励学生在自学课文中质疑, 提出问题

新课改就是要使学习过程更多地成为学生发现问题、提出问题、分析问题和解决问题的过程, 以培养创新精神和实践能力。在这个过程中, 学生善于发现问题、提出问题是非常重要的。教师要鼓励学生在自学课文时质疑, 提出有一定深度的问题。于漪老师在学生初步自学课文时, 要求做到三看、一查、一提问, 然后把学生的疑问由文章字词的表面导向篇章内部, 把文章的前前后后、段落之间联系起来思考。当学生的质疑有所进展时, 再拓展他们的思路, 要求学生把课文、课外阅读、自己的生活经验三者联系起来思考。这样步步诱导, 持之以恒地培养, 对有质量的问题加以鼓励、表扬, 或组织讨论, 学生发现问题的积极性就会增强, 能力也会大大提高。

参考文献

[1].承利《素质教育课堂优化策略》, 教育科学出版社。

[2].宁鸿彬《语文教学的思考与实践》, 教育科学出版社。

[3].徐越化《中学语文教学法》, 华东师范大学出版社。

[4].杨善德《现代教师新论》, 吉林大学出版社。

[5].杨善德《新课程改革50问》, 江苏教育出版社。

[6].林崇德《中学语文教学心理学》, 北京教育出版社。

英语否定疑问句的学习 篇3

一、定义及形式

否定疑问句(Negative Questions)是一般疑问句的否定结构,它有两形式,副词n0放在主语之后,或not的简略式-n't与助动词一起放在主语之前。(-n't要与句首的be,have助动词或情态动词连写在一起)。例如:

Do you not like it?

Don't you like it?

Can you not answer this question?

Can't you answer this question?

Have you not any sisters?

Haven't you any sisters?

前一种形式多用于书面语,后一种形式多用于口语,实际运用也较多。

二、否定疑问句主要用法:

1.表示惊异、不相信或提出反问(常可译为“难道”)。例如:

1)Can't he come tonight?他难道今天晚上不来吗?

2)Haven't you gniven up smoking yet?你(难道)还没有戒烟?

3)Don't you think so?你难道不这样想?

2.提出婉转有礼的请求、建议、邀约等(相当于一个祈使句)。例如:

1)Won't you sjt down?(=Please sit down.)请坐呀!

2)Can't you walk a little faster?(=Please walk a little faster.)请稍微走快一点儿。

3)Won't you come out for a walk?(=Please come out for a walk.)出来散散步好吗?

3.表示自己的看法或征询意见,预期得到肯定的回答。例如:

1)Lucy i8 a nice girl,don't you agree?露茜是个好女孩,你说是吗?

2)Don't you think we should go at once?是不是我们马上就走?

3)Shant I accept his invitation?我不该接受他的邀请吗?

4.表示赞赏、厌烦、鄙夷感情(相当于一个感叹句)。例如:

1)Isn't she clever?(=How clever she is!)她真聪明!

2)Wasn't it a marvellous concert?(=What a marvellous concert it Was!)

oracle学习心得 篇4

oracle分两大块,一块是开发,一块是管理。开发主要是写写存储过程、触发器什么的,还有就是用Oracle的Develop工具做form。有点类似于程序员,需要有较强的逻辑思维和创造能力,个人觉得会比较辛苦,是青春饭J;管理则需要对oracle数据库的原理有深刻的认识,有全局操纵的能力和紧密的思维,责任较大,因为一个小的失误就会down掉整个数据库,相对前者来说,后者更看重经验。

因为数据库管理的责任重大,很少公司愿意请一个刚刚接触oracle的人去管理数据库。对于刚刚毕业的年轻人来说,可以先选择做开发,有一定经验后转型,去做数据库的管理。当然,这个还是要看人个的实际情况来定。

二、学习方法

我的方法很简单,就是:看书、思考、写笔记、做实验、再思考、再写笔记

看完理论的东西,自己静下心来想想,多问自己几个为什么,然后把所学和所想的知识点做个笔记;在想不通或有疑问的时候,就做做实验,想想怎么会这样,同样的,把实验的结果记下来。思考和做实验是为了深入的了解这个知识点。而做笔记的过程,也是理清自己思路的过程。

学习的过程是使一个问题由模糊到清晰,再由清晰到模糊的过程。而每次的改变都代表着你又学到了一个新的知识点。

学习的过程也是从点到线,从线到网,从网到面的过程。当点变成线的时候,你会有总豁然开朗的感觉。当网到面的时候,你就是高手了

很多网友,特别是初学的人,一碰到问题就拿到论坛上来问,在问前,你有没有查过书,自己有没有研究过,有没有搜索一下论坛?这就叫思维惰性,没有钻研的学习态度,不管学什么东西,都不会成功的。

三、oracle的体系

oracle的体系很庞大,要学习它,首先要了解oracle的框架。在这里,简要的讲一下oracle的架构,让初学者对oracle有一个整体的认识。

1、物理结构(由控制文件、数据文件、重做日志文件、参数文件、归档文件、密码文件组成)

控制文件:包含维护和验证数据库完整性的必要信息、例如,控制文件用于识别数据文件和重做日志文件,一个数据库至少需要一个控制文件

数据文件:存储数据的文件

重做日志文件:含对数据库所做的更改记录,这样万一出现故障可以启用数据恢复。一个数据库至少需要两个重做日志文件

参数文件:定义Oracle 例程的特性,例如它包含调整SGA 中一些内存结构大小的参数

归档文件:是重做日志文件的脱机副本,这些副本可能对于从介质失败中进行恢复很必要。

密码文件:认证哪些用户有权限启动和关闭Oracle例程

2、逻辑结构(表空间、段、区、块)表空间:是数据库中的基本逻辑结构,一系列数据文件的集合。段:是对象在数据库中占用的空间

区:是为数据一次性预留的一个较大的存储空间

块:ORACLE最基本的存储单位,在建立数据库的时候指定

3、内存分配(SGA和PGA)

SGA:是用于存储数据库信息的内存区,该信息为数据库进程所共享。它包含Oracle 服务器的数据和控制信息, 它是在Oracle 服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。

PGA:包含单个服务器进程或单个后台进程的数据和控制信息,与几个进程共享的SGA 正相反PGA 是只被一个进程使用的区域,PGA 在创建进程时分配在终止进程时回收

4、后台进程(数据写进程、日志写进程、系统监控、进程监控、检查点进程、归档进程、服务进程、用户进程)

数据写进程:负责将更改的数据从数据库缓冲区高速缓存写入数据文件

日志写进程:将重做日志缓冲区中的更改写入在线重做日志文件

系统监控:检查数据库的一致性如有必要还会在数据库打开时启动数据库的恢复进程监控:负责在一个Oracle 进程失败时清理资源

检查点进程:负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制文件和数据文件中的数据库状态信息。

归档进程:在每次日志切换时把已满的日志组进行备份或归档

服务进程:用户进程服务。

用户进程:在客户端,负责将用户的SQL 语句传递给服务进程,并从服务器段拿回查询数据。

5、oracle例程:Oracle 例程由SGA 内存结构和用于管理数据库的后台进程组成。例程一次只能打开和使用一个数据库。

6、SCN(System Change Number):系统改变号,一个由系统内部维护的序列号。当系统需要更新的时候自动增加,他是系统中维持数据的一致性和顺序恢复的重要标志。

四、深入学习

管理:可以考OCP证书,对oracle先有一个系统的学习,然后看Oracle Concepts、oracle online document,对oracle的原理会有更深入的了解,同时可以开始进行一些专题的研究如:RMAN、RAS、STATSPACT、DATAGUARD、TUNING、BACKUP&RECOVER等等。

开发:对于想做Oracle开发的,在了解完Oracle基本的体系结构之后,可以重点关注PL/SQL及Oracle的开发工具这一部分。PL/SQL主要是包括怎么写SQL语句,怎么使用Oracle本身的函数,怎么写存储过程、存储函数、触发器等。Oracle的开发工具主要就是Oracle自己的Developer Suite(Oracle Forms Developer and Reports Developer这些),学会如何熟练使用这些工具。

oracle学习疑问 篇5

这一部分主要使读者熟悉 APEX 的基本概念、环境和使用。本部分介绍了APEX 主要特性,三个组件(应用程序构建器、SQL 工作室、实用工具)和四类用户。本部分回答了以下问题:什么是 APEX? 用 APEX可以做什么?何时使用 APEX?

(所有贴出来的例子均可在http://apex.oracle.com登录jjl/jjl.soft@gmail.com/jjl.soft查看)什么是APEX? 刚刚来到上海,叫我们研究学习一个APEX的东西,一听很新鲜,画面也比form好看,因为是在浏览器看,当时第一反应就是浏览器,那这个是个什么架构,数据会慢嘛 ?结果一看官方文档发现

架构原来是这样,看来担心似乎多余了.Oracle 推荐的环境配置

查阅其他资料得到一下对于APEX的阐释: ,APEX是一个用于 Oracle 数据库的快速 Web 应用程序开发工具。APEX 结合了个人数据库的品质如生产效率、易用性和灵活性,企业数据库的品质如安全性、集成性、可伸缩性和可用性,以及针对Web构建三个方面的优点。APEX 是一个构建 Web 应用程序的工具,而且应用程序开发环境也基于 Web,非常方便。只需在 apex.oracle.com 注册一个帐户即可试用 APEX。开发、部署或运行 APEX 应用程序无需客户端软件。

APEX 提供三大工具:

应用程序构建器(Application Builder)— 创建数据库驱动的动态 web 应用程序。SQL工作室(SQL Workshop)— 浏览数据库对象,运行 SQL 查询、PL/SQL程序以及图形化的查询构建器。

实用程序(Utilities)— 允许从纯文本和电子表格上载和下载数据。所谓上载数据是指将文本文件或电子表格中的数据导入到数据库中。所谓下载数据是指将数据库中的数据保存到文本文件或电子表格中。

APEX可以做什么?

当然,看了一天文档就在想APEX能做的东西能具体到哪儿,于是就开始做一些demo,最开始做的当然就是APEX很强大的报表,以及单一表的表单,以及一些列表啊.日期控件,还有就是关于对这个APEX的布局.这些都很简单,只需要自己动手做做基本就可以了.比stepbysetp还要简单,(所有贴出来的例子均可在http://apex.oracle.com登录jjl/jjl.soft@gmail.com/jjl.soft查看,此处程序名称是zhengwu_demo1)

接下来就在想 要是我是一个头行结构的表单应该怎么弄,于是就把之前项目上的一个简单的头行的form拿来放在这apex环境下来实现.最后也勉强做出来,存在的问题和form的比较有 : 1,值列表的返回,APEX只支持返回单个值,且select语句必须有且只有2个字段,当然显示字段可以通过’||’拼接.2,没有form那么丰富的触发器,只能实现form的简单基本的功能.(所有贴出来的例子均可在http://apex.oracle.com登录jjl/jjl.soft@gmail.com/jjl.soft查看,此处程序名称是主从_demo1)

做到这里就开始想,这个APEX能否处理复杂的逻辑或者其他的什么跟plsql相关的呢, 于是就又开始着手做了一个模拟plsql界面的sql_window.也就是我们做一个报表,上面开个文本框,我们可以在里面写sql语句,对这个表的数据控制.支持批量执行insert,update,delete语句.(所有贴出来的例子均可在http://apex.oracle.com登录jjl/jjl.soft@gmail.com/jjl.soft查看,此处程序名称是bruce_sqlcommand)

最后发现是可以的,具体就是,写一个包写好,包的内容是关于如何处理这个文本框中文本,然后在点下’执行sql’button的时候,调用下,就ok了.做完感觉貌似APEX还是很强大的.应该能够支持动态sql来生成程序.查阅其他资料还有相关如下 : APEX 是构建数据库数据报表应用程序的有效工具。报表通常与其他报表进行超文本链接,允许用户以web 站点的导航方式浏览数据库数据。报表中的列可轻松链接到其他报表、图表和数据项表单,这都是以声明方式完成的。一个全面的图表引擎允许以图形方式表示 SQL 查询,从而可以更有效地进行数据通信。APEX 还非常适合编辑数据库数据并支持大量声明性表单控件,包括单选按钮组、复选框、选择列表、梭形按钮、文本编辑器和日期选择器。

何时使用APEX?

犹豫在这边具体的开发项 还有具体的开发环境,所以一直推迟着,关于什么时候使用,也是模糊的.查阅其他资料 : 由于其易用性,APEX 旨在快速构建机会性和部门级应用程序。这些应用程序部署在web 上,具有优越性能。以前,部门、原型和小项目依赖桌面数据库提供快速的开发工具,以满足这些规模较小的或部门级应用程序开发的需求。桌面数据库可能非常零散,因为它们在多处保存数据,它们可能非常脆弱或者不适用于敏感信息,而且它们通常不是 web 友好

的。基于浏览器的设计时界面(声明式编程框架)和简单的向导使 APEX 成为多用户桌面数据库应用程序(例如,Microsoft Access)的理想替代品。

SQL Savvy 应用程序开发人员还可以体会到易用性,因为您即使具有很少的 web 体验甚至没有该体验也可以创建数据库应用程序。无需学习脚本语言或复杂的部署框架,只需编写几个查询并从已经构建好的用户界面主题和表单控件中选择即可创建高度专业、安全且可伸缩的应用程序。

使用 APEX,开发是高度声明式的。这意味着很多情况下,您不需要编写任何代码,而由您与向导和属性表进行交互,就可完成程序开发。SQL 语言用于定义报表和图表,因此懂一些 SQL 知识很有帮助。可选择使用 PL/SQL 编写代码段(如果需要过程逻辑)。声明式开发给开发人员带来较少的差异,该一致性使 APEX 应用程序易于维护和管理。

APEX 引擎从存储在数据库表中的数据实时呈现应用程序。当您创建或扩展应用程序时,APEX 创建或修改存储在数据库表中的元数据。当应用程序运行时,APEX 引擎读取元数据并显示应用程序。APEX 完全驻留在 Oracle 数据库中。它仅由表中的数据和大量 PL/SQL 代码组成。APEX 大约由 215 个表和 200 个 PL/SQL 对象(包含 300,000 多行代码)组成。

为了在应用程序内提供有会话状态行为,APEX 以透明的方式在数据库中管理会话状态。应用程序开发人员可以使用简单的替换以及标准的 SQL 绑定变量语法获取和设置会话状态。

APEX 主要特性

以下几部分介绍了 APEX 的主要特性。

报表:使用 APEX,可快速生成显示 SQL 查询的 HTML 报表。还能以 HTML、PDF、RTF(兼容 Microsoft Word)和 XLS(兼容 Microsoft Excel)格式下载和打印报表。

可通过声明方式将各个报表链接在一起提供下钻报表,并使用绑定变量将信息从会话状态传递至报表。报表支持声明式列标题排序、分组控制、汇总以及分页。报表排序和分页可以使用部分页面刷新(PPR)技术来避免刷新整个页面。还可以向报表添加声明式链接,以将报表数据下载为 CSV 或 XML 格式。此外,您可以使用模板对报表外观进行自定义。

表单:使用向导,可以基于表或存储过程轻松创建表单。基于表创建表单时,这些向导将自动管理插入、更新、删除以及缺失更新检测等操作。一旦创建了表单,就可使用直观显示的界面重新排列表单域(称为表单项),以快速获得想要的布局。表单项提供了丰富的显示选项,包括文本域、文本区、单选按钮组、选择列表、复选框、日期选 择器、弹出式值列表等。

图表:还可使用向导创建 HTML、SVG 或 Flash 图表。此外,可创建图表来支持用户从一个图表下钻至另一个图表或报表。可使用部分页面刷新(PPR)技术刷新图表以避免刷新整个页面。也可将图表配置为按指定间隔刷新。此外,还可利用报表列模板向任意报表添加简单的 HTML 条形图。

电子表格上载:使用电子表格向导中的 Create Application 可快速地将电子表格数据直接上载至数据库中。您可以选择将数据存储在新的数据库表中,或将其添加至现有数据库表。一旦上载了数据,就可以快速创建应用程序了。通过这个方便的向导,只需单击几下,就可以实现电子表格与共享应用程序之间的切换。

会话状态管理:APEX 以透明的方式管理数据库中的会话状态(或应用程序上下文)。表单将自动保存会话状态,记住会话中应用程序的上下文。在 SQL 和 PL/SQL 内引用会话状态就像使用绑定变量般简单。例如,请看以下 SELECT 语句:

SELECT * FROM EMP WHERE EMPNO = :P1_ID 在本例中,P1_ID 项中的值在运行查询时自动进行绑定。还可通过给项名称加上前缀 & 符号和后缀句点(.)在静态上下文内引用会话状态,例如:&P1_NAME.对于二维数据集的管理,APEX 提供了一个强健的集合基础架构。最值得一提的是,会话管理是无会话状态的,不会消耗内存。

用户界面主题:APEX 将显示(或用户界面主题)与应用程序逻辑相分离。您可以用一个主题设计应用程序,然后更改为另一个附带主题,或者创建和使用自己的自定义的主题。通过将应用程序逻辑(如查询、流程以及分支)与 HTML 呈现分离,应用程序可在第一时间利用新设计和其他技术,而无需重写应用程序。

流控制和导航:每个 Web 应用程序都需要导航,而每个动态应用程序都需要流控制。APEX 提供了内置的组件,简化了导航控件的开发和维护。导航是通过使用声明式选项卡(一级或二级)、路径式导航项、树控件以及链接列表来进行控制的。而流控制是通过使用可在特定事件以及一定条件下起作用的声明式分支来实现的。由于导航控件的外观通过模板控制,因此可轻松更改导航控件的外观。

所有组件上的条件控制:创建动态 Web 应用程序时,许多应用程序组件和处理都是具有条件的。换言之,您只能基于应用程序上下文、数据、事件或权限显示或处理特定的信息。APEX 使您能够以声明方式指定所有组件的条件性。这使得您可以精确控制用户可在选项卡、按钮、项目、列表项等上看到的内容。

外部接口和可扩展性:尽管 APEX 为构建应用程序提供了强健的声明式环境,但您还是可以选择开发自定义界面或控件。例如,如果一个组件不符合环境需要,您可以使用 PL/SQL 生成自己的自定义 HTML。您还可以使用 Web 服务调用外部服务。APEX 包含的 API 可以方便将电子邮件警报集成到应用程序中。此外,因为 APEX 驻留在 Oracle 数据库中,所以您可以利用数据库本身的功能,如外部表、PL/SQL、数据库链接、网关以及数据库 Java 来扩展应用程序功能。APEX中也允许使用JavaScript、CSS以及AJAX等技术。

安全性:利用 APEX,您可以创建无需用户登录的公共应用程序,或创建要求身份验证的安全应用程序。APEX 提供了许多内置的身份验证模式(包括一次性登录、数据库帐户证书)和一个易于使用的用户管理系统。您还可使用可与任何身份验证服务(包括 Microsoft Active Directory 和 Oracle Applications)交互的自定义模式。

此外,您可自定义身份验证以满足环境要求,并选择性地对整个应用程序、页面或页面组件应用身份验证。最后,您还可利用创新的会话状态保护特性来防止 URL 篡改,利用内置特性来保护应用程序免受 SQL 注入攻击和跨站点脚本编写(XSS)攻击。

SQL Workshop 工具:SQL Workshop 提供的工具支持从 Web 浏览器查看和管理数据库对象。使用 SQL 命令运行 SQL 和 PL/SQL 语句。Query Builder 支持通过拖放表格定义查询,轻松创建对象间的关联。Object Browser 提供了一个易于使用的图形用户界面,可用于查看、创建、浏览以及删除数据库对象。最后,您可使用 SQL 脚本工具创建、编辑、查看、运行以及删除脚本文件。Supporting Objects 实用程序:通过创建一个打包应用程序,您可以简化在另一个 APEX 中导出和安装应用程序所需的步骤。使用 Supporting Objects 实用程序,您可以通过脚本处理应用程序定义,以创建数据库对象、种子数据、图像、层叠样式表和 JavaScript。

打包的应用程序的创建可向应用程序用户提供类似于安装程序的体验,并使在另一个开发、测试甚至是生产实例中导入并安装应用程序的过程自动化。

性能:APEX 可为应用程序开发人员和应用程序用户提供极高级别的性能。因为 APEX 驻留在 Oracle 数据库中,所以其对网络流量影响甚小。此外,Application Builder 还有许多监视报表,使你能够识别并调整应用程序性能。

打包的应用程序:打包的应用程序是一个可以使用和自定义的功能齐全的应用程序。打包的应用程序不仅阐释 APEX 应用程序的有趣示例,还提供立即有用的战术性业务应用程序。打包的应用程序可立即运行 — 它们提供数据库模式、种子数据、图像、应用程序定义以及您所需的一切,安装只需使用向导即可完成。

托管开发:APEX 支持在单个数据库中托管大量用户。用户在一个称为工作区的专用工作区域中工作。这种灵活的体系结构使单个数据库实例可以管理数千个应用程序。您可确定供应(或创建)工作区的过程的工作方式。在请求供应模式下,用户在登录页面上使用链接来请求一个工作区。工作区请求批准后,用户会收到一封包含链接的电子邮件,用户必须单击链接来验证其电子邮件地址的有效性。然后他们收到一封具有其登录凭据的电子邮件。

APEX 工作区和用户类型

应用APEX来开发应用程序的准备工作可按如下步骤进行:

1)安装Oracle数据库

2)安装 APEX,参见附录1 3)登录APEX管理界面,创建工作区,创建工作区用户 4)登录APEX工作区,开发应用程序

现在假设Oracle数据库和Oracle APEX 已经安装,我们来看一下如何创建工作区及工作区用户。

那么,什么是工作区(workspace)?简单的说,工作区就是用户用来开发应用程序的地方。工作区是一个虚拟的私有数据库,它能使多个用户同时使用相同的APEX实例,而能保持其数据库对象和应用程序为私有,互不影响,互相看不到对方的工作从而也不会影响互相的工作。每一个工作区都有一个唯一的ID和名称。

在一个APEX实例中,可以只创建一个工作区,由所有开发人员共享使用。也可以创建多个工作区,在每个工作区内完成指定项目,并且只允许项目开发人员访问其项目所在的工作区。项目开发人员要使用工作区,必须先要有APEX用户帐号,并且使用此用户帐号登录到工作区。

APEX用户帐号分为4种不同的类型:

 APEX管理员:这是超级用户,负责管理整个的APEX实例,其中既包括服务的管理,也包括工作区的管理。在安装APEX时,默认创建了一个这样的用户,名为admin,口令是安装APEX时设置的。 APEX开发人员:这是可以创建和修改应用程序的用户。开发人员属于某个工作区。一个工作区可以有多个开发人员。 APEX工作区管理员:当一个开发人员被授予对他所属的工作区的管理权限时,他就成为了工作区管理员。工作区管理员可以在他的工作区中添加新的用户、创建新的用户组和查看使用报告。 APEX最终用户:这是没有开发和管理权限的用户,只有运行应用程序的基本权限。要注意区分APEX用户和Oracle数据库用户。这是完全不同的概念。Oracle数据库用户经适当授权(用GRANT语句)后,可以登录数据库,创建、使用各种数据库对象。但Oracle数据库不能够登录APEX环境。APEX用户也无权直接登录数据库(例如,使用CONNECT命令)。但是,APEX开发人员可以在自己的工作区内通过SQL工作室访问和使用工作区关联模式(schema,有的书上也称为方案)内的数据库对象。

首先,登录APEX管理界面。在浏览器中输入URL:http://127.0.0.1:8080/apex/apex_admin(参见附录11.4确认安装成功)。此时,会显示登录画面:

使用admin用户登录APEX,可见下图:

点击“管理工作区”,可见下图:

工作区是多个开发者创建应用程序的共享工作区域。每个工作区都具有作为一个或多个数据库方案进行语法分析的权限。使用上图中的“创建工作区”、“删除工作区”链接,可进行工作区的创建和删除。一个工作区可以关联到一个或多个数据库方案,使用上图中的“管理工作区到方案的分配” 链接可以添加更多方案到工作区。使用上图中的“管理开发者和用户” 链接可以创建、删除APEX用户,也可重设APEX用户口令,解锁APEX用户帐号。

以上操作都是基于向导来完成的,或直接通过页面操作完成,比较简单,在这里就不再赘述,由读者自己来探索完成。

安装、运行演示程序

由于开发没有具体的环境,所以项目经理叫我们研究如何把apex安装到一个新环境,但是由于没有测试环境,所以这个任务我暂时就是在自己的虚拟机(培训的时候用的syfdemo.ml.com),最后安装失败了,但是我觉得跟我的虚拟机有关.真想有个环境在弄一把,目前这个可怜的虚拟机被弄的面目全非了

安装心得如下:总共我安装了3次,前2次非常失败,后面一次算好的,在第三次的基础上又重新配置了5,6次rest data service.最后都是没有成功,总结了下,前2次失败的原因是因为 第一,原先自带的apex删掉比较好

第二,安装apex的时候,还是强烈建议自己定义表空间

第三,在我的虚拟机安装jdk(6.0以上,原本自带的应该是4.0)之后,应该要删掉原来的版本.否则java –version不对,而且最后执行jar也会报错

---参考文档http://blog.sina.com.cn/s/blog_828efd6501019rl3.html---Application Express Installation Guide(e21673)(较详细)---APEX_EBS_Extension_White_Paper_-_Revision_1b(概括性的)<都需要先切到apex所在目录,因为这些脚本都在那里,如果默认装了3.0,需要找到目录,或者解压一个其他版本运行相关脚本> 1,10g自带3.0的apex, remove掉 @apxremov.sql

2,安装: CONNECT SYS/SYS_password as SYSDBA @apexins.sql SYSAUX SYSAUX TEMP /i/ <此处强烈建议自己建立相应的表空间,否则可能会出现如下错误> //error WWV_FLOW_API.ERR_PAGE_CREATE ORA-01400: cannot insert NULL into(“APEX_040200”.“WWV_FLOW_STEPS”.“SECURITY_GROUP_ID”)declare * ERROR at line 1: ORA-02291: integrity constraint(APEX_040200.WWV_FLOW_PLUG_TO_PAGE_FK)violated-parent key not found ORA-06512: at “APEX_040200.WWV_FLOW_API”, line 9434 ORA-06512: at line 11

3,修改admin密码(apex)@apxchpwd.sql(有复杂规则)4,此处应该有restartProcess(没有做出来)

5,配置RESTful Services@apex_rest_config.sql(该命令让你配置APEX_LISTENER和APEX_REST_PUBLIC_USER的密码)可能会报错<跟之前第二步有关> //ERROR at line 1: ORA-01400: cannot insert NULL into(“APEX_040200”.“WWV_FLOW_FND_USER_GROUPS”.“ID”)ORA-06512: at “APEX_040200.WWV_FLOW_LISTENER”, line 382 ORA-06512: at “APEX_040200.WWV_FLOW_LISTENER”, line 457 ORA-06512: at line 3 //

6,解锁更改APEX_PUBLIC_USER的密码

ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK ALTER USER APEX_PUBLIC_USER IDENTIFIED BY SYS_bruce1

should be 6.5 安装jdk.并设置路径

7,安装apex listener

java –jar apex.war(具体原因是因为漏掉一步,我们需要在对应的服务器安装6.0以上的jdk,并设置路径否则报错如下)// Exception in thread “main” java.lang.NoClassDefFoundError: 篓Cjar

at gnu.gcj.runtime.FirstThread.run()(/usr/lib/libgcj.so.5.0.0)

at _Jv_ThreadRun(java.lang.Thread)(/usr/lib/libgcj.so.5.0.0)

at _Jv_RunMain(java.lang.Class, byte const, int, byte const, boolean)(/usr/lib/libgcj.so.5.0.0)

at __gcj_personality_v0(/home/oracle/java.version=1.4.2)

at __libc_start_main(/lib/tls/libc-2.3.4.so)

at _Jv_RegisterClasses(/home/oracle/java.version=1.4.2)// 8按照官方文档应该如下: 9,Enable Network Services in Oracle Database 11g ■

我应该是坐到这里了

最后出现了GLASSFISh SERVERok的画面

但是就是另外一个需要配置

另外一个我参照oracle官方文档试了N多次 最后还是一个效果…不得其解(关于好多unix的都不是很懂,看来需要加强学习,等经理安装好了,一定要问问,how,why)

10,Security Considerations ■

11,About Running Oracle Application Express in Other Languages ■

12,About Managing JOB_QUEUE_PROCESSES ■

上一篇:教育实践活动部署会议上的讲话下一篇:学生宿舍管理委员会组织机构及职责