JP2006053724A - Xmlデータ管理方法 - Google Patents
Xmlデータ管理方法 Download PDFInfo
- Publication number
- JP2006053724A JP2006053724A JP2004234344A JP2004234344A JP2006053724A JP 2006053724 A JP2006053724 A JP 2006053724A JP 2004234344 A JP2004234344 A JP 2004234344A JP 2004234344 A JP2004234344 A JP 2004234344A JP 2006053724 A JP2006053724 A JP 2006053724A
- Authority
- JP
- Japan
- Prior art keywords
- search
- database
- stored
- structured document
- definition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】 XML文書−関係表間スキーママッピング定義の最適化および透過的な構造検索
【解決手段】 マッピング定義チューニングモジュール104は、構造検索式の発行履歴を参照して、発行頻度の高い検索処理の効率化を目的に、XML文書がリレーショナルデータベース105と構造検索エンジン106に適切に分解されて格納されるよう、スキーマ間マッピング定義109を変更する。構造検索式変換モジュール102は、スキーマ間マッピング定義109に基づいて構造検索式を変換する。クエリ実行制御モジュール103は、リレーショナルデータベース105と構造検索エンジン106それぞれにクエリを発行して、それぞれの結果から元の構造検索式に対する結果を再構成する。
【選択図】 図1
【解決手段】 マッピング定義チューニングモジュール104は、構造検索式の発行履歴を参照して、発行頻度の高い検索処理の効率化を目的に、XML文書がリレーショナルデータベース105と構造検索エンジン106に適切に分解されて格納されるよう、スキーマ間マッピング定義109を変更する。構造検索式変換モジュール102は、スキーマ間マッピング定義109に基づいて構造検索式を変換する。クエリ実行制御モジュール103は、リレーショナルデータベース105と構造検索エンジン106それぞれにクエリを発行して、それぞれの結果から元の構造検索式に対する結果を再構成する。
【選択図】 図1
Description
本発明は、データベース管理システムに関する。特にリレーショナルデータベース(あるいは関係データベース、以下、RDBという)を用いるXML(eXtensible Markup Language)文書の管理方法に係わり、特に一つのXML文書をXML構造検索エンジンとRDBに分解して管理する方法に係わり、特に該文書に対する検索履歴に基づいて分解方法を適宜改善しつつ、ユーザに対してはこの分解方法について透過的な構造検索インタフェースを提供する方法に関する。
現在、XML文書の管理に特化したネイティブXMLデータベース(NXDB)と呼ばれる製品がいくつか存在する。しかし、NXDB は何れも発展途上であり、一般に大量データの管理や集計処理の目的には性能的に不十分であるため、基幹系業務などには適さないとされている。XMLの基幹業務応用は、XBRL(eXtensible Business Reporting Language)などのビジネス関連のXML仕様の登場により今後の発展が期待されるため、大量のXML文書を十分な性能で処理可能な技術が必要とされている。一方、主要RDB製品においてもXML文書管理機能が提供されている。RDBは長年にわたる改良により大量データの処理にも十分耐えうる性能を提供するため、XMLの基幹系業務応用にも適していると言える。
主要RDB製品に関する代表的なXML文書管理方法については、非特許文献1および非特許文献2に記載されている。
非特許文献1の方法は、管理対象であるXML文書の文書スキーマと、RDBの関係表スキーマとの間の対応関係に従って、XML文書に含まれるタグ付けされたデータを構造分解して、複数の関係表に分けて値単位で格納する。このような格納方式を、以下、XML文書スキーマ−関係表スキーマ間のマッピング方式と呼ぶ。非特許文献1の方法は、XML文書スキーマの定義を元に、その定義に妥当であるXML文書を格納するための関係表スキーマの定義、および、該XML文書スキーマと該関係表スキーマとの間の対応関係の定義(以下、スキーママッピング定義という)を、自動的に作成する。またXMLの標準検索仕様XPath形式の構造検索式を、スキーママッピング定義に従って、関係表検索式(以下、SQL式という)に自動変換する。
非特許文献2の方法も、基本的にスキーママッピング方式である。ただしスキーママッピング定義は、RDBに格納されたデータからXML文書を構築する方向で、ユーザがマニュアルで定義する。またXMLの標準検索仕様XQuery形式の構造検索式を、スキーママッピング定義に従って、SQL式に自動変換する。
店ML Schemas in Oracle XML DB R. Murthy, S, Banerjee; VLDB2003
轍uerying XML Views of Relational Data J. Shanmugasundaram, et al., VLDB2001
一般に、RDBでのXML文書管理は、XML文書に含まれるタグ付けされたデータを構造分解して、複数の関係表に分けて値単位で格納する方式に則っている。このようなXML文書スキーマ−関係表スキーマ間のスキーママッピング方式には、XML文書を管理するうえで以下のような欠点が存在する:
(a)検索効率を考慮したマッピング定義
一般に、マッピング方法の違いによって検索性能は異なってくる。最適な検索性能を得るためには、マッピング定義のチューニングが必要であるが、ユーザにとってこの作業は大変な負担となる。
(b)非定型データの管理
XMLでは、厳密なスキーマ定義に従わない非定型部分データを文書中に含むことが可能であり、これによるデータ表現の柔軟性がXML利用拡大の大きな要因となっているが、RDBではこのようなデータをLOBとよばれる一次元の文字列データとして管理することになるため、その部分に対して高度な検索をかけることができない。
(c)複雑な構造を持つ文書の管理
XMLでは、木構造に基づいたデータモデルにより、複雑なデータ構造を表現することが可能である。一方、関係表は一次元の値の集まりを単位としてデータを管理するため、木構造のような複雑なデータは、複数の関係表間における外部参照関係によって表現しなくてはならない。しかし、XML文書スキーマの階層が深い場合は多数の関係表に分けて管理することになるため、検索効率および格納効率の点で望ましくない。このように、RDBとXMLとのデータモデルの違いに基づく関係表での管理が非効率的なXML文書が存在する。
(d)検索指定方法
関係表にスキーママッピングしたXML文書に対する検索は、そのマッピング定義に沿って定義される必要があるため、ユーザがマッピング定義を意識して関係表検索式(以下、SQL式)を記述する必要がある。また、(a)の課題にあげたように検索効率性を考慮してマッピング定義を変更した場合は、SQL式も記述し直す必要がある。一般に、ユーザにとっては、XML文書スキーマのみを意識して構造検索を指定できることが理想であり、XML文書の管理においては本来存在しないこれらの必要性は、ユーザにとって大変な負担となる。
(a)検索効率を考慮したマッピング定義
一般に、マッピング方法の違いによって検索性能は異なってくる。最適な検索性能を得るためには、マッピング定義のチューニングが必要であるが、ユーザにとってこの作業は大変な負担となる。
(b)非定型データの管理
XMLでは、厳密なスキーマ定義に従わない非定型部分データを文書中に含むことが可能であり、これによるデータ表現の柔軟性がXML利用拡大の大きな要因となっているが、RDBではこのようなデータをLOBとよばれる一次元の文字列データとして管理することになるため、その部分に対して高度な検索をかけることができない。
(c)複雑な構造を持つ文書の管理
XMLでは、木構造に基づいたデータモデルにより、複雑なデータ構造を表現することが可能である。一方、関係表は一次元の値の集まりを単位としてデータを管理するため、木構造のような複雑なデータは、複数の関係表間における外部参照関係によって表現しなくてはならない。しかし、XML文書スキーマの階層が深い場合は多数の関係表に分けて管理することになるため、検索効率および格納効率の点で望ましくない。このように、RDBとXMLとのデータモデルの違いに基づく関係表での管理が非効率的なXML文書が存在する。
(d)検索指定方法
関係表にスキーママッピングしたXML文書に対する検索は、そのマッピング定義に沿って定義される必要があるため、ユーザがマッピング定義を意識して関係表検索式(以下、SQL式)を記述する必要がある。また、(a)の課題にあげたように検索効率性を考慮してマッピング定義を変更した場合は、SQL式も記述し直す必要がある。一般に、ユーザにとっては、XML文書スキーマのみを意識して構造検索を指定できることが理想であり、XML文書の管理においては本来存在しないこれらの必要性は、ユーザにとって大変な負担となる。
上記のXML文書スキーマ−関係表スキーマ間スキーママッピング方式における(a)〜(d)の欠点を克服するために、本発明ではそれぞれ以下の課題を解決することを目的とする。
第一に、スキーママッピング定義の自動チューニング機能を提供すること。
第二に、従来LOBで管理していたような非定型部分データに対しても構造検索機能を提供すること。
第三に、関係表での管理が非効率的なデータを切り分けて、効率的な手段で管理すること。
第四に、XML文書の関係表への格納方法に関して、透過なXML文書の構造検索機能を提供すること。
まず、第二、第三の課題を解決するために、RDBの外部データベース、あるいはRDBのプラグインとして存在するXML構造検索エンジンと連携する。
従来、関係表のLOBカラムに格納していた非定型部分データを構造検索エンジンに格納することによって、第二の課題を解決する。関係表での管理が非効率的なデータも、代わりに構造検索エンジンで管理することによって、第三の課題を解決する。
また、第一の課題を解決するために、クエリ発行履歴を参照し、頻出クエリの検索性能効率化を指標として適切なスキーママッピング定義を導出するマッピング定義チューニングモジュールを導入する。第三の課題解決における関係表での管理が不適切なXML部分データの切り分けもこのモジュールで行う。
さらに、第四の課題を解決するために、XML文書に対する構造検索式を、スキーママッピング定義に基づいてSQL式に自動変換するクエリリライト機能を提供する。検索対象が構造検索エンジンで管理されている部分データにも及ぶ場合は、この検索エンジンへの検索式をUDF(User Define Function)として含むSQL式に変換する。このクエリリライトにより、ユーザは、第一〜第三の課題解決における、XML文書の関係表および構造検索エンジンへの格納方法の違いに対して、透過的に構造検索指定が可能となる。
XML文書スキーマ−関係表スキーマ間のスキーママッピング方式において、
(1)クエリ発行履歴に基づいて、検索処理コストを削減するようにスキーママッピング定義を自動的に改善することが可能である。
(2)非定型の部分データを構造検索エンジンで管理することによって、該部分データに対する構造検索が可能である。
(3)関係表での管理が非効率的なデータを切り分けて構造検索エンジンで管理することによって、非効率的な検索処理を回避することが可能である。
(4)クエリリライト機能により、XML文書の関係表および構造検索エンジンへの格納方法に関し、透過的にXML文書に対する構造検索を指定することが可能である。
(1)クエリ発行履歴に基づいて、検索処理コストを削減するようにスキーママッピング定義を自動的に改善することが可能である。
(2)非定型の部分データを構造検索エンジンで管理することによって、該部分データに対する構造検索が可能である。
(3)関係表での管理が非効率的なデータを切り分けて構造検索エンジンで管理することによって、非効率的な検索処理を回避することが可能である。
(4)クエリリライト機能により、XML文書の関係表および構造検索エンジンへの格納方法に関し、透過的にXML文書に対する構造検索を指定することが可能である。
以下、本発明の実施の一形態を、図面を参照しながら説明する。なお簡単のために、本明細書中では以下に述べる発明の実施の形態を単に「本実施例」と呼ぶことにする。
図1を用いて、本実施例の概略構成について説明する。
本実施例のシステムは、以下に挙げる4つのモジュールを基本構成要素として成立している:
・ タグ付き構造化文書−関係表間データ変換モジュール101
・ 構造検索式変換モジュール102
・ クエリ(問合せ)実行制御モジュール103
・ マッピング定義チューニングモジュール104
以下、それぞれのモジュールについて概説する。
・ タグ付き構造化文書−関係表間データ変換モジュール101
・ 構造検索式変換モジュール102
・ クエリ(問合せ)実行制御モジュール103
・ マッピング定義チューニングモジュール104
以下、それぞれのモジュールについて概説する。
タグ付き構造化文書−関係表間データ変換モジュール101は、タグ付き構造化文書(以下、XML文書という)107を構造分解してタグを取り除いたデータ本体を、リレーショナルデータベース(以下、RDBという)105の関係表のカラムに対応して属性値を格納する。ただし一部のXML文書については、タグが付いた部分木単位でXML文書専用の構造検索エンジン106に格納する。XML文書のうち、RDB105に格納する部分、格納先の関係表カラム、および構造検索エンジン106にタグごと格納する部分の区別は、タグ付き構造化文書スキーマ定義(以下、XML文書構造定義という)108、スキーマ間マッピング定義109、および関係表スキーマ定義110に従って決定される。
XML文書構造定義108はXML文書の構造定義を、関係表スキーマ定義110は関係表のスキーマ定義をそれぞれ表す。XML文書107は、XML文書構造定義108に対して妥当である必要があるし、RDB105に格納されている関係表201、202は、関係表スキーマ定義110に従って構成されている。スキーマ間マッピング定義109は、XML文書のノード値(タグで修飾された要素値、あるいは属性値)とそれを格納する関係表のカラムの対応付けを定義する。
構造検索式変換モジュール102は、XQuery、XPathなどのXMLの標準検索仕様に従ってユーザが定義した構造検索式111を、RDB105用の検索仕様であるSQL言語の検索式(以下、SQL式という)112に変換するモジュールである。この変換は、スキーマ間マッピング定義109に従って行われる。検索範囲が構造検索エンジンに格納した部分XML文書にも及ぶ場合には、SQL式112中に構造検索エンジン用の拡張関数(UDF)を埋め込んだ式に変換する。
クエリ実行制御モジュール103は、UDFを含んだSQL式112を、SQL部分とUDF部分に分離し、前者をRDB105に、後者を構造検索エンジン106に対して発行し、その結果を統合して、元の構造検索式111に対する結果113を構築するモジュールである。このモジュールは、RDB105にプラグイン処理機構がある場合は、その機能上で自然に実現される(この場合については、図3を用いて後述する)。
マッピング定義チューニングモジュール104は、ユーザの構造検索式111の発行履歴を参照して、頻出する検索式の処理の効率化を指標として、XML文書構造定義108を参照しつつ、スキーマ間マッピング定義109、および関係表スキーマ定義110を適宜更新する。関係表スキーマ定義110の更新に伴う関係表の変更は、RDB105の機能に任せる。
以下、図1に示すシステムを実現するためのハードウェア構成について説明する。本システムは、ハードウェア的にはCPU、メモリ、外部記憶装置、入力装置、表示装置などを備える1台又は複数台の計算機によって構成される。XML文書107、XML文書構造定義108、スキーマ間マッピング定義109および関係表スキーマ定義110は、ファイルとして記憶装置上に格納される。構造検索式111は、テキストエディタを介して入力装置から入力されるか、図示しないアプリケーションプログラムを介して生成され、メモリに格納される。結果113は、メモリに格納され、表示装置やプリンタに出力されるか、さらに処理のためにアプリケーションに渡されるデータである。構造検索エンジン106は、記憶装置に格納されるXML文書の木構造ファイルを有し、これらファイルを管理するためのデータベース・マネージメント・システムである。タグ付き構造化文書−関係表間データ変換モジュール101、構造検索式変換モジュール102、クエリ実行制御モジュール103およびマッピング定義チューニングモジュール104は、計算機のメモリに格納され、そのCPUによって実行されるプログラムである。RDB105は、記憶装置上に格納されるリレーショナルデータベースを有し、このデータベースを管理するためのデータベース・マネージメント・システムである。データ変換モジュール101、構造検索式変換モジュール102、クエリ実行制御モジュール103およびマッピング定義チューニングモジュール104の一部又は全部がRDB105に組み込まれて実装されてもよい。これらモジュール、RDB105および構造検索エンジン106は、同一の計算機上で実行されてもよいし、その一部又は全部がネットワークを介して異なる計算機上で実行されてもよい。また本システムは、クライアント−サーバ型のシステムで実現されてもよい。
以上が、本実施例の概略である。以降、本実施例における、データ変換モジュール101の動作概要を図2で、構造検索式変換モジュール102の動作概要を図3で、クエリ実行制御モジュール103の動作概要を、実現方法のバリエーション別に図3、図4、図5を用いて説明する。
図2を用いて、データ変換モジュール101の動作について説明する。本説明では、XML文書構造定義108に対して妥当であるXML文書107をRDB105に格納する場合を例にとる。XML文書構造定義108は、ルート要素xの下に複数のi要素が出現し、各i要素は属性a,bを持ち、さらにその下には複数のj要素が出現し、各j要素は属性a,b,cを持ち、さらにその下には複数のk要素が出現し、各k要素は属性a,bを持つことを表している。strは文字列を示す。×0…nは、対応する要素が0個からn個まで出現可能なことを示す。また、各j要素の下には、k要素以外にも任意の要素が登場し得ることを{ANY}で示す。なお、図2のXML文書構造定義108の記法は実施例を限定するものではなく、同様の意味を表現し得るXML文書構造の定義仕様であれば、どのような記法でも適用可能である。例えば、XML文書の標準的な文書構造定義仕様であるDTD(Document Type Definition)では、上記と同様の文書構造定義を以下のように表現する:
<!ELEMENT x i*>
<!ELEMENT i j*>
<!ATTLIST i
a CDATA #REQUIRED
b CDATA #REQUIRED>
<!ELEMENT j ANY>
<!ATTLIST j
a CDATA #REQUIRED
b CDATA #REQUIRED
c CDATA #REQUIRED>
<!ELEMENT k EMPTY>
<!ATTLIST k
a CDATA #REQUIRED
b CDATA #REQUIRED>
一方、XML文書107を格納する関係表201、202、および203のスキーマは、関係表スキーマ定義110で与えられる。この例では、関係表iがa,b,idの3つのカラムを、関係表jがpid,a,b,c,w,idの6つのカラムを、関係表kがpid,a,b,idの4つのカラムを持つことをそれぞれ表現している。ここでidとpidは親と子のつながりを示す識別子である。idは自身を親とする識別子、pidは子に設けられる識別子であり、どの親に接続するかを示す識別子である。idとpidが同一である場合に親子関係の接続があることを示す。なお、図2の関係表スキーマ定義110の記法は実施例を限定するものではなく、同様の意味を表現し得る関係表スキーマの定義仕様であれば、どのような記法でも適用可能である。例えば、一般に関係表のスキーマはSQL式で表作成時に定義するため、そのSQL式を関係表スキーマ定義110として利用できる。
<!ELEMENT x i*>
<!ELEMENT i j*>
<!ATTLIST i
a CDATA #REQUIRED
b CDATA #REQUIRED>
<!ELEMENT j ANY>
<!ATTLIST j
a CDATA #REQUIRED
b CDATA #REQUIRED
c CDATA #REQUIRED>
<!ELEMENT k EMPTY>
<!ATTLIST k
a CDATA #REQUIRED
b CDATA #REQUIRED>
一方、XML文書107を格納する関係表201、202、および203のスキーマは、関係表スキーマ定義110で与えられる。この例では、関係表iがa,b,idの3つのカラムを、関係表jがpid,a,b,c,w,idの6つのカラムを、関係表kがpid,a,b,idの4つのカラムを持つことをそれぞれ表現している。ここでidとpidは親と子のつながりを示す識別子である。idは自身を親とする識別子、pidは子に設けられる識別子であり、どの親に接続するかを示す識別子である。idとpidが同一である場合に親子関係の接続があることを示す。なお、図2の関係表スキーマ定義110の記法は実施例を限定するものではなく、同様の意味を表現し得る関係表スキーマの定義仕様であれば、どのような記法でも適用可能である。例えば、一般に関係表のスキーマはSQL式で表作成時に定義するため、そのSQL式を関係表スキーマ定義110として利用できる。
上記のXML文書構造定義108および関係表スキーマ定義110に基づいて、両定義間の値の対応付けを定義するのが、スキーマ間マッピング定義109である。1行目の「/x/i/@a⇔i.a」は、XML文書107のi要素の属性aの値を、関係表i(201)のカラムaに格納することを表現している。2,4,5,6,8,9行目も同様である。3行目の「/x/i/j/..⇔j.pid=i.id」は、j要素の親を関係表j(202)のカラムpidで示し、関係表i(201)のカラムidを外部参照していることを表現している。7行目も同様に、関係表k(203)と関係表j(202)の間の外部参照を表現している。10行目は、XML文書構造定義108において定義されていないj要素の部分内容を関係表j(202)のカラムwに格納することを示している。ただし実際にはその部分構造は、タグごと構造検索エンジン106に格納され、その格納イメージ204に対して構造検索エンジン106上で付されたファイルのID(この例ではxi−a)のみが関係表j(202)のカラムwに格納される。
データ変換モジュール101は、まず関係表スキーマ定義110に基づきRDB105を介してその記憶領域内に関係表i,j,kの各領域を確保する。次にデータ変換モジュール101は、XML文書107からi,j,k又はo要素の1つを取り出し、XML文書構造定義108を参照して取り出した要素の形式がそのスキーマ定義に合致するか否かチェックする。定義に合致すれば、データ変換モジュール101は、スキーマ間マッピング定義109を参照して取り出した要素の各属性の属性値をRDBの該当する関係表の1レコードとして格納し、そのレコードのidとpidを設定する。idはその関係表のレコード位置に応じた識別子を生成して設定する。pidにはメモリに保存された親要素のidがあればそのidを格納する。次にデータ変換モジュール101は、当該要素の要素名とそのidをメモリに一時保存する。データ変換モジュール101は、XML文書107からo要素を取り出したとき、XML文書構造定義108を参照して取り出した要素がANYに相当することを認識し、関係表jの該当するレコードのカラムに構造検索エンジン106で指定されたファイルIDを設定し、取り出したo要素にjのタグを付けた部分構造を構造検索エンジン106に送る。構造検索エンジン106は、受け取った部分構造をその記憶領域に格納イメージ204として格納する。データ変換モジュール101は、XML文書107のすべての要素を取り出し終わるまでXML文書107から次の要素を取り出すステップに戻って上記処理を繰り返す。
図3を用いて、構造検索式変換モジュール102の動作について説明する。本説明では、図2の例で取り上げたXML文書構造定義108、スキーマ間マッピング定義109、および関係表スキーマ定義110に従って、データ変換モジュール101によりRDB105の関係表201、202、203、および構造検索エンジン106に格納イメージ204として格納されたXML文書107に対して、XQuery標準に従って記述された構造検索式111を処理する場合を例にとる。
構造検索式111は、FOR句により変数$iにi要素名を代入する。従って、WHERE句はi要素の属性aが“xx19”であり、そのi要素は、属性bが“xx22”であるようなj要素を子要素として持ち、さらにそのj要素は、属性uが“xx24”であるようなo要素を子要素として持つことを条件としている。さらに、上記の条件で抽出したi要素全体を結果として取得することを要求している。
構造検索式変換モジュール102は、スキーマ間マッピング定義109を参照して、上記の意味を持つ構造検索式111を構造指定UDFを含むSQL式112に変換する。マッピング定義109に従うと、上記の検索式の意味は、関係表i(201)のカラムa,関係表j(202)のカラムb,および、関係表j(202)のカラムwに対して条件を指定していることと等価である。o要素はj要素の子要素としては定義されていないため、マッピング定義109の10行目を適用して、関係表j(202)のカラムwに対する条件となる。但し、このカラムは構造検索エンジン106に格納されたイメージ204への参照であるため、この条件は構造指定UDFで表現される。
以上から、構造検索式111を変換したクエリ112は、関係表i(201)から、カラムaが“xx19”であるようなレコードを抽出し、関係表j(202)のレコードから、カラムbが“xx22”、かつ、カラムwで参照される構造検索エンジン106の格納イメージ(204)が、属性uの値=“xx24”であるようなo要素を含んでいるようなレコードを抽出し、さらに両レコードの間に外部参照関係が成り立っていることを条件として指定するSQL式として生成される。関係表j(202)のカラムwに対する構造指定は、XMLHASというUDFで表現される。これは、第一引数で指定したカラムの値が指し示す構造検索エンジン106上の格納イメージが、第二引数で指定したXPath構造式にマッチする部分データを含むか否かを判定するブール関数である。
また構造検索式111は、上記の条件を満たすi要素全体を結果として取得することを要求しているため、SQL式112のSELECT句には、XMLVALというXML文書構築UDFを指定する。これは、引数でID指定された要素について、全ての子孫要素をRDB105および構造検索エンジン106から抽出して、XML文書を再構築して返すスカラ関数である。
図3〜図5を用いて、クエリ実行制御モジュール103の動作を説明する。
図3は、RDB105がプラグイン処理機構301を持つ場合を示している。この場合、クエリ実行制御モジュール103が実現すべき機能はRDB105に組み込まれていることになる。ここでは、説明のためにこの機能を単独で実現するプログラムをクエリ実行制御モジュールと呼び、RDB105自身と区別する。クエリ実行制御モジュール103は、UDFを含むSQL式112をネイティブなSQL部とUDF部に分離し、RDB105がSQL部を処理し、プラグイン処理機構301がUDF部を処理する。構造指定UDFであるXMLHASは、実際には構造検索エンジン106で処理されるため、ほとんどの構造検索エンジンが対応している構造検索仕様XPathのクエリ302として、該エンジンに対して発行する。但し、XMLHASがRDB105に組込みのプラグインとして実現されている場合は、RDB105上で直接この構造指定UDFを実行する。XML文書構築UDFであるXMLVALも、プラグイン処理機構301上で実行する。
クエリ実行制御モジュール103は、クエリを実行する際に、先に構造検索エンジン106に対する条件でデータを絞るか、あるいは関係表に対する条件でデータを絞るか、クエリの処理効率を指標にして決定する。
SQL式112を例にとると、前者の場合は、まずXMLHASの条件判定に適合する構造検索エンジン106上の格納イメージ204を抽出し、そのID(この例ではxi−a)と関係表j(202)のカラムwの値が一致することも条件に含めて、関係表201,202からデータを抽出することになる。
一方、後者の場合は、まず関係表i(201)のカラムaと関係表j(202)のカラムb、および関係表i(201)のカラムidと関係表j(202)のカラムpidの間の外部参照関係を条件にデータを絞り、抽出した関係表j(202)のレコードのカラムwの値が指し示す、構造検索エンジン106上の格納イメージ204に対してXMLHASによる条件判定を行う。
上記のようなクエリ実行手順の決定は、一般的なRDB105が備える実行計画決定処理により最適化される。従って、プラグイン処理機構301を備えるRDB105を利用する場合は、クエリ実行制御モジュール103を新たに設ける必要はない。
一方、RDB105にプラグイン処理機構301が備わっておらず、クエリ実行制御モジュール103をRDB105の外部に設ける必要がある場合の動作概要について、図4、図5を用いて説明する。クエリ実行制御モジュール103をRDB105の外に新たに設ける場合、上記のようなクエリ実行手順も独自に決定する必要がある。
図4を用いて、先に構造検索エンジン106に対する条件でデータを絞る場合について説明する。クエリ実行制御モジュール103がUDFを含むSQL式112を受けとると、該モジュール内のUDF分離処理401がネイティブなSQL式403とUDF部に分離する。次にクエリ実行制御モジュール103は、UDF部を構造検索エンジン106に対するXPath検索式302として発行し(丸付き数字1)、この式にマッチするデータを含む格納イメージ204のID(この例ではxi−a)を獲得し、RDB105に一時表x(404)として格納する。次にクエリ実行制御モジュール103は、関係表j(202)のカラムwに格納されているIDが、この一時表xに含まれることも条件にして、SQL式403により関係表201,202からデータを抽出する(丸付き数字2)。ただしSQL式403のxは、一時表xを意味し、x.idは一時表xのidカラムを意味する。SQL式403による検索の結果として、クエリ実行制御モジュール103にはi.idとして“r02”というデータが返る。
このようにしてタグ付き構造化文書再構成処理402は、抽出したIDを持つi要素を関係表201〜203および構造検索エンジン106の格納イメージ204のデータから再構成する。このため、タグ付き構造化文書再構成処理402は、スキーマ間マッピング定義109を参照して関係表よりデータを抽出するSQL式405〜407を作成し、これらのSQL式をRDB105に対して発行する(丸付き数字3)。これらは、関係表間の外部参照関係に基づき、抽出したID“r02”を持つi要素の全子孫要素を抽出するものである。ここでSQL式405のiidには“r02”が代入される。jidには何も代入されず、結果的にはSQL式407の結果は返らない。本例の場合にはSQL式407がなくても構わない。一方、i要素は一部に構造検索エンジン106に保存された格納イメージ204のデータも含むため、タグ付き構造化文書再構成処理402は、それを取得するためのクエリ408を、構造検索エンジン106に対して発行し(丸付き数字3’)し、格納イメージ204を取得する。タグ付き構造化文書再構成処理402は、XML文書構造定義108、スキーマ間マッピング定義109および関係表スキーマ定義110を参照し、抽出したデータと格納イメージ204からXML文書を再構成し、結果113を得る(丸付き数字4)。
図5を用いて、先に関係表201,202に対する条件でデータを絞る場合について説明する。この場合、UDF分離処理401は、UDFを含むSQL式112を、ネイティブSQL式502のようなクエリに分離する。クエリ実行制御モジュール103は、このSQL式をRDB105に発行し(丸付き数字1)、関係表201,202に対する条件でデータを絞る。その際に、関係表j(202)のカラムwの値も同時に抽出する。クエリ実行制御モジュール103は、i.idとして“r02”、j.wとして“xi−a”という値を受け取る。構造判定処理501は、SQL式502の結果を受け取り、格納イメージID“xi−a”とXPath式302を構造検索エンジン106に送り(丸付き数字2)、これらの条件に合う格納イメージが構造検索エンジン106に登録されているか否かを判定する。構造検索エンジン106に該当するデータがあれば、格納イメージID“xi−a”をタグ付き構造化文書再構成処理402に渡す。以降の処理は、図4の場合と同一である。
なお、以上の説明では、構造検索式変換モジュール102とクエリ実行制御モジュール103を区別して説明したが、これらは一つのモジュールとして実現されていても構わない。その場合は、UDFを含むSQL式112を生成せずに、構造検索式111から直接SQL式403、502に変換するような実施例もあり得ることは自明である。
以降、本実施例におけるマッピング定義チューニングモジュール104が行う具体的なマッピング定義改善の処理手順について、図6、図7(a)、図7(b)、図8を用いて説明する。
図6を用いて、XML文書構造定義で明示的に定義されていない部分データについての検索頻度が所定数を越える場合の、マッピング定義改善処理について説明する。
システムは、タグ付き構造化文書に対する構造検索式の発行履歴を図示しない検索履歴データベースに記録する。マッピング定義チューニングモジュール104は、検索履歴データベースを参照し、同一のUDFについての構造検索式の発行頻度を計数する。図2〜図5の例における構造検索式111中のo要素についての条件指定のように、XML文書構造定義に登場せず、従って明示的にスキーマ間マッピングを定義していない部分に対して検索が頻出する場合、マッピング定義チューニングモジュール104は、この部分を格納する関係表とマッピング定義を自動的に生成する。
RDBの検索処理性能は、長年の改良の結果、一般的な構造検索エンジンに比べ高速であり、また他の関係表データに対するのと同時に条件指定することを考慮した場合、データは、RDB外部の構造検索エンジンではなく、可能な限り関係表で管理した方が効率的に優れるため、このようなマッピングの変更は性能改善に繋がる。
本例では、マッピング定義チューニングモジュール104は、RDB105上に関係表o(601)を新規に作成し、関係表j(202)との間に外部参照関係を規定する。この時、関係表スキーマ定義110は、関係表スキーマ定義603に変更される。関係表oは、カラムpid,u,v,idの4つのカラムを持つと定義される。同時に、スキーマ間マッピング定義109は、スキーマ間マッピング定義604に変更される。マッピング定義チューニングモジュール104は、マッピング定義109の10行目にあった未定義部分を構造検索エンジンにマッピングすることを表す記述を削除し、新たに10行目に関係表jと関係表oの外部参照関係を表す記述、および11,12行目に、o要素の各属性と関係表oの各カラムとの対応を表す記述を追加する。またマッピング定義チューニングモジュール104は、XML文書構造定義108の{ANY}を<o u=“str” b=“str”/>×0…nに変更する。
マッピング定義チューニングモジュール104が実行する処理手順の詳細は次の通りである。マッピング定義チューニングモジュール104は、スキーマ間マッピング定義109の各定義レコードをたどり、XML文書構造定義108に定義されていない要素の部分内容を見つける。次にマッピング定義チューニングモジュール104は、関係表スキーマ定義110を参照してその部分内容に定義された関係表とカラムの識別子を取得する。次にマッピング定義チューニングモジュール104は、RDB105に対してSQL検索式を送付し、その関係表とカラム位置の属性値を取得する。その属性値が構造検索エンジン106のファイルIDを示しているので、マッピング定義チューニングモジュール104は、構造検索エンジン106からその格納イメージ204を取得する。次にマッピング定義チューニングモジュール104は、RDB105を介してその記憶領域内に関係表oの記憶領域を確保する。次にマッピング定義チューニングモジュール104は、上記のデータ変換モジュール101の処理手順に従って格納イメージ204からo要素を取り出し、RDB105を介して関係表oを作成する。次にマッピング定義チューニングモジュール104は、関係表スキーマ定義110に関係表oの定義を追加し、関係表スキーマ定義110を関係表スキーマ定義603に更新する。次にマッピング定義チューニングモジュール104は、スキーマ間マッピング定義109に関係表oについてのマッピング定義を追加し、スキーマ間マッピング定義109をスキーマ間マッピング定義604に更新する。次にマッピング定義チューニングモジュール104は、XML文書構造定義108の定義文をたどり、未定義の要素を見つけ、o要素の定義に置き換える。次にマッピング定義チューニングモジュール104は、構造検索エンジン106から格納イメージ204を削除する。
以上の変更が加えられたマッピング定義においては、構造検索式111は、構造検索式変換モジュール102によって、SQL式602に変換されることになる。このSQL式は、構造指定UDFを含まないため、RDB105で処理するのに望ましい形となっている。
図7(a)及び図7(b)を用いて、再帰的な構造を持つXMLデータ管理の改善を実現する処理手順について説明する。図7(a)に示すように、XML文書701は、XML文書構造定義702に妥当である、自己再帰的な構造を持つ。すなわちj要素の子要素としてj要素自身が複数出現する。このようなXML文書の関係表への格納方法は、スキーマ間マッピング定義703、および関係表スキーマ定義704によって定義される。マッピング定義703の3行目は、j要素の親はi要素かj要素であり、その区別を関係表jのカラムprlの値(“i”または“j”)で表現することを意味している。XML文書701の格納先となる関係表は、関係表i(705)および関係表j(706)の2つで、関係表iと関係表jの間の外部参照関係、および関係表j内部での自己参照関係が規定されている。
一方、構造検索式707は、属性aの値が“xx01”であるi要素の子孫要素として任意の階層に出現する、属性aの値が“xx18”であるようなj要素を抽出することを要求している。このことをSQL式で表現するには、再帰クエリを利用する必要がある。構造検索式707は、構造検索式変換モジュール102によって、SQL式708に変換される。このSQL式は、再帰的に関係表j(706)の自己参照関係を辿って、一時表tmpに、i要素の全ての子孫を抽出して行く再帰クエリである。
しかし、一般的にRDBの再帰クエリは効率の悪い処理であり、このような構造検索式が頻出する場合には、上記のようなマッピング定義は好ましくない。
これに対し、再帰構造を持つXML部分データを、敢えて構造検索エンジン106に格納することで改善を図る。一般的に構造検索エンジンは、階層の深いデータに対しても妥当な性能で検索処理が可能であるように設計されているため、関係表で管理するよりも効率が良い場合がある。
図7(b)に示すスキーマ間マッピング定義709は、上記のスキーマ間マッピング定義703における3〜6行目のj要素を関係表j(706)に対応付けている記述を削除し、新たに3行目に、i要素の子孫を全て構造検索エンジン106に格納する記述を追加している。関係表スキーマ定義710は、関係表i(705)に構造検索エンジン106での格納イメージのIDを格納するカラムwを追加している。
以上のマッピング定義においては、XML文書701は、関係表705および構造検索エンジン106の格納イメージ711,712に分解して格納される。また構造検索式707は、構造検索式変換モジュール102によって、UDFを含むSQL式713に変換される。SQL式713は、SQL式708と比較して再帰を含まないシンプルなクエリとなっており、RDB105と構造検索エンジン106の適切な使い分けが成される。
なお、以上のようなRDB105での管理が非効率的であるXML文書を、敢えて構造検索エンジンに格納するように変更する改善手法は、再帰構造を持つXML文書以外でも適用可能である。例えば、階層の深いXML文書を関係表に格納する場合は、多数の関係表を定義してその間の外部参照関係を規定することになるが、このような関係表に対して構造検索をかける場合は、外部参照関係の条件を全てSQL式に加えなくてはならない。このような条件は、RDBにおいては検索コストの高いジョイン操作として処理されるため効率が悪い。このような場合に対しても、図7(b)のようなマッピング定義チューニング手法を適用することによって、検索効率を改善することが可能である。
階層の深いXML文書のマッピング定義の改善には、構造検索エンジンを用いない別の手法もある。図8を用いてこれを説明する。構造検索式801は、i要素、その子要素であるj要素、さらにその子要素であるk要素に関する条件を指定するクエリである。スキーマ間マッピング定義109を用いる場合には、この構造検索式は構造変換モジュール102によってSQL式803に変換されることになる。このSQL式には、二つのジョイン操作、“i.id=j.pid”、および“j.id=k.pid”の条件が含まれることになる。これに対し、関係表k(203)を関係表k(802)のように、関係表i(201)のカラムaと関係表j(202)のカラムcの値もレコードに含むように更新することによって、同じ構造検索式を関係表k(802)のみに対するクエリとして実行することが可能となる。
関係表スキーマ定義110、およびスキーマ間マッピング定義109は、それぞれ関係表スキーマ定義805、スキーマ間マッピング定義806に更新されることになる。スキーマ間マッピング定義806の1行目は、i要素の属性aの値を関係表k(802)のカラムiaにも格納することを表現している。6行目も同様である。以上のマッピング定義においては、構造検索式801は、構造検索式変換モジュール102によって、SQL式804に変換される。該検索式はジョイン操作を含まないため検索コストが低い。
複数の構造検索式の効率化を目的とする場合は、全ての構造検索式のパスの和を取って、上記と同様のマッピング定義改善手法を適用することが可能である。例えば、以下の構造検索式全てに関して効率化を図る場合:
・ /x/i[@a=“..”]//k[@a=“..”]
・ //j[@c=“..”]/k[@b=“..”]
・ //i[@a=“..” and @b=“..”]/j[@c=“..”]/k
i要素の属性a,b、およびj要素の属性cの値を含むように関係表kを更新する。
・ /x/i[@a=“..”]//k[@a=“..”]
・ //j[@c=“..”]/k[@b=“..”]
・ //i[@a=“..” and @b=“..”]/j[@c=“..”]/k
i要素の属性a,b、およびj要素の属性cの値を含むように関係表kを更新する。
このようなマッピング変更は、関係表の正規化を崩すことにあたり、一つの値を複数のカラムで管理することになるため、データの更新時にはオーバヘッドとなる。マッピング定義チューニングモジュール104は、更新クエリの発行履歴も併せて参照し、参照系クエリと更新系クエリの発行頻度の兼ね合いに応じて、このマッピング定義改善手法を適用するか否かを決定する。
なお、以上の説明で用いたスキーマ間マッピング定義の記法は実施例を限定するものではなく、同様の意味を表現し得る定義仕様であれば、どのような記法でも適用可能である。また、以上は、XML文書の管理方法として説明したが、本実施例における方法は、SGML、HTMLに代表されるタグ付き構造化文書一般の管理方法としても適用可能であることは自明である。
101...タグ付き構造化文書−関係表間データ変換モジュール,102...構造検索式変換モジュール,103...クエリ実行制御モジュール,104...マッピング定義チューニングモジュール,105...リレーショナルデータベース,106...構造検索エンジン,107/701...タグ付き構造化文書,108/702...タグ付き構造化文書スキーマ定義,109/604/703/709/806...スキーマ間マッピング定義,110/603/704/710/805...関係表スキーマ定義,111/707/801...構造検索式,112/602/708/713/803/804...リライト結果のクエリ,113...(構造検索式の)結果,201〜203/601/705/706/802...関係表,204/711/712...(構造検索エンジンに対する部分XML文書の)格納イメージ
Claims (8)
- 木構造型のタグ付き構造化文書を、関係データベース、および構造検索専用データベースを用いて管理する方法において、
構造化文書格納定義に従って、単一の構造化文書を、関係データベースに格納する第1の構造部分と、構造検索専用データベースに格納する第2の構造部分に分解し、
該第1の構造部分について、タグを取り除いたデータ自体を抽出して、該格納定義で対応付けられた関係表のカラムに格納し、
該第2の構造部分について、タグを含んだまま構造検索専用データベースに格納し、
元の構造化文書に対する構造検索式を、該格納定義に従って、該関係データベース用の第1の検索式と、該構造検索専用データベース用の第2の検索式に変換し、
該関係データベースに対して該第1の検索式を発行して、その結果を受け取り、該構造検索専用データベースに対して該第2の検索式を発行して、その結果を受け取り、
両結果から、該構造検索式に対する結果と等価な構造化文書を構築する手順を有することを特徴とするXMLデータ管理方法。 - 木構造型のタグ付き構造化文書を、関係データベース、および構造検索専用データベースを用いて管理する方法において、
構造化文書格納定義に従って、単一の構造化文書を、関係データベースに格納する第1の構造部分と、構造検索専用データベースに格納する第2の構造部分に分解し、
該第1の構造部分について、タグを取り除いたデータ自体を抽出して、該格納定義で対応付けられた関係表のカラムに格納し、
該第2の構造部分について、タグを含んだまま構造検索専用データベースに格納し、
元の構造化文書に対する構造検索式を、該格納定義に従って、該関係データベース用の第1の検索式と、該構造検索専用データベース用の第2の検索式に変換し、
該第2の検索式をそれと同等の構造検索処理を実行する該第1の検索式に埋め込み可能な、関係データベース検索式拡張関数で表現し、
該拡張関数を該第1の検索式に埋め込んだ拡張関数付き関係データベース用検索式を生成し、
該拡張関数付き関係データベース用検索式を、該関係データベースに対して発行し、該構造検索
式に対する結果と等価な構造化文書を取得することを特徴とするXMLデータ管理方法。 - タグ付き構造化文書に対する構造検索式の発行履歴を記録し、
発行頻度の高い検索式の検索処理効率を指標として、
構造化文書格納定義、および、関係表のスキーマ定義を更新することを特徴とする請求項1に記載のXMLデータ管理方法。 - タグ付き構造化文書の中で、該構造検索専用データベースに格納された部分構造化文書に対する同一の構造検索式の発行頻度が所定数を越える場合に、
該構造検索専用データベースに格納された該部分構造化文書を格納する関係表を新規に作成し、
該構造化文書格納定義に、該部分構造化文書と、該新規に作成した関係表との対応付けを追記し、
該構造検索専用データベースに格納された該部分構造化文書を、該新規に作成した関係表に格納し直すことを特徴とする請求項3に記載のXMLデータ管理方法。 - タグ付き構造化文書の中で、あるタグで示される要素が該タグと同型の要素を子要素として持つ自己再帰的な構造を持ち、
かつ該タグのデータが関係データベースに格納されており、
かつ該タグに対する階層の深さを問わない同一の構造検索式が出現する場合に、
該自己再帰的なデータを、構造検索専用データベースに格納し直すことを特徴とする請求項3に記載のXMLデータ管理方法。 - タグ付き構造化文書の中で、関係表データベースに格納されたデータに対する多段の階層を指定した同一の構造検索式が出現する場合に、
該データを構造検索専用データベースに格納し直すことを特徴とする請求項3に記載のXMLデータ管理方法。 - タグ付き構造化文書の中で、関係表データベースに格納されたデータに対する多段の階層を指定した同一の構造検索式が出現する場合に、
該構造検索式に登場する全階層のデータを並べたカラムを持つ単一の関係表を新規に作成し、
該データを該新規に作成した関係表に格納し直すことを特徴とする請求項3に記載のXMLデータ管理方法。 - タグ付き構造化文書の中で、関係表データベースに格納されたデータに対する多段の階層を指定した同一の構造検索式が複数出現する場合に、
該複数の構造検索式に登場する全階層のデータの和集合を並べたカラムを持つ単一の関係表を新規に作成し、
該データを、該新規に作成した関係表に格納し直すことを特徴とする請求項3に記載のXMLデータ管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004234344A JP2006053724A (ja) | 2004-08-11 | 2004-08-11 | Xmlデータ管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004234344A JP2006053724A (ja) | 2004-08-11 | 2004-08-11 | Xmlデータ管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006053724A true JP2006053724A (ja) | 2006-02-23 |
Family
ID=36031175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004234344A Pending JP2006053724A (ja) | 2004-08-11 | 2004-08-11 | Xmlデータ管理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006053724A (ja) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008041082A (ja) * | 2006-07-12 | 2008-02-21 | Hitachi Ltd | 処理装置及びプログラム |
JP2011018322A (ja) * | 2009-07-09 | 2011-01-27 | Internatl Business Mach Corp <Ibm> | 電子文書のレコード宣言を自動化するためのシステム、方法およびコンピュータ・プログラム |
JP2011076557A (ja) * | 2009-10-02 | 2011-04-14 | Pronexus Inc | 企業財務情報データベースおよび企業財務情報提供システム |
JP2013196086A (ja) * | 2012-03-16 | 2013-09-30 | Fujitsu Ltd | 構成情報管理装置,構成情報管理プログラム |
WO2014109009A1 (ja) * | 2013-01-09 | 2014-07-17 | 株式会社日立製作所 | データベースの管理方法、管理計算機及び記憶媒体 |
US8959122B2 (en) | 2010-03-08 | 2015-02-17 | Hitachi, Ltd. | Data processing device |
US9087204B2 (en) | 2012-04-10 | 2015-07-21 | Sita Information Networking Computing Ireland Limited | Airport security check system and method therefor |
JP2015531937A (ja) * | 2012-08-30 | 2015-11-05 | シータス データ ビルギ イスレムレリ トゥカレット アー.エス. | 外部テーブルを伴う分散型データベースの操作 |
US9324043B2 (en) | 2010-12-21 | 2016-04-26 | Sita N.V. | Reservation system and method |
US9460572B2 (en) | 2013-06-14 | 2016-10-04 | Sita Information Networking Computing Ireland Limited | Portable user control system and method therefor |
US9460412B2 (en) | 2011-08-03 | 2016-10-04 | Sita Information Networking Computing Usa, Inc. | Item handling and tracking system and method therefor |
US9491574B2 (en) | 2012-02-09 | 2016-11-08 | Sita Information Networking Computing Usa, Inc. | User path determining system and method therefor |
JP2016539449A (ja) * | 2013-11-22 | 2016-12-15 | 杰 盛 | データベース実現方法 |
US10001546B2 (en) | 2014-12-02 | 2018-06-19 | Sita Information Networking Computing Uk Limited | Apparatus for monitoring aircraft position |
US10095486B2 (en) | 2010-02-25 | 2018-10-09 | Sita Information Networking Computing Ireland Limited | Software application development tool |
US10235641B2 (en) | 2014-02-19 | 2019-03-19 | Sita Information Networking Computing Ireland Limited | Reservation system and method therefor |
US10320908B2 (en) | 2013-03-25 | 2019-06-11 | Sita Information Networking Computing Ireland Limited | In-flight computing device for aircraft cabin crew |
KR20220052112A (ko) * | 2020-10-20 | 2022-04-27 | 대한민국(국가기록원) | 관계형 데이터베이스 보존 방법 및 시스템 |
-
2004
- 2004-08-11 JP JP2004234344A patent/JP2006053724A/ja active Pending
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008041082A (ja) * | 2006-07-12 | 2008-02-21 | Hitachi Ltd | 処理装置及びプログラム |
JP2011018322A (ja) * | 2009-07-09 | 2011-01-27 | Internatl Business Mach Corp <Ibm> | 電子文書のレコード宣言を自動化するためのシステム、方法およびコンピュータ・プログラム |
JP2011076557A (ja) * | 2009-10-02 | 2011-04-14 | Pronexus Inc | 企業財務情報データベースおよび企業財務情報提供システム |
US10095486B2 (en) | 2010-02-25 | 2018-10-09 | Sita Information Networking Computing Ireland Limited | Software application development tool |
US8959122B2 (en) | 2010-03-08 | 2015-02-17 | Hitachi, Ltd. | Data processing device |
US10586179B2 (en) | 2010-12-21 | 2020-03-10 | Sita N.V. | Reservation system and method |
US10586180B2 (en) | 2010-12-21 | 2020-03-10 | Sita N.V. | Reservation system and method |
US9324043B2 (en) | 2010-12-21 | 2016-04-26 | Sita N.V. | Reservation system and method |
US9460412B2 (en) | 2011-08-03 | 2016-10-04 | Sita Information Networking Computing Usa, Inc. | Item handling and tracking system and method therefor |
US9491574B2 (en) | 2012-02-09 | 2016-11-08 | Sita Information Networking Computing Usa, Inc. | User path determining system and method therefor |
US10129703B2 (en) | 2012-02-09 | 2018-11-13 | Sita Information Networking Computing Usa, Inc. | User path determining system and method therefor |
JP2013196086A (ja) * | 2012-03-16 | 2013-09-30 | Fujitsu Ltd | 構成情報管理装置,構成情報管理プログラム |
US9087204B2 (en) | 2012-04-10 | 2015-07-21 | Sita Information Networking Computing Ireland Limited | Airport security check system and method therefor |
US9667627B2 (en) | 2012-04-10 | 2017-05-30 | Sita Information Networking Computing Ireland Limited | Airport security check system and method therefor |
JP2015531937A (ja) * | 2012-08-30 | 2015-11-05 | シータス データ ビルギ イスレムレリ トゥカレット アー.エス. | 外部テーブルを伴う分散型データベースの操作 |
JP5873935B2 (ja) * | 2013-01-09 | 2016-03-01 | 株式会社日立製作所 | データベースの管理方法、管理計算機及び記憶媒体 |
WO2014109009A1 (ja) * | 2013-01-09 | 2014-07-17 | 株式会社日立製作所 | データベースの管理方法、管理計算機及び記憶媒体 |
US10320908B2 (en) | 2013-03-25 | 2019-06-11 | Sita Information Networking Computing Ireland Limited | In-flight computing device for aircraft cabin crew |
US9460572B2 (en) | 2013-06-14 | 2016-10-04 | Sita Information Networking Computing Ireland Limited | Portable user control system and method therefor |
JP2016539449A (ja) * | 2013-11-22 | 2016-12-15 | 杰 盛 | データベース実現方法 |
US10235641B2 (en) | 2014-02-19 | 2019-03-19 | Sita Information Networking Computing Ireland Limited | Reservation system and method therefor |
US10001546B2 (en) | 2014-12-02 | 2018-06-19 | Sita Information Networking Computing Uk Limited | Apparatus for monitoring aircraft position |
KR20220052112A (ko) * | 2020-10-20 | 2022-04-27 | 대한민국(국가기록원) | 관계형 데이터베이스 보존 방법 및 시스템 |
KR102453595B1 (ko) | 2020-10-20 | 2022-10-14 | (주)퍼스트정보 | 관계형 데이터베이스 보존 방법 및 시스템 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7634498B2 (en) | Indexing XML datatype content system and method | |
US6611843B1 (en) | Specification of sub-elements and attributes in an XML sub-tree and method for extracting data values therefrom | |
US7353222B2 (en) | System and method for the storage, indexing and retrieval of XML documents using relational databases | |
US6804677B2 (en) | Encoding semi-structured data for efficient search and browsing | |
US7178100B2 (en) | Methods and apparatus for storing and manipulating variable length and fixed length data elements as a sequence of fixed length integers | |
US6836778B2 (en) | Techniques for changing XML content in a relational database | |
US8886686B2 (en) | Making and using abstract XML representations of data dictionary metadata | |
US8219563B2 (en) | Indexing mechanism for efficient node-aware full-text search over XML | |
US6947945B1 (en) | Using an XML query language to publish relational data as XML | |
JP2006053724A (ja) | Xmlデータ管理方法 | |
US8126932B2 (en) | Indexing strategy with improved DML performance and space usage for node-aware full-text search over XML | |
US20100011010A1 (en) | Method and mechanism for efficient storage and query of xml documents based on paths | |
US20040163041A1 (en) | Relational database structures for structured documents | |
US20080235260A1 (en) | Scalable algorithms for mapping-based xml transformation | |
US20050187973A1 (en) | Managing XML documents containing hierarchical database information | |
US20200065314A1 (en) | A method, apparatus and computer program product for user-directed database configuration, and automated mining and conversion of data | |
Qtaish et al. | A narrative review of storing and querying XML documents using relational database | |
US7457812B2 (en) | System and method for managing structured document | |
Rys | State-of-the-art XML support in RDBMS: Microsoft SQL server's XML features | |
KR100678123B1 (ko) | 관계형 데이터베이스에서의 xml 데이터 저장 방법 | |
Noh et al. | A comparison of two approaches to utilizing XML in parametric databases for temporal data | |
JP4289022B2 (ja) | 構造化文書処理方法及び装置及び構造化文書処理プログラム及び構造化文書処理プログラムを格納した記憶媒体 | |
JP4724177B2 (ja) | Xmlデータにアクセスするためのインデックス | |
JP5439606B1 (ja) | 構造化文書管理装置、方法およびプログラム | |
JP5422751B1 (ja) | 構造化文書管理装置、方法およびプログラム |