2 Oracle XML DBを使用する前に

Oracle XML DBのソリューションを計画する場合に考慮する基本的な設計基準を示します。

2.1 Oracle XML DBのインストール

Database Configuration Assistant (DBCA)を使用し、汎用テンプレートを使用してOracle Databaseを構築すると、Oracle XML DBが自動的にインストールされます。

Oracle XML DBがすでにインストールされているかどうかは、自分で判断できます。次の条件に当てはまる場合は、インストールされています。

  • データベース・スキーマ(ユーザー・アカウント)XDBが存在する。確認するには、次の問合せを実行します。

    SELECT * FROM ALL_USERS;
    
  • ビューRESOURCE_VIEWが存在する。確認するには、次のコマンドを使用します。

    DESCRIBE RESOURCE_VIEW

関連項目:

2.2 Oracle XML DBのユースケース

Oracle XML DBは、処理されるデータの一部または全部がXMLで表現されているアプリケーションに適しています。

Oracle XML DBでは、高パフォーマンスのデータベースで、XMLデータの収集、格納、処理および取出しが実行されます。また、既存のリレーショナル・データからXMLを迅速に容易に生成できます。Oracle XML DBが特に適しているアプリケーションは、次のとおりです。

  • Business-to-Business(B2B)およびApplication-to-Application(A2A)統合

  • インターネット

  • コンテンツ管理

  • メッセージング

  • Webサービス

典型的なOracle XML DBアプリケーションには、少なくとも次のうち1つの特長があります。

  • 多くのXML文書を収集または生成する必要がある。

  • 大規模なXML文書を処理または生成する必要がある。

  • 1つの文書内でも、多数の文書の集まりにわたっても、高パフォーマンスな検索が必要とされる。

  • 高いレベルのセキュリティが必要とされる。

  • ファイングレイン・セキュリティが必要とされる。

  • データ処理でXML文書を使用し、データをリレーショナル表に格納する必要がある。

  • プログラミングで、SQL、XML、XQuery、XPath、XSLなどのオープン標準がサポートされている必要がある。

  • FTP、HTTP(S)、WebDAV、Java Database Connectivity(JDBC)などの標準インターネット・プロトコルを使用して情報にアクセスする必要がある。

  • XMLデータはSQLから問い合せる必要がある。

  • XMLデータに分析機能を適用する必要がある。

  • XML文書をXML Schemaに基づいて検証する必要がある。

2.3 Oracle XML DBのアプリケーション設計に関する考慮事項

Oracle XML DBアプリケーションを計画する場合は、いくつかの基本的な設計基準を考慮することをお薦めします。

次のようなものがあります:

  • XMLデータを格納する方法

  • XMLデータの構造

  • アプリケーションの実装に使用する言語

  • XMLデータを処理する方法

ただし、通常は、次のOracle XML DB機能から開始することをお薦めします。ほとんどのユースケースでは、これらを考慮すれば十分です。

  • 記憶域モデル - バイナリXML

  • 索引付け - XML検索文字列、XMLIndex (構造化コンポーネントあり)

  • データベース言語 - SQL、SQL/XML関数あり

  • XML言語 - XQueryおよびXSLT

  • クライアントAPI - OCI、Thin JDBC、SQL .NET

2.3.1 XMLデータ記憶域

Oracle DatabaseにXMLデータを格納する方法は複数あります。

図2-1に、XMLTypeの表およびビューの記憶域の概要を示します。

図2-1 XMLデータに対するOracle XML DBの記憶域オプション

図2-1の説明が続きます
「図2-1 XMLデータに対するOracle XML DBの記憶域オプション」の説明

既存のリレーショナル・データがある場合は、XMLTypeビューをそのデータに作成することで、そのデータにXMLデータとしてアクセスできます。次を使用して、XMLTypeビューを定義できます。

アプリケーション用に選択した記憶域オプションにかかわらず、Oracle XML DBでは同じ機能が提供されます。使用する記憶域モデルは、アプリケーションのパフォーマンスおよびXMLデータの再現性に影響する場合がありますが、データを問合せおよび更新する頻度やアプリケーションで使用されるAPIとは関係がありません。

関連トピック

2.3.2 XMLデータの構造

XMLデータがどのように構造化されているか、およびXML Schemaに基づいているかどうかは、それを格納する方法に影響を及ぼすことがあります。

XMLデータがXML Schemaに基づいていない場合、その構造化の方法とは関係なく、XMLType表またはビューにバイナリXMLとして、またはOracle XML DBリポジトリのフォルダ内のファイルとして格納できます。オブジェクト・リレーショナル形式で格納することはできません。

XMLデータがXML Schemaに基づいている場合は、バイナリXMLまたはオブジェクト・リレーショナル形式で格納する必要があります。

2.3.3 アプリケーションの実装に使用する言語

Oracle XML DBアプリケーションは、Java (JDBC、Javaサーブレット)またはPL/SQLでプログラミングできます。

2.3.4 XMLの処理オプション

Oracle XML DBには、様々なXMLの処理オプションが用意されています。

Oracle XML DBアプリケーションを設計するときには次のものを使用でき、かつ考慮する必要があります。

  • XMLの生成およびXMLTypeビュー。XMLデータを生成(または再生成)する必要があるかどうか。リレーショナル・データからのXMLデータの生成を参照してください。

  • アプリケーションがデータ中心、ドキュメント中心、またはその両方のいずれであるか。Oracle XML DBの使用方法の概要を参照してください。

  • DOM再現性、ドキュメントの再現性。XMLType記憶域は、オブジェクト・リレーショナルまたはバイナリXMLに関係なく、DOM再現性を維持します。つまり、XMLTypeとして格納されているXML文書から作成されたDOMは、元の文書から作成されたDOMと同じです。ただし、無意味な空白は異なる可能性があります。DOM再現性SYS_XDBPD$とオブジェクト・リレーショナル記憶域のDOM再現性およびPL/SQL API for XMLTypeを参照してください。

    DOM再現性以外にも、ドキュメントの再現性(無意味な空白)を維持する必要がある場合は、元の文書のコピーを2つ(1つはデータベースとXMLの処理で使用するXMLTypeインスタンスとして、もう1つはドキュメントの再現性を実現するCLOBインスタンスとして)格納します。

  • XPath検索。SQL文に埋め込まれたXPath構文を使用すると、データベース内のXMLコンテンツを問い合せることができます。XMLデータの問合せと更新Oracle XML DBリポジトリ・データへのアクセスおよびRESOURCE_VIEWおよびPATH_VIEWを使用したリポジトリへのアクセスを参照してください。

  • XML文書はどれほどの頻度でアクセス、更新および操作されるか。XMLデータの問合せと更新を参照してください。

  • 更新の対象は文書のフラグメントか、または文書全体か。XPath式を使用して、文書全体を再書込みせずに、更新中に文書の個々の要素および属性を指定できます。これは、特に大規模なXML文書の場合により効率的です。XMLデータの更新を参照してください。

  • どのような種類の索引付けがアプリケーションおよびデータに最も適しているか。XMLTypeデータの索引を参照してください。

  • XSLT。XMLデータをHTMLやWMLなどの他の言語に変換する必要があるか、その場合は、アプリケーションによってこれがどのように実行されるか。Oracle XML DBにXML文書を格納中に、文書の構造が特定のXML Schemaに準拠するかどうか(妥当かどうか)を確認できます(オプション)。XMLTypeデータの変換および検証を参照してください。

2.3.5 Oracle XML DBリポジトリへのアクセス

Oracle XML DBリポジトリを使用するアプリケーションの設計に関する考慮事項には、アクセス方法、セキュリティ・ニーズ、バージョニングが必要かどうかなどがあります。

リポジトリへのアクセス方法には、主に次の2つがあります。

  • ナビゲーション・ベースのアクセスまたはパス・ベースのアクセス。これはコンテンツ/ドキュメントおよびデータ指向アプリケーションの両方に適しています。Oracle XML DBでは、次の言語およびアクセスAPIが提供されています。

  • 問合せベースのアクセス。これはデータ指向アプリケーションに最適です。Oracle XML DBでは、次のAPIを介して、SQL問合せを使用するアクセスが可能です。

リポジトリ・データにアクセスするためのこれらのオプションは、Oracle XML DBリポジトリ・データへのアクセスでも説明しています。

次のアクセス基準についても考慮します。

2.3.6 Oracle XML DBとその他のデータベース・オプションおよび機能との連携

Oracle XML DBはOracle Databaseに不可欠の部分であり、他のデータベースのオプションおよび機能と連携して機能します。