OracleOracle编程入门经典 第4章 新9i示例形式

4.2 Oracle 9i示例形式

Oracle技术可以使用于各个不同的条件中。技术解决方案的七个使用极端情形是,高速在线事务处理和数据库仓库。尽管用户可以采取一个情势,显示什么在相同的表中完成在线事务处理和数据仓库。不过用户毫无可能应用这种措施实现实用的缓解方案。我们在现在的业界中不时可以发现,为了化解具体世界中的不同总结需求,通常在单独的数据库实例中会存在不同的形式,或者在网络上会有恢宏分布式数据库。新的Oracle
9i示例格局模型极好地对这几个场地建模。

Oracle
9i示例情势试图模型化一个切实世界中享有一多重典型业务部门的行销团队。这一个不同的机关所有不同的消息技术需要,每一个演示形式都选择了不同的Oracle技术来解决它们分其余题材。此外,每个形式设计方案都对准一定的技术用户。这个形式如下:

  • HR——人力资源。
  • OE——订单输入。
  • PM——产品媒体。产品媒体在数据库中蕴藏了合作社连串产品的连带多媒体内容,可以用于在Web上披露以及打印。PM利用了Oracle
    Intermedia,它特别计划用来拍卖发表音频、视频以及可视数据的多媒体领域。此外,PM也一再地运用了LOB列类型。
  • QS——队列运送。运送部门担负记录集团向客户举办的产品运载意况,并且应用6个格局来成功这项工作。QS、QS_ES、QS_WS、QS_OS、QS_CB和QS_CS构成了队列运送情势的聚合。
  • SH——销售历史。

http://docs.oracle.com/cd/B10501_01/server.920/a96539/toc.htm

1. 数据库对象描述

在那有些中,大家将会浏览数据库,找到属于示例形式下的目的,然后利用SQL查询直接从数据库中拿到这多少个目的的概念。

注意:

以下试验部分所需的百分之百脚本都足以从http://www.wrox.com/的本书可下载代码中取得。

试验:获取数据库列表

将以下脚本保存到用户本地硬盘上名为dbls.sql的文件中(C:\oracle\ora92\bin,即sql*plus工作目录)

column object_name format a30

column tablespace_name format a30

column object_type format a12

column status format a1

break on object_type skip 1

select object_type,object_name,

decode(status,'INVALID','*','') status,

tablespace_name

from user_objects a,user_segments b

where a.object_name=b.segment_name(+)

and a.object_type=b.segment_type(+)

order by object_type,object_name

/

column status format a10

运作以下代码可取得数据库对象列表:

SQL> connect hr/hr;

已连接。

SQL> @dbls

Oracle 9i产品匡助文档:

乘机新型版本的Oracle数据库Oracle
9i的产出,又引进了全新的一组示例格局,它们的靶子是扩展SCOTT情势向用户提供的功能。所有这多少个形式一起形成了相同的杜撰集团的一有些,它们各自都有谈得来的政工主旨。例如,人力资源部、订单输入部门以及发货部门都有分此外格局。

 

5. 售货历史

现行商务条件中的公司现已意识,除非人们可以使用一种有意义并且即时的不二法门,遵照音信变更精确的裁定报告,否则世界上的兼具销售音讯都是毫无价值的。决策襄助(decision
support)就是用来叙述在拓展裁决的过程中信息技术应用的术语。

销售历史形式是一个观念数据仓库的言传身教。表会遵照星型格局(star
schema)设计开展社团,在这种措施下,会有一个大的SALES表位于主旨,SALES表的外侧还会有一对小的查询表,或者维数(dimension)表。SALES表经常会有恢宏的数目(所有的行销实时),而维数表绝对于SALES表来讲会非常小。

图4-6的数据结构图体现了销售历史情势:

Oracle 1

图4-6 销售历史情势数据结构

2. 自解释形式

Oracle提供了一种可以让表的所有者在数据库中存储表或者列的纯文本注释的办法。在示范形式安装期间,每个形式都富有一个本子,可以为它们各自的表和列建立这么些注释。这可以利用SQL命令CREATE
COMMENT实现。其中注释样本如下:

COMMENT ON TABLE jobs

IS ‘jobs table with job titles and salary ranges.Contains 19 rows.

References with employees and job_history table.’;

4.2.2 渐进学习形式

按照不同的受众社团情势的法子得以鼓励新的Oracle用户通过结构化的办艺术学习技术。例如,初学者可以从人力资源开头。这足以让她熟稔关系概念、查询数据、数据库操作语言、数据库定义语言、以及一些另外基本概念。

当新Oracle用户熟识了人力资源情势之后,可以继续分析订单输入格局。在这么些新形式中,他将会遇见对象类型、XML襄助、Oracle
Spatial、以及其他部分相比高档的数据库特性。

接下去,用户可以分析任何格局所提供的特定领域。多媒体专家可以深深学习产品媒体形式。设计发布-订阅型基于信息的系统的用户可以窥见,队列运送格局在她们先河上学Oracle高级队列的时候将会这么些有帮忙。数据仓库的热衷者最好去分析和询问销售历史形式。

1. 人力资源

人力资源格局,或者HR形式,负责管理部门、雇员、工作以及薪金新闻。图4-2彰显了HR情势的详尽数据结构图示。

Oracle 2

3. 成品媒体

产品媒体(Product
Media)模式,或者PM格局,用于管理描述集团出品的多媒体数据。视频、音频和图像那样的在线媒体都可以随输出的传媒数据类型存储在数据库中。这是我们要特别钻探的情势之一,它着重于多媒体内容,以及Oracle
Intermedia所提供的功力。

注意:

Oracle Intermedia是Oracle数据库襄助多媒体内容类型的组件。

除开Intermedia数据存储以外,PM格局还特意依赖LOB列类型的运用来存储数据。

产品媒体情势是Oracle 9i使用名为Oracle
Intermedia的Oracle技术解决实际世界商务需求的优良示例。例如,我们虚构的公司就足以储存多媒体数据如故输出多媒体数据。由此,产品媒体形式中的示例可以完成如下工作:

  • 为Oracle中接纳Web公布的内容存储缩略图和完全尺寸的图像。
  • 在Oracle中贮存音频剪辑。
  • 在Oracle中存储摄像剪辑。
  • 对图像类型进行拍卖,以便转换成与Web兼容的图像类型

采用Oracle
Intermedia,一些已经很难实现的职责就变得相对简便易行。图4-4表示为产品媒体格局,以及它对订单输入表PRODUCT_INFORMATION的引用。

Oracle 3

图4-4 PM情势数据结构

PRINT_MEDIA表拥有一个目标类型(ADHEADER_TYP),以及在表的依次记录中储存的靶子嵌套表(TEXTDOC_TAB)。

ORDSYS.ORD__列都是一个Intermedia对象类型。这么些Intermedia对象类型不仅能够储存图像、音频、视频这样的二进制数据;还足以储存各个与多媒体类型有关的元数据。

SQL> desc ordsys.ordimage;

萨姆(Sam)ple Schemas的文档(示例形式的表及介绍):

http://docs.oracle.com/cd/B10501_01/index.htm

Sample Schemas的目录:

4.3 小结

著作遵照自己知道浓缩,仅供参考。

摘自:《Oracle编程入门经典》 浙大大学出版社 http://www.tup.com.cn/

注意:

SQL> connect system/zyf;

已连接。

SQL> alter user hr account unlock;

用户已更改。

SQL> alter user hr identified by hr;

用户已更改。

SQL> connect hr/hr;

已连接。

SQL> select table_name from user_tables;

TABLE_NAME

------------------------------

COUNTRIES

DEPARTMENTS

EMPLOYEES

JOBS

JOB_HISTORY

LOCATIONS

REGIONS

已选择7行。

广大年来,Oracle助教、管理员、程序员、以及用户为了学习、测试或调整他们的数据库,都一贯在行使这么些值得依靠的SCOTT形式举办着简单地询问、更新、以及去除操作。这个形式就是我们所说的示范情势。示例模式是表、视图、索引这样的数据库对象的集纳,并且随着预先供了象征小圈圈依然中等规模公司的数额。

当前hr已经锁定了(即lock)。需要实践以下脚本:

http://docs.oracle.com/cd/B10501_01/server.920/a96539.pdf

4.2.3 发现更多关于示例格局的内容

 

 

4.1 SCOTT模式

所提供的SCOTT模式可以提供部分示例表以及数额,来体现数据库的一些表征。它是一个非常简单的形式,如图4-1数据结构图所示(通过PowerDesign逆向工程转换为数据库模型)。

图4-1 SCOTT格局数据结构图

 Oracle 4

为啥要将以此形式命名为SCOTT呢?SCOTT/TIGER是Oracle版本1、2和3时代的Oracle数据库的初期用户名/密码组合。SCOTT是指Oracle公司的长者程序员Bruce司各脱(Scott)。当然,TIGER是布鲁斯养的猫的名字。

SCOTT格局中所显示的数据库特性平时被认为是绝大多数关周详据库产品中的紧要特点。假如想要真实地展现Oracle数据库的功效,就要强化那一个示例!

4.2.1 深远座谈各类模式

4. 类别运送

大家的虚构集团想要使用新闻系统,以便于在线客户开展自助订货。当客户先导化订货的时候,系统就需要树立订单,向客户提供账单,并且要保管可以按照客户的职位,通过适当的地区发送订货。

QS_CS形式有一个名为ORDER_STATUS_TABLE的表,可以储存订单状态。这是在一切队列运送模式安装过程中唯一建立表(除了通过高档队列API建立的体系表以外)。我们不会来得与表有关的数据结构图,而是要研商为队列运送情势所成立的行列系统中的音信流程。

图4-5所示流程图示中能够看来,为了提供一个清楚、直观的订货——发货——结算循环,要在部门中间什么传递信息。

Oracle 5

图4-5 为队列运送(QS)情势在队列系统中成立的信息流程

全体都要从图示顶部的订单输入起首。Oracle
Input(订单输入)过程所生成的订单会放入New Order
Queue(新订单队列)中。这么些队列要Oracle
Entry应用处理,然后会将订单放到Booked Orders
Queue(登记订单队列)中。再将Booked Orders
Queue中的订单发往适中的运送大旨(East(东部)、韦斯特(West)(西部)或者Overseas(海外)),以及客户服务部门。

在这时候,运送中央就会吸收要完成的订单,并且向客户发送订货,而且客户服务单位也会发觉到订单的气象。在方便的运送大旨,Shipping
Center(运送中央)应用就会顶住发送订货,或者将预订调整回订单状态。一旦拿到了成品,就会发送退回为订单状态的成品,并且将订单放到shipped
orders(已运送订单)队列中。

当订单发送之后,就会通过shipped orders
gueue通知客户服务和客户结算部门,并且向客户发送账单。经过结算的订单会放在比尔ed
Orders(已结算订单)队列中,它会打招呼客户服务机关,然后就足以成功订单处理过程。

可依照自己需要举行查询,包含了累累的文档。

2. 订单输入

订单输入(Order
Entry)情势,或者OE情势,可以用来保管集团从事商务活动的顺序渠道中的客户、销售订单以及产品库存。

图4-3详实刻画了OE形式的数据结构。就如我们从前掌握的,与人力资源模式相比较,订单输入情势更加复杂。

Oracle 6

图4-3 OE情势数据结构

OE模式会记录产品库存。大家将会蕴藏任意指定仓库中指定产品的数额。在合作社中会有两个仓库,所以要运用地方标识符提出其地理区域。在WAREHOUSES表中还有一个Oracle
Spatial列,它为我们提供了使用Oracle Spatial空间技术的钥匙。

Oracle Spatial是在数据库中援助地方数据和地理数据的技术。

在OE格局中,需要顺便提供提及五个数据库对象模型:

  • CUST_ADDRESS_TYP。这是一个在CUSTOMERS表中行使的对象类型。它涵盖了成百上千与客户地址有关的性质。

SQL> desc cust_address_typ;

名称 是否为空? 类型

----------------------------------------- -------- 

STREET_ADDRESS VARCHAR2(40)

POSTAL_CODE VARCHAR2(10)

CITY VARCHAR2(30)

STATE_PROVINCE VARCHAR2(10)

COUNTRY_ID CHAR(2)
  • PHONE_LIST_TYP。这是一个VARCHAR2(25)的VARRAY。那么些VARRAY在CUSTOMERS表中作为独立的列存储,可以用于存储最多5个电话号码。

SQL> desc phone_list_typ;

phone_list_typ VARRAY(5) OF VARCHAR2(25)

OE情势是一个很好的示范,它显得了正规的供应社团或者电脑零售公司可以采纳什么模式去管理它们完整订单处理过程。通过运用订单输入表中的多少,销售团队就足以向地下的客户提供标准的成品消息,接受销售订单,量化订单收入,存储客户信息,为不同地理位置订购产品的客户提供高精度的库存信息,以及此外服务。

相关文章