1 サンプル・スキーマの概要

Oracleでは、ドキュメントおよびトレーニングの様々なサンプルで、単純なデータベース・スキーマSCOTTをその2つの重要な表EMPおよびDEPTとともに長い間使用していました。これらの表は、Oracle Databaseおよびその他のOracle製品の基本的な機能を表すには不十分です。製品マニュアル、教育用ソフトウェア、ソフトウェア開発およびアプリケーションのデモには、サンプル・データベース・スキーマを使用できます。

1.1 サンプル・スキーマについて

サンプル・データベース・スキーマは、Oracle Databaseの各リリースにおけるサンプルを共通化することを目的としています。サンプル・スキーマは、連結されたデータベース・スキーマのセットです。このセットにより、複雑さに対するアプローチが提供されます。

  • スキーマHuman Resources (HR)は基本トピックの導入に役立ちます。このスキーマの拡張機能では、Oracle Internet Directoryのデモをサポートしています。

  • スキーマOrder Entry (OE)はそれほど複雑ではない問題の処理に役立ちます。このスキーマでは、非スカラー・データ型を含む多数のデータ型を使用できます。

  • スキーマOnline Catalog (OC)は、スキーマOE内部に作成されたオブジェクト・リレーショナル・データベースのオブジェクトの集合です。

  • スキーマProduct Media (PM)は印刷媒体データ型専用です。

  • 主スキーマ名Information Exchange (IX)の下に収集されたスキーマのセットは、Oracle Advanced Queuing機能のデモに使用できます。

  • スキーマSales History (SH)は大量のデータを使用するデモ向けに設計されています。このスキーマの拡張機能では、拡張分析処理をサポートしています。

  • Customer Orders (CO)スキーマは、E-Commerceのトランザクションのデモに役立つ最新のスキーマです。JSONを使用して半構造化データを保存できます。

1.2 サンプル・スキーマの設計方針

サンプル・データベース・スキーマは、次の設計方針に基づいて作成されています。

  • 簡単な使用方法。スキーマHRおよびOEは、意図的に単純になっています。これらによって、データベースの簡単な使用方法から中級の使用方法まで、段階分けされた使用方法が提供されます。

  • 通常のユーザーとの関連性。基本的なスキーマと拡張機能では、通常使用する機能を最優先します。最も一般的に使用されるデータベース・オブジェクトのみが、スキーマで自動的に作成されます。スキーマのセット全体で、追加機能を示すために拡張可能な基盤が提供されます。

  • 拡張性。サンプル・スキーマでは、基本的な範囲を超えた機能のデモ用のオブジェクトを追加するための論理的および物理的な基盤が提供されています。

  • 関連性。サンプル・スキーマは、E-Businessやその他の重要な業界動向(XMLなど)に適用できるように設計されています。これによって使用方法が複雑になる場合は、スキーマ拡張機能を使用して、業界動向に焦点を合せることができます。

1.3 サンプル・スキーマにより提供される利点

サンプル・スキーマにより提供される利点には、次のものがあります。

  • コンテキストの一貫性。同じ表セットがいたるところにあれば、ユーザー、研修受講者および開発者は、スキーマに時間をかけることなく、技術的な概念を理解することに、より多くの時間を費やすことができます。

  • 有用性。これらのシード・データベースのスキーマを使用して、Oracle Databaseのドキュメントおよびトレーニング・マテリアルに記載されたサンプルを実行できます。サンプルを直接使用することにより、概念の理解とアプリケーション開発が容易になります。

  • 品質。サンプル・スキーマを構築する作成スクリプトとスキーマに対して実行されるサンプルの両方を集中的に管理しテストすることによって、Oracle Databaseのドキュメントおよびトレーニング・マテリアルの品質が向上します。

1.4 サンプル・スキーマの概要

Oracle Databaseサンプル・スキーマは、様々なチャネルを介して商品を販売する架空のサンプル会社に基づいています。この会社は、製品の注文を履行するために世界中で業務を行っています。いくつかの部門が存在し、そのそれぞれはサンプル・データベース・スキーマで表されます。

トピック:

  • スキーマHR – 人事管理(Human Resources)部門では、会社の従業員および施設に関する情報を管理しています。

  • スキーマOE – 受注(Order Entry)部門では、様々なチャネルにわたる、会社の製品の在庫と販売を管理しています。

  • スキーマPM – 製品メディア(Product Media)部門では、会社が販売する各製品に関する説明書と詳細情報を管理しています。

  • スキーマIX – 情報交換(Information Exchange)部門では、B2Bアプリケーションを使用して出荷を管理しています。

  • スキーマSH – 販売(Sales)部門では、ビジネス上の判断に役立つ事業統計を管理しています。

  • COスキーマ - 顧客注文(Customer Orders)部門では、顧客、製品、店舗および注文のデータで構成される簡単な小売アプリケーションがモデル化されています。

1.4.1 HRサンプル・スキーマ

Human Resource(HR)レコードには、従業員ごとに識別番号、電子メール・アドレス、職種識別コード、給料および管理者が含まれています。給料に加えて歩合給を受け取る従業員もいます。

また、会社は組織内での職種についての情報も記録しています。各職種には、識別コード、役職、その職種の給料の上限と下限があります。長期間勤務している従業員の中には、複数の役割を担当している人もいます。従業員が退職すると、その従業員が勤務していた期間、職種識別番号および部署が記録されます。

サンプルになっている会社は様々な地域に分かれているため、倉庫および部署の所在地を記録しています。各従業員は、部署に配属されており、また各部署は、一意の部署番号または短縮名のいずれかで識別されます。各部署は、1つの所在地に関連付けられており、またそれぞれの所在地には、通りの名前、郵便番号、都市、州または県、国コードを含む完全な住所があります。

部署および倉庫の所在地には、国名、通貨記号、通貨名、地理的に位置する地域などの詳細を記録します。

1.4.2 OEサンプル・スキーマ

この会社は、コンピュータのハードウェアとソフトウェア、音楽、衣料、工具などいくつかの製品を販売しています。会社は、製品識別番号、その製品の分類、受注(OE)、重量によるグループ(出荷のため)、ある場合は保証期間、サプライヤ、製品の可用性ステータス、表示価格、最低販売価格、製造会社のURLアドレスを含む、これらの製品に関する情報を管理しています。また、在庫がある倉庫、在庫数などすべての製品に対する在庫情報も記録されます。世界中で製品が販売されているため、この会社は複数の言語で製品名と製品についての説明書を管理しています。

会社は、顧客の要望に応えるために、いくつかの場所に倉庫を設置しています。各倉庫には、倉庫識別番号、倉庫名、施設の説明および地域識別番号があります。

また、顧客情報も記録されています。各顧客には、識別番号があります。顧客レコードには、顧客の名前、町名、都市または県、国、電話番号(顧客ごとに最大5つまで)および郵便番号があります。インターネット経由で注文する顧客もいるため、電子メール・アドレスも記録されています。顧客は様々な言語を使用しているため、会社は顧客ごとに使用するネイティブ言語と地域を記録します。

また、顧客には一度に購入できる製品の総額を制限する与信限度額が設定されています。顧客管理者が任命されている顧客の場合は、この情報も記録されます。

顧客が発注すると、会社は受注日、受注方法、受注状況、出荷モード、受注数量および営業担当者を記録します。営業担当者は、顧客の顧客管理者と同一人物とはかぎりません。インターネット経由で受注した場合、営業担当者は記録されません。受注情報の他にも、受注した品目の数量、単価および製品も記録します。

スキーマOEには、XMLの注文書も含まれます。これらは、登録済のXMLスキーマpurchaseorder.xsdに対する検証後にOracle XML DB Repositoryに格納されます。これらのドキュメントには、SQLを使用した表purchaseorderの問合せ、パブリック・ビューRESOURCE_VIEWおよびPATH_VIEWの問合せ、XPath式を使用したリポジトリの問合せなど、様々な方法でアクセスできます。

XMLの注文書は、Oracle XML DB Repositoryフォルダ$ORACLE_HOME/rdbms/demo/order_entry/2002/monthに格納されます。ここで、monthとは3文字の月を表す略称(JanFebMarなど)です。

1.4.3 OCサンプル・スキーマ

データベース・スキーマOEのOnline Catalog (OC)サブスキーマは、オンライン・カタログ・マーチャンダイジング・シナリオに対応するものです。OCでは、スキーマOEと同じ顧客と製品が適切に使用されますが、サブスキーマOCでは、親カテゴリとサブカテゴリの階層に製品を編成します。この階層はE-Commerceのポータル・サイトでの配置に対応しており、ユーザーは、より特化した製品カテゴリにドリルダウンすることで特定の製品へ到達できます。

1.4.4 PMサンプル・スキーマ

この会社では、製品に関する印刷情報がデータベースに保管されています。Product Media(PM)スキーマは、このような情報を格納するために使用します。それらの情報の例は、次のとおりです。

  • PR用の文書

  • 印刷媒体の広告

  • 他の販売促進用の文書と翻訳

1.4.5 IXサンプル・スキーマ

会社では、メッセージ機能を使用して、計画されているB2Bアプリケーションの使用をテストすることに決定しました。この計画には、ユーザーがファイアウォールの外部から発注してそのステータスを追跡できる小規模のテストが必要です。注文は主システムに登録される必要があります。その後、顧客の住所に応じて、出荷に最も近い地域に注文が転送されます。Information Exchange(IX)スキーマにはこのような情報が格納されます。

会社は、現行の社内分散システムを、最終的に他の企業が出荷できるシステムに展開することを考えています。送信されるメッセージは、自己完結型の形式である必要があります。XMLは送信メッセージにとって完全な形式であり、Advanced Queuing ServletとOracle Internet Directoryによって、キュー間で必要なルーティングが提供されます。

受注した商品が出荷されるか、入荷待ちになった後で、メッセージを関係する社員に送り返して受注のステータスを通知し、支払請求を開始する必要があります。メッセージが1回しか送信されないことと、メッセージを追跡して調査するシステムがあることは、受注情報に不一致が生じた場合に役立ちます。

このテスト用アプリケーションのために、会社はデータベース・サーバーとアプリケーション・サーバーを1台ずつ使用します。アプリケーションには、XMLメッセージおよびキューを監視するメカニズムがあります。ファイアウォール外からの接続性をテストするために、新規注文の作成と顧客サービスの報告を、キューを使用して実行します。新規注文のアプリケーションではキューが直接有効になりますが、顧客サービスの問合せでは、XMLメッセージ機能によってキューが無効にされる必要があります。

1.4.6 SHサンプル・スキーマ

サンプルの会社では、大規模な事業を行っているため、意思決定支援のために事業統計レポートを作成します。これらのレポートの多くは、時間ベースで作成され蓄積されます。つまり、過去のデータ傾向を分析できます。データをデータ・ウェアハウスにロードして、これらのレポート用の統計を定期的に収集します。これらのレポートでは、年、四半期、月、週ごとの売上げが製品別に表示されます。これらのレポートは、スキーマSales History (SH)を使用して格納されます。

また、販売が行われる流通チャネルのレポートも出力します。製品に対して特別な販売促進を実施する場合は、販売促進の効果を分析できます。地域によって販売を分析することもできます。

1.4.7 COサンプル・スキーマ

Customer Orders (CO)スキーマは、小売アプリケーションで行われたトランザクションの詳細を記録します。

COスキーマはOEスキーマと概念が似ています。COスキーマは最新のスキーマであり、JSONサポートなどのOracleデータベース12cの機能が強調されています。

この会社では、products表に保持される様々な製品を販売しています。各製品には、一意の識別番号、名前、価格、JSONオブジェクトに格納される詳細、および製品イメージの詳細があります。

顧客が発注した注文は、注文識別番号、注文が発注された日時、顧客の詳細、注文ステータスおよび店舗情報を使用して追跡されます。

注文識別番号を使用して、特定の注文の製品の詳細を追跡することもできます。製品の詳細、購入時の価格および数量が記録されます。

注文した顧客の情報が追跡されます。各顧客には、注文のやり取りに使用される識別番号、名前および電子メール・アドレスがあります。

顧客は、店舗で製品を購入するか、会社のWebサイトを介してオンラインで購入できます。この会社は、すべての店舗の情報、およびそれらに対応する物理的アドレスと仮想アドレスを格納しています。店舗の情報は注文詳細にも記録されます。