【手続補正書】
【提出日】平成17年1月27日(2005.1.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データベースシステムでデータを管理するための方法であって、
データベースシステム内で、XMLスキーマに準拠する文書を前記データベースシステム内に格納するための適切なデータベース表現を決定するステップと、
前記XMLスキーマの要素と前記適切なデータベース表現の要素との間の相関関係を示すマッピングデータを生成するステップとを含む、方法。
【請求項２】
適切なデータベース表現を決定する前記ステップは、
ユーザが特定した情報に基づき、前記XMLスキーマの要素が、前記要素に対して前記データベースシステム内で他のオブジェクト型を生成することなく１つのCLOBにマッピングされるべきであることを決定するステップを含み、
マッピングデータを生成する前記ステップは、前記要素を前記１つのCLOBにマッピングするデータを生成するステップを含む、請求項１に記載の方法。
【請求項３】
前記XMLスキーマに対してユーザが特定した注釈の形で、前記ユーザが特定した情報を受信するステップをさらに含む、請求項２に記載の方法。
【請求項４】
適切なデータベース表現を決定する前記ステップは、ユーザが特定した情報に基づき、前記XMLスキーマの要素の第１の組のサブ要素が１つのCLOBにマッピングされるべきであることを決定するステップを含み、
マッピングデータを生成する前記ステップは、前記１つのCLOBに前記第１の組のサブ要素をマッピングするデータを生成するステップと、前記CLOB以外の１つ以上のオブジェクトに前記要素の第２の組のサブ要素をマッピングするデータを生成するステップとを含む、請求項１に記載の方法。
【請求項５】
適切なデータベース表現を決定する前記ステップは、前記データベースシステムがサポートするデータ型に、前記XMLスキーマの要素に関連するデータ型をマッピングするステップを含む、請求項１に記載の方法。
【請求項６】
適切なデータベース表現を決定する前記ステップは、前記XMLスキーマの要素に対応す
る属性を含むSQLオブジェクト型を定義するステップを含む、請求項１に記載の方法。
【請求項７】
データ型をマッピングする前記ステップは、
前記XMLスキーマの要素に関連する特定のデータ型が第１の長さに関連する場合、第１のデータベースデータ型に前記特定のデータ型をマッピングするステップと、
前記特定のデータ型が第２の長さに関連する場合、第２のデータベースデータ型に前記特定のデータ型をマッピングするステップとを含み、前記第１のデータベースデータ型は前記第２のデータベースデータ型と異なる、請求項５に記載の方法。
【請求項８】
適切なデータベース表現を決定する前記ステップは、特定の要素が１より大きな最大出現回数を有するように定義されている場合、前記データベースシステムがサポートする集合型に前記XMLスキーマの特定の要素をマッピングするステップを含む、請求項５に記載の方法。
【請求項９】
前記集合型はアレイ型であり、前記アレイ型のカーディナリティは、前記特定のデータベース要素に対して特定された前記最大出現回数に基づいて選択される、請求項８に記載の方法。
【請求項１０】
適切なデータベース表現を決定する前記制約ステップは、前記XMLスキーマにおいて前記XMLスキーマの要素に対して特定された制約に基づき、前記適切なデータベース表現において制約を定義するステップを含む、請求項１に記載の方法。
【請求項１１】
制約を定義する前記ステップは、一意性の制約、参照の制約、およびnot nullの制約からなる組からの制約を定義するステップを含む、請求項１０に記載の方法。
【請求項１２】
第１のデータ型は前記XMLスキーマの要素に関連し、
前記XMLスキーマは前記第１のデータ型が第２のデータ型から継承することを特定し、
適切なデータベース表現を決定する前記ステップは、前記データベースシステム内でオブジェクト型の部分型を定義するステップを含み、前記オブジェクト型は前記第２のデータ型に対応する、請求項１に記載の方法。
【請求項１３】
適切なデータベース表現を決定する前記ステップは、
第１の組で別個の各要素を前記第１の組の他の要素とは別個に維持するデータベース構造に、前記XMLスキーマの第１の組の要素をマッピングするステップと、
第２の組の要素の全要素が１つの区別されないデータベース要素として組合わされるデータベース構造に、前記XMLスキーマの第２の組の要素をマッピングするステップとを含む、請求項１に記載の方法。
【請求項１４】
前記データベースシステムは、前記XMLスキーマに関連する指示文に基づいて前記第１の組の帰属関係および前記第２の組の帰属関係を決定する、請求項１３に記載の方法。
【請求項１５】
前記第１の組の要素における要素は、前記第２の組の要素に存在するように選択された要素よりも前記要素が頻繁にアクセスされるであろうという可能性に基づき、前記第１の組に存在するように選択される、請求項１３に記載の方法。
【請求項１６】
適切なデータベース表現を決定する前記ステップおよびマッピングデータを生成する前記ステップは、前記データベースシステム内で変更を生じるXMLスキーマ登録動作の一部として行なわれ、
前記方法は、前記XMLスキーマ登録動作によって生じたすべての変更を、前記XMLスキーマ登録動作中に特定のエラーに遭遇することに応答して自動的に除去するステップをさら
に含む、請求項１に記載の方法。
【請求項１７】
適切なデータベース表現を決定する前記ステップは、前記XMLスキーマのサイクルをどのように破壊するかを決定するステップを含む、請求項１に記載の方法。
【請求項１８】
前記XMLスキーマは、複数の構成要素に関わるサイクルを含み、サイクルをどのように破壊するかを決定する前記ステップは、サイクル状の定義の各構成要素に対し、その子構成要素のすべてに対するポインタを保持させるステップを含む、請求項１に記載の方法。
【請求項１９】
サイクルをどのように破壊するかを決定する前記ステップは、サイクル状の定義の全体が前記データベースシステム内の１つのCLOBとして格納されるためにマッピングされるようにするステップを含む、請求項１に記載の方法。
【請求項２０】
マッピングデータを生成する前記ステップは、前記XMLスキーマに注釈を加えるステップと、前記データベースシステム内に前記注釈の付いたXMLスキーマを格納するステップ
とを含む、請求項１に記載の方法。
【請求項２１】
前記適切なデータベース表現に基づいてデータベース内に構造を作成するステップと、
前記構造に、前記XMLスキーマに準拠するXML文書からのデータを格納するステップとをさらに含む、請求項１に記載の方法。
【請求項２２】
XML文書からのデータを格納する前記ステップは、
前記データベースシステムにおいてXML文書を受信するステップと、
前記XML文書から、前記XMLスキーマの個々の要素に関連するデータを識別するステップと、
前記データに関連する要素および前記マッピングデータに基づき、前記構造内の位置に、個々の要素に関連する前記データを格納するステップとを含む、請求項２１に記載の方法。
【請求項２３】
前記XMLスキーマがXMLスキーマに対する１つのXMLスキーマに準拠しているかどうかを決定するために、前記データベースシステム内で前記XMLスキーマを妥当性検証するステップをさらに含む、請求項１に記載の方法。
【請求項２４】
決定する前記ステップは、前記データベースサーバで前記XMLスキーマを受信することに応答して開始されるXMLスキーマ登録動作の一部として行なわれる、請求項１に記載の方法。
【請求項２５】
決定する前記ステップは、前記XMLスキーマに準拠するXML文書を前記データベースサーバで受信することに応答して開始されるXMLスキーマ登録動作の一部として行なわれる、請求項１に記載の方法。
【請求項２６】
前記XMLスキーマは、前記データベースシステムが前記XMLスキーマの少なくとも１つの要素をどのようにマッピングすべきであるかを示す、ユーザが特定した注釈を含み、
前記マッピングデータの少なくとも一部は、前記ユーザが特定した注釈を反映する、請求項２４に記載の方法。
【請求項２７】
拡張可能なマークアップ言語（XML）の構成体に対する演算を伴うデータベースコマンドを実行するための方法であって、
１つ以上のリレーショナルデータベース構成体の第１の組に基づいたXML構成体に作用するXML構成要素の演算を含むデータベースコマンドをデータベースサーバが受信するス
テップと、
１つ以上のリレーショナルデータベース構成体の前記第１の組のうちの１つ以上のリレーショナルデータベース構成体の特定の組に対するリレーショナルデータベースの演算に前記XML構成要素の演算が変形され得るかどうかを前記データベースサーバが決定するステップとを含み、前記リレーショナルデータベースの演算は前記XML構成要素の演算を伴わず、前記方法はさらに、
前記XML構成要素の演算を伴わないリレーショナルデータベースの演算に前記XML構成要素の演算が変形され得ると決定された場合、前記データベースサーバが
前記XML構成要素の演算を伴わない特定のリレーショナルデータベースの演算として前記XMLの演算を書き換えるステップと、
１つ以上のリレーショナルデータベース構成体の特定の組に対する前記特定のリレーショナルデータベースの演算を評価するステップとを含む、方法。
【請求項２８】
１つ以上のリレーショナルデータベース構成体の前記第１の組は、前記リレーショナルデータベースに格納されたXMLスキーマに基づいたXMLの型である、請求項２７に記載の方法。
【請求項２９】
リレーショナルデータベースの演算に前記XML構成要素の演算が変形され得るかどうかを決定する前記ステップは、前記XML構成要素の演算に含まれるXPath式が、
各XMLノードがオブジェクト型列またはスカラー型列に対応する、子軸および属性軸上のXMLノードにのみ沿って進む単純なXPath式、
少なくとも１つのXMLノードが集合型列に対応する、子軸および属性軸上のXMLノードにのみ沿って進む集合トラバーサル式、
同じデータ型に全てが強制され得るXMLノードを生じるワイルドカード軸式、および
同じデータ型に全てが強制され得るXMLノードを生じる子孫軸式の少なくとも１つであるかどうかを決定するステップをさらに含む、請求項２７に記載の方法。
【請求項３０】
リレーショナルデータベースの演算に前記XML構成要素の演算が変形され得るかどうかを決定する前記ステップは、含まれるXPath式が、構造化されたクエリー言語（SQL）／XML関数によって用いられるかどうかを決定するステップをさらに含む、請求項２９に記載の方法。
【請求項３１】
前記SQL／XML関数はEXISTSNODE、EXTRACT、およびEXTRACTVALUEの少なくとも１つである、請求項３０に記載の方法。
【請求項３２】
リレーショナルデータベースの演算に前記XML構成要素の演算が変形され得るかどうかを決定する前記ステップは、前記含まれるXPath式が、SELECTリスト、WHERE句述部、GROUP BY式、ORDER BY式、FROM句、およびHAVING句の少なくとも１つにおけるSQLクエリーの前記SQL／XML関数によって用いられるかどうかを決定するステップをさらに含む、請求項３０に記載の方法。
【請求項３３】
リレーショナルデータベースの演算に前記XML構成要素の演算が変形され得るかどうかを決定する前記ステップは、前記含まれるXPath式が、XML SQL CREATE INDEXコマンドのINDEX句の前記SQL／XML関数によって用いられるかどうかを決定するステップをさらに含む、請求項３０に記載の方法。
【請求項３４】
前記XML構成要素の演算を書き換える前記ステップは、SQLオブジェクト型アクセス機構およびSQLスカラー型アクセス機構の少なくとも１つとして単純なXPathトラバーサルを書き換えるステップをさらに含む、請求項２９に記載の方法。
【請求項３５】
演算を書き換える前記ステップは、含まれるXPath式の述部をSQL WHERE句の述部として書き換えるステップをさらに含む、請求項２７に記載の方法。
【請求項３６】
前記XML構成要素の演算を書き換える前記ステップは、前記XPath式のターゲットに対応するオブジェクト型に対するIS NOT NULL試験として、前記データベースコマンドのXPath式のEXISTNODE関数を書き換えるステップをさらに含む、請求項２７に記載の方法。
【請求項３７】
前記XML構成要素の演算を書き換える前記ステップは、集合に対応する集合テーブルに対するサブクエリーとして集合のXPathトラバーサルを書き換えるステップをさらに含む、請求項２７に記載の方法。
【請求項３８】
前記XML構成要素の演算が変形され得るかどうかを決定する前記ステップは、前記XML構成要素の演算に含まれるXPath式の１つの位置ステップを各々が表わすXPath演算子のツリーに前記XML構成要素の演算を拡張するステップをさらに含む、請求項２７に記載の方法。
【請求項３９】
前記XML構成要素の演算を書き換える前記ステップは、前記集合テーブルに対する前記サブクエリーのWHERE句に対し、前記集合の前記XPathトラバーサルの述部を加えるステップをさらに含む、請求項３７に記載の方法。
【請求項４０】
実行されたときに、請求項１〜請求項３９のいずれか１項に記載の方法を１つ以上のプロセッサに行なわせる命令を携える、コンピュータ読取可能な媒体。