Oracle编程入门经典 第4章节 新9i示例模式

Oracle 9i产品帮助文档:

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

唯独依据自己需要开展询问,包含了诸多底文档。

 

Sample Schemas的目录:

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

 

Sample Schemas的文档(示例模式之表及介绍):

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

 

诸多年来,Oracle教师、管理员、程序员、以及用户为求学、测试或调整他们之数据库,都直接在应用这个值得依赖之SCOTT模式进行着简单地查询、更新、以及去除操作。这些模式就是是咱们所说的示范模式。示例模式是说明、视图、索引这样的数据库对象的集,并且就预先供了表示有些范围或中等规模企业的数额。

趁新型版本的Oracle数据库Oracle
9i的起,又引进了崭新的平组示例模式,它们的靶子是扩张SCOTT模式于用户提供的力量。所有这些模式并形成了同之杜撰号的相同片段,它们分别都生谈得来之作业核心。例如,人力资源部、订单输入部门与发货部门都有分手之模式。

注意:

时下hr已经锁定了(即lock)。需要实行以下脚本:

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行。

4.1 SCOTT模式

所提供的SCOTT模式可供一些示例表以及数,来显示数据库的有特点。它是一个一定简单的模式,如图4-1数据结构图所示(通过PowerDesign逆向工程转换为数据库模型)。

祈求4-1 SCOTT模式数据结构图

 www.bwin696.com 1

缘何而将这模式命名也SCOTT呢?SCOTT/TIGER是Oracle版本1、2暨3时代的Oracle数据库的首用户名/密码组合。SCOTT是指Oracle公司的泰斗程序员Bruce
Scott。当然,TIGER是Bruce养的猫的名字。

SCOTT模式中所著的数据库特性通常被认为是绝大多数关系数据库产品中的重大特点。如果想要实际地展示Oracle数据库的效能,就要强化这些示例!

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——销售历史。

4.2.1 深入座谈各个模式

1. 人力资源

人力资源模式,或者HR模式,负责管理部门、雇员、工作同薪金信息。图4-2出示了HR模式的详细数据结构图示。

www.bwin696.com 2

2. 订单输入

订单输入(Order
Entry)模式,或者OE模式,可以用来治本公司从事商务活动的次第渠道中之客户、销售订单和产品库存。

祈求4-3详细描写了OE模式之数据结构。就如我辈原先了解的,与人力资源模式相比,订单输入模式更复杂。

www.bwin696.com 3

祈求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模式是一个怪好的演示,它显得了标准的供应组织或者电脑零售商店可以应用啊艺术去管理它们完整订单处理过程。通过运用订单输入表中的数码,销售团队便得于地下的客户提供可靠的活信息,接受销售订单,量化订单收入,存储客户信息,为歧地理位置订购产品之客户提供标准的库存信息,以及另服务。

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的引用。

www.bwin696.com 4

祈求4-4 PM模式数据结构

PRINT_MEDIA表拥有一个目标类型(ADHEADER_TYP),以及在表的相继记录受蕴藏的对象嵌套表(TEXTDOC_TAB)。

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

SQL> desc ordsys.ordimage;

4. 行运送

我们的虚拟号想使采用信息网,以好在线客户进行自助订货。当客户初始化订货的下,系统就是待树立订单,向客户提供账单,并且要保管好根据客户之位置,通过当的地面发送订货。

QS_CS模式有一个誉为也ORDER_STATUS_TABLE的阐明,可以储存订单状态。这是当漫天队列运送模式安装过程被绝无仅有建立表(除了通过高档队列API建立的队表外)。我们无会见显得以及发明有关的数据结构图,而是使讨论为队列运送模式所植的行列系统被的消息流程。

图4-5所示流程图示中好看看,为了提供一个分明、直观的订座——发货——结算循环,要当单位中如何传递信息。

www.bwin696.com 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通知客户服务与客户结算部门,并且于客户发送账单。经过结算的订单会放在Billed
Orders(已结算订单)队列中,它见面通知客户服务部门,然后就足以形成订单处理过程。

5. 销售历史

本商务环境遭受的合作社就发现,除非人们能以同样种出含义又不怕经常的法,根据消息变化精确的决策报告,否则世界上的有销售信息都是毫无价值的。决策支持(decision
support)就是用来叙述在展开决策的历程中信息技术以的术语。

销售历史模式是一个俗数据仓库的以身作则。表会按照星型模式(star
schema)设计进行团队,在这种方法下,会有一个非常之SALES表位于中心,SALES表的之外还会见来一些略带之查询表,或者维数(dimension)表。SALES表通常会发雅量的数据(所有的行销实时),而维数表相对于SALES表来讲会相当小。

希冀4-6的数据结构图显示了销售历史模式:

www.bwin696.com 6

图4-6 销售历史模式数据结构

4.2.2 渐进上道

准不同之受众组织模式的主意得以鼓励新的Oracle用户通过结构化的章程上技术。例如,初家可以自人力资源开始。这得被他熟悉关系概念、查询数据、数据库操作语言、数据库定义语言、以及有旁基本概念。

当新Oracle用户熟悉了人力资源模式后,可以继承分析订单输入模式。在是新模式受到,他以会晤遇见对象类型、XML支持、Oracle
Spatial、以及其它有较高档的数据库特性。

连接下,用户可分析任何模式所提供的特定领域。多媒体专家可深深上产品媒体模式。设计发布-订阅型基于消息的系统的用户可窥见,队列运送模式在他们初步修Oracle高级队列的上以会晤异常有帮扶。数据仓库的热衷者最好去分析与了解销售历史模式。

4.2.3 发现又多关于示例模式之始末

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

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.3 小结

章根据自己明白浓缩,仅供参考。

选择自:《Oracle编程入门经典》 清华大学出版社 http://www.tup.com.cn/

相关文章