Oracle 学习资料库
本教程介绍如何 使用 Oracle HTML DB 构建信息板图表。该图表将能够更改时间范围,以便您可以查看不同时间段的值。
大约 30 分钟
本教程将介绍下列主题:
| 概述 | ||
| 前提条件 | ||
| 构建和查看数据库对象 | ||
| 加载数据 | ||
| 构建标度盘图表 | ||
| 添加时间范围选择器 | ||
| 运行日历应用程序 | ||
| 总结 | ||
将光标置于此图标上可以加载和查看本教程的所有屏幕截图。(注意:由于此操作将同时加载所有屏幕截图,因此根据互联网连接的情况,响应时间可能较慢。)
注意:或者,您也可以在下列步骤中将光标置于每个单个图标上以只加载和查看与该步骤关联的屏幕截图。
HTML DB 提供了一个声明式开发框架,用于创建以数据库为中心的 Web 应用程序。使用在线服务完成开发。通过下载运行时模块和应用程序,并在您的企业内部运行该应用程序可以完成部署。
HTML DB 包含三个主要的组件。在本文您将使用全部三个组件。
| Application Builder |
使用 Application Builder,您可以构建以数据库为中心的交互式 Web 应用程序。 |
|
| SQL Workshop | SQL Workshop 使您可以运行 SQL 语句和 SQL 脚本。 | |
| Data Workshop | 使用 Data Workshop,您可以将数据加载到数据库中并从数据库中提取数据。 | |
在使用 HTML DB 时,了解下面这些概念是很重要的:
| 应用程序 |
应用程序是一组通过分支相连的页面的集合。其属性包括授权方法、默认的 UI 模板、以及授权规则。 |
|
| 页面 | 页面是根据其呈现、显示以及处理过程来定义的。处理是指提交页面时所发生的事件和逻辑。每个页面在运行时由应用程序开发人员定义的元数据动态呈现。页面的外观是由页面模板控制的。 | |
| 区域 | 内容显示在区域中,这些区域是页面的逻辑组成部分。每个页面可有几种不同类型的任意数量的区域。这些类型包括:HTML 文本、SQL 查询、PL/SQL 生成的 HTML 和图表。每个区域都使用区域模板进行呈现。使用在页面模板中定义的显示点来确定区域在页上的位置。 | |
| 项目 | 应用程序项目用于生成 HTML 表单元素。应用程序引擎管理 PL/SQL 生成的 HTML,作为开发人员您只需选择项目类型。应用程序支持 50 个以上这样的类型,包括日期选择程序、弹出式值列表、具有拼写检查的文本区域等。项目值自动存储到应用程序的会话状态中,可以在用户会话的任何位置访问此状态。 | |
在本教程中,您将使用自带的向导生成标度盘图表。您将构建的拨号盘图表为“Spam-O-Meter”。许多公司现在使用软件过滤掉垃圾邮件(例如,无用和不需要的电子邮件),从而使垃圾邮件无法到达用户的收件箱。该图表将反映收到的电子邮件中垃圾邮件的百分比。构建该图表后,您可以对它进行修改,从而允许用户更改时间范围来查看昨天、上一周、上个月或整个日志的值。
在本教程中,您将创建一个表:
| OBE_EMAIL_LOG | 该表跟踪所有接收到的电子邮件并指出这些电子邮件是否是垃圾邮件。 | |
还将创建其他数据库对象(如序列和触发器)以支持该表。系统生成的主键将用于该表。
开始学习本教程之前,您应已经:
| 1. |
完成了 安装并配置 Oracle HTML DB 1.6 教程,或可以访问已经安装的 HTML DB 1.6 安装程序。
|
| 2. |
将 htmldbdial.zip 下载并解压缩到工作目录中。
|
可以通过多种方法使用 Oracle HTML DB 创建对象。它们都是 SQL Workshop 的功能:
| 1. | 使用主 SQL Workshop 页面中的 Create Object。此功能用于完成创建选定对象类型所必需的所有选择。 | |
| 2. | 使用主 SQL Workshop 页面中的 SQL Command Processor。它运行您键入或粘贴的命令。此处理器一次只能处理一个命令。 | |
| 3. | 使用主 SQL Workshop 页面中的 Scripts 上载脚本。此脚本包含创建对象的语句。上载脚本后,便可以运行它。 | |
| 4. | 联机创建脚本。使用这种方法,只需单击操作就可以创建所有对象,而不必首先将文件保存到硬盘驱动器。这是您将在本教程中使用的方法。 | |
要创建此标度盘图表应用程序必需的对象,请执行下列步骤:
要正确查看您将创建的应用程序,需要向表中加载数据。可以通过 Oracle 导入,或使用 Oracle HTML DB Data Workshop 或 SQL Workshop 加载数据。您将使用 Data Workshop 和 SQL Workshop 两者加载数据。
注意:如果查看 DDL,你会发现主键的序列的起始值设置为 40。这样做是为了为数据留出空间。我们对 before insert 触发器采用了这样的编码,即仅当在未提供主键的情况下访问序列。这样,在加载数据时将不需要禁用它们。
在本教程中,您将使用用于创建对象的同一机制加载数据。您将创建一个脚本并运行它。
| 1. |
在 SQL Scripts 下,单击 Scripts。
|
| 2. |
单击 Create。
|
| 3. |
在 Script Name 中输入 Load Email Log Data,然后单击 Next。
|
| 4. |
将位于工作目录中的 load_email_log.sql 文件中的文本复制并粘贴到 Script 域中。然后,单击 Create Script。
|
| 5. |
您的脚本已经创建完成。单击 Run。
|
| 6. |
确保为 Parse As 选择了 OBE,然后单击 Run Script。
|
| 7. |
已执行您的脚本,此时将显示 Summary Statistics 窗口。您应看到有许多成功信息,并且没有错误。现在,您可以创建标度盘图表应用程序。单击路径名 Workspace OBE。
|
至此,您已经创建了支持应用程序的对象并加载了数据,接下来便可以创建用户界面。使用 Application Builder 创建一个应用程序,并添加一个图表。
构建图表前,需要一个该图表所从属的应用程序。执行以下步骤:
| 1. |
在 HTML DB 主页上,单击 Create Application >。
|
| 2. |
由于您将从头创建应用程序,因此对于 Creation Method 保留缺省值 From Scratch,然后单击 Next >。
|
| 3. |
对于 Name,输入 Dial Chart Application。要指定应用程序包含一个页面,请从 Pages 下拉列表中选择 1。单击 Next >。
|
| 4. |
单击 No Tabs,然后单击 Next >。
|
| 5. |
对于 Page Name 输入 Dial Chart,然后单击 Next >。
|
| 6. |
选择 Theme 9,然后单击 Next >。
|
| 7. |
单击 Create Application。
|
至此,您已经创建了应用程序结构,接下来便可以添加内容。您可以在新页面上创建标度盘图表,也可以将它添加到现有页面。由于在创建应用程序时为您创建了一个空白页面,因此您将在第 1 页上添加图表。请执行下列任务:
| 1. |
选择第 1 页 Dial Chart。
|
|||||||||
| 2. |
在 Regions 部分下,单击创建图标 (
|
|||||||||
| 3. |
对于 Region Type 选择 Chart,然后单击 Next >。
|
|||||||||
| 4. |
对于 Chart Type 选择 Dial - Sweep,然后单击 Next >。
|
|||||||||
| 5. |
对于 Title 输入 Spam-O-Meter,然后单击 Next >。
|
|||||||||
| 6. |
复制工作目录中的 chart.sql 文件中的文本并粘贴到 SQL Query 域中,然后单击 Create Region。 注意:标度盘图表的语法为:
初始图表将默认您选用百分比。系统为您计算百分比。“value”列应为值为 true 的总行数。“maximum_value”列应为示例中的总行数。显示将提取“value”并将它除以“maximum_value”以计算要显示的百分比。如果需要百分比以外的形式,则在创建图表后进行修改。当图表为百分比时,不必包含低值和高值。非百分比标度盘图表(如速度表)应包含这两个值。在速度表中,它们将控制标度盘显示的下限和上限。
|
|||||||||
| 7. |
要查看新创建的图表,单击右上角中的运行页面图标 (
|
|||||||||
| 8. |
对于用户名和口令输入 obe,然后单击 Login。
|
|||||||||
| 9. |
将显示您的图表。
|
|||||||||
至此您已经创建了图表,接下来将进行几处修改。首先,您将创建一个值列表以定义有效的时间范围。然后,将添加一个项以选择时间范围,并修改图表查询以将该值用作过滤依据。您将向该图表中添加一个警报值。这将使显示的摆动区域在值超出警报值时更改为红色。由于您已经拥有了区域标题,因此将删除图表标题“Chart 1”,并将添加一个脚注以描述该图表的内容。最后,您将向页面中添加一个缺省分支,以便页面将知道在提交选择列表后要调用的页面。执行以下操作:
| 创建一个值列表。 | ||
| 创建一个项目以添加到图表中 | ||
| 修改图表 | ||
| 创建分支 | ||
| 1. |
从位于显示底部的开发人员链接中,选择 Edit Page 1。
|
|||||||||
| 2. |
在 Shared Components 下的 Lists of Values 部分中,单击创建图标 (
|
|||||||||
| 3. |
对于 Source 保留缺省值 From Scratch,然后单击 Next >。
|
|||||||||
| 4. |
对于 Name 输入 TIME_FRAME,并确保为 Type 选择了 Static,然后单击 Next >。
|
|||||||||
| 5. |
对于 Display Value/Return Value List 输入下列值,然后单击 Create Static LOV。
注意:您在向图表选择语句中添加 where 子句时将了解返回值的作用。
|
|||||||||
| 6. |
值列表创建完成。
|
|||||||||
| 1. |
单击右上角中的编辑页面图标 (
|
| 2. |
在 Items 部分中,单击创建图标 (
|
| 3. |
对于 Item Type 选择 Select List,然后单击 Next >。
|
| 4. |
对于 Control Type 选择 Select List with Submit,然后单击 Next >。这样,您不必使用 submit 或 go 按钮刷新页面。
|
| 5. |
对于 Item Name 输入 P1_TIME_FRAME,然后单击 Next >。
|
| 6. |
对于 Named LOV 选择 TIME_FRAME,对于 Display Null Option 选择 No,然后单击 Next >。
|
| 7. |
保留 Item Attributes 的所有缺省值,然后单击 Next >。
|
| 8. |
对于 Default 输入 A,然后单击 Create Item。
|
| 9. |
项目创建完成。
|
| 1. |
在 Regions 部分中,选择 Spam-O-Meter 左侧的 Chart。
|
| 2. |
删除 Chart Title 域中的值。在 Chart Query 部分中,将以下代码加入查询,然后单击 Query 链接。
where :P1_TIME_FRAME is null or :P1_TIME_FRAME = 'A' or email_date >= (sysdate - :P1_TIME_FRAME)
|
| 3. |
将 Alert Value 更改为 15。然后,单击顶部图标 (
|
| 4. |
单击 Report Definition 选项卡。这将保存您的更改。
|
| 5. |
选择 Header and Footer。
|
| 6. |
在 Region Footer 部分中输入以下内容,然后单击顶部图标 (
|
| 7. |
单击 Apply Changes。
|
| 8. |
您的图表完成了修改。
|
| 1. |
在 Branches 部分中,单击创建图标 (
|
| 2. |
保留所有缺省值,然后单击 Next >。
|
| 3. |
对于 Page 输入 1 并单击 Next >。
|
| 4. |
单击 Create Branch。
|
| 5. |
已经创建分支。
|
您现在可以运行该应用程序以查看 Dial Chart Application。执行以下步骤:
| 1. |
单击应用程序窗口右上角中的 Run 图标 (
|
| 2. |
将显示您的标度盘图表。可以使用时间范围选择器更改时间范围并通知图表的更改方法。注意,Entire 日志的垃圾邮件显示已经达到警报级别。将 Time Frame 更改为 Last 24 Hours。
|
| 3. |
注意,在过去的 24 小时内,垃圾邮件的级别在警报级别之下。
|
在本课程中,您学习了如何:
| 构建数据库对象 | ||
| 使用脚本加载数据 | ||
热门下载 | ||
更多融合中间件下载 | ||