JP2006053724A - Xml data management method - Google Patents
Xml data management method 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
Description
本発明は、データベース管理システムに関する。特にリレーショナルデータベース(あるいは関係データベース、以下、RDBという)を用いるXML(eXtensible Markup Language)文書の管理方法に係わり、特に一つのXML文書をXML構造検索エンジンとRDBに分解して管理する方法に係わり、特に該文書に対する検索履歴に基づいて分解方法を適宜改善しつつ、ユーザに対してはこの分解方法について透過的な構造検索インタフェースを提供する方法に関する。 The present invention relates to a database management system. In particular, the present invention relates to an XML (extensible Markup Language) document management method using a relational database (or relational database, hereinafter referred to as RDB), and more particularly to a method of managing one XML document by decomposing it into an XML structure search engine and RDB. In particular, the present invention relates to a method for providing a structure search interface that is transparent to a user while improving the decomposition method as appropriate based on a search history for the document.
現在、XML文書の管理に特化したネイティブXMLデータベース(NXDB)と呼ばれる製品がいくつか存在する。しかし、NXDB は何れも発展途上であり、一般に大量データの管理や集計処理の目的には性能的に不十分であるため、基幹系業務などには適さないとされている。XMLの基幹業務応用は、XBRL(eXtensible Business Reporting Language)などのビジネス関連のXML仕様の登場により今後の発展が期待されるため、大量のXML文書を十分な性能で処理可能な技術が必要とされている。一方、主要RDB製品においてもXML文書管理機能が提供されている。RDBは長年にわたる改良により大量データの処理にも十分耐えうる性能を提供するため、XMLの基幹系業務応用にも適していると言える。 Currently, there are several products called Native XML Database (NXDB) that specialize in managing XML documents. However, all NXDBs are in the process of development and generally are insufficient in performance for the purpose of managing a large amount of data and a totaling process, and are therefore not suitable for mission-critical tasks. Since the development of business-related XML specifications such as XBRL (extensible Business Reporting Language) is expected for the basic business application of XML, technology capable of processing a large amount of XML documents with sufficient performance is required. ing. On the other hand, XML document management functions are also provided in main RDB products. RDB provides performance that can withstand the processing of large amounts of data due to improvements over many years, so it can be said that RDB is also suitable for XML mission-critical business applications.
主要RDB製品に関する代表的なXML文書管理方法については、非特許文献1および非特許文献2に記載されている。
Non-Patent
非特許文献1の方法は、管理対象であるXML文書の文書スキーマと、RDBの関係表スキーマとの間の対応関係に従って、XML文書に含まれるタグ付けされたデータを構造分解して、複数の関係表に分けて値単位で格納する。このような格納方式を、以下、XML文書スキーマ−関係表スキーマ間のマッピング方式と呼ぶ。非特許文献1の方法は、XML文書スキーマの定義を元に、その定義に妥当であるXML文書を格納するための関係表スキーマの定義、および、該XML文書スキーマと該関係表スキーマとの間の対応関係の定義(以下、スキーママッピング定義という)を、自動的に作成する。またXMLの標準検索仕様XPath形式の構造検索式を、スキーママッピング定義に従って、関係表検索式(以下、SQL式という)に自動変換する。
According to the method of Non-Patent
非特許文献2の方法も、基本的にスキーママッピング方式である。ただしスキーママッピング定義は、RDBに格納されたデータからXML文書を構築する方向で、ユーザがマニュアルで定義する。またXMLの標準検索仕様XQuery形式の構造検索式を、スキーママッピング定義に従って、SQL式に自動変換する。
The method of Non-Patent
一般に、RDBでのXML文書管理は、XML文書に含まれるタグ付けされたデータを構造分解して、複数の関係表に分けて値単位で格納する方式に則っている。このようなXML文書スキーマ−関係表スキーマ間のスキーママッピング方式には、XML文書を管理するうえで以下のような欠点が存在する:
(a)検索効率を考慮したマッピング定義
一般に、マッピング方法の違いによって検索性能は異なってくる。最適な検索性能を得るためには、マッピング定義のチューニングが必要であるが、ユーザにとってこの作業は大変な負担となる。
(b)非定型データの管理
XMLでは、厳密なスキーマ定義に従わない非定型部分データを文書中に含むことが可能であり、これによるデータ表現の柔軟性がXML利用拡大の大きな要因となっているが、RDBではこのようなデータをLOBとよばれる一次元の文字列データとして管理することになるため、その部分に対して高度な検索をかけることができない。
(c)複雑な構造を持つ文書の管理
XMLでは、木構造に基づいたデータモデルにより、複雑なデータ構造を表現することが可能である。一方、関係表は一次元の値の集まりを単位としてデータを管理するため、木構造のような複雑なデータは、複数の関係表間における外部参照関係によって表現しなくてはならない。しかし、XML文書スキーマの階層が深い場合は多数の関係表に分けて管理することになるため、検索効率および格納効率の点で望ましくない。このように、RDBとXMLとのデータモデルの違いに基づく関係表での管理が非効率的なXML文書が存在する。
(d)検索指定方法
関係表にスキーママッピングしたXML文書に対する検索は、そのマッピング定義に沿って定義される必要があるため、ユーザがマッピング定義を意識して関係表検索式(以下、SQL式)を記述する必要がある。また、(a)の課題にあげたように検索効率性を考慮してマッピング定義を変更した場合は、SQL式も記述し直す必要がある。一般に、ユーザにとっては、XML文書スキーマのみを意識して構造検索を指定できることが理想であり、XML文書の管理においては本来存在しないこれらの必要性は、ユーザにとって大変な負担となる。
In general, XML document management in the RDB is based on a system in which tagged data included in an XML document is structurally decomposed and divided into a plurality of relational tables and stored in units of values. The schema mapping method between the XML document schema and the relational table schema has the following disadvantages in managing the XML document:
(A) Mapping definition in consideration of search efficiency Generally, the search performance varies depending on the mapping method. In order to obtain optimum search performance, tuning of the mapping definition is necessary, but this work is a heavy burden for the user.
(B) Management of atypical data In XML, it is possible to include atypical partial data that does not conform to a strict schema definition in a document, and the flexibility of data representation due to this becomes a major factor in expanding the use of XML. However, in RDB, such data is managed as one-dimensional character string data called LOB, so that it is not possible to perform an advanced search for that portion.
(C) Management of a document having a complicated structure In XML, a complicated data structure can be expressed by a data model based on a tree structure. On the other hand, since the relational table manages data in units of one-dimensional values, complicated data such as a tree structure must be expressed by an external reference relationship between a plurality of relational tables. However, when the XML document schema has a deep hierarchy, the XML document schema is managed by dividing it into a large number of relational tables, which is undesirable in terms of search efficiency and storage efficiency. As described above, there is an XML document that is inefficiently managed in the relational table based on the difference in data model between RDB and XML.
(D) Retrieval designation method Retrieval for an XML document schema-mapped to a relational table needs to be defined according to the mapping definition. Therefore, the user is aware of the mapping definition and the relational table retrieval expression (hereinafter, SQL expression). Need to be described. Further, when the mapping definition is changed in consideration of the search efficiency as described in the problem (a), it is necessary to rewrite the SQL expression. In general, it is ideal for a user to be able to specify a structure search in consideration of only the XML document schema, and these necessitys that do not exist in the management of an XML document are very burdensome for the user.
上記のXML文書スキーマ−関係表スキーマ間スキーママッピング方式における(a)〜(d)の欠点を克服するために、本発明ではそれぞれ以下の課題を解決することを目的とする。 In order to overcome the disadvantages (a) to (d) in the schema mapping scheme between the XML document schema and the relational table schema, the present invention aims to solve the following problems.
第一に、スキーママッピング定義の自動チューニング機能を提供すること。 First, provide an automatic tuning function for schema mapping definitions.
第二に、従来LOBで管理していたような非定型部分データに対しても構造検索機能を提供すること。 Second, to provide a structure search function for atypical partial data that has been managed by LOBs.
第三に、関係表での管理が非効率的なデータを切り分けて、効率的な手段で管理すること。 Third, data that is inefficient in the management of relational tables should be isolated and managed by efficient means.
第四に、XML文書の関係表への格納方法に関して、透過なXML文書の構造検索機能を提供すること。 Fourthly, a transparent XML document structure search function is provided with respect to a method for storing XML documents in a relational table.
まず、第二、第三の課題を解決するために、RDBの外部データベース、あるいはRDBのプラグインとして存在するXML構造検索エンジンと連携する。 First, in order to solve the second and third problems, it cooperates with an RDB external database or an XML structure search engine that exists as an RDB plug-in.
従来、関係表のLOBカラムに格納していた非定型部分データを構造検索エンジンに格納することによって、第二の課題を解決する。関係表での管理が非効率的なデータも、代わりに構造検索エンジンで管理することによって、第三の課題を解決する。 Conventionally, the atypical partial data stored in the LOB column of the relational table is stored in the structure search engine, thereby solving the second problem. The third problem is solved by managing inefficient data in the relational table with the structural search engine instead.
また、第一の課題を解決するために、クエリ発行履歴を参照し、頻出クエリの検索性能効率化を指標として適切なスキーママッピング定義を導出するマッピング定義チューニングモジュールを導入する。第三の課題解決における関係表での管理が不適切なXML部分データの切り分けもこのモジュールで行う。 In order to solve the first problem, a mapping definition tuning module that refers to the query issuance history and derives an appropriate schema mapping definition by using the retrieval performance efficiency of frequent queries as an index is introduced. This module also separates XML partial data that is inappropriately managed in the relationship table in the third problem solving.
さらに、第四の課題を解決するために、XML文書に対する構造検索式を、スキーママッピング定義に基づいてSQL式に自動変換するクエリリライト機能を提供する。検索対象が構造検索エンジンで管理されている部分データにも及ぶ場合は、この検索エンジンへの検索式をUDF(User Define Function)として含むSQL式に変換する。このクエリリライトにより、ユーザは、第一〜第三の課題解決における、XML文書の関係表および構造検索エンジンへの格納方法の違いに対して、透過的に構造検索指定が可能となる。 Furthermore, in order to solve the fourth problem, a query rewrite function for automatically converting a structure search expression for an XML document into an SQL expression based on a schema mapping definition is provided. When the search target extends to partial data managed by the structural search engine, the search target is converted into an SQL expression that includes a search expression for the search engine as a UDF (User Define Function). By this query rewrite, the user can transparently specify the structure search with respect to the difference between the XML document relation table and the structure search engine storage method in the first to third problem solving.
XML文書スキーマ−関係表スキーマ間のスキーママッピング方式において、
(1)クエリ発行履歴に基づいて、検索処理コストを削減するようにスキーママッピング定義を自動的に改善することが可能である。
(2)非定型の部分データを構造検索エンジンで管理することによって、該部分データに対する構造検索が可能である。
(3)関係表での管理が非効率的なデータを切り分けて構造検索エンジンで管理することによって、非効率的な検索処理を回避することが可能である。
(4)クエリリライト機能により、XML文書の関係表および構造検索エンジンへの格納方法に関し、透過的にXML文書に対する構造検索を指定することが可能である。
In the schema mapping method between the XML document schema and the relation table schema,
(1) Based on the query issuance history, the schema mapping definition can be automatically improved so as to reduce the search processing cost.
(2) By managing the atypical partial data with the structural search engine, a structural search for the partial data can be performed.
(3) It is possible to avoid inefficient search processing by separating data that is inefficiently managed in the relational table and managing it with the structural search engine.
(4) With the query rewrite function, it is possible to transparently specify the structure search for the XML document regarding the relation table of the XML document and the storage method in the structure search engine.
以下、本発明の実施の一形態を、図面を参照しながら説明する。なお簡単のために、本明細書中では以下に述べる発明の実施の形態を単に「本実施例」と呼ぶことにする。 Hereinafter, an embodiment of the present invention will be described with reference to the drawings. For the sake of simplicity, an embodiment of the invention described below will be simply referred to as “this example” in the present specification.
図1を用いて、本実施例の概略構成について説明する。 A schematic configuration of the present embodiment will be described with reference to FIG.
本実施例のシステムは、以下に挙げる4つのモジュールを基本構成要素として成立している:
・ タグ付き構造化文書−関係表間データ変換モジュール101
・ 構造検索式変換モジュール102
・ クエリ(問合せ)実行制御モジュール103
・ マッピング定義チューニングモジュール104
以下、それぞれのモジュールについて概説する。
The system of the present embodiment is composed of the following four modules as basic components:
Tagged structured document-relational table
Structure search
-Query
Mapping
The following outlines each module.
タグ付き構造化文書−関係表間データ変換モジュール101は、タグ付き構造化文書(以下、XML文書という)107を構造分解してタグを取り除いたデータ本体を、リレーショナルデータベース(以下、RDBという)105の関係表のカラムに対応して属性値を格納する。ただし一部のXML文書については、タグが付いた部分木単位でXML文書専用の構造検索エンジン106に格納する。XML文書のうち、RDB105に格納する部分、格納先の関係表カラム、および構造検索エンジン106にタグごと格納する部分の区別は、タグ付き構造化文書スキーマ定義(以下、XML文書構造定義という)108、スキーマ間マッピング定義109、および関係表スキーマ定義110に従って決定される。
The tagged structured document-relationship table
XML文書構造定義108はXML文書の構造定義を、関係表スキーマ定義110は関係表のスキーマ定義をそれぞれ表す。XML文書107は、XML文書構造定義108に対して妥当である必要があるし、RDB105に格納されている関係表201、202は、関係表スキーマ定義110に従って構成されている。スキーマ間マッピング定義109は、XML文書のノード値(タグで修飾された要素値、あるいは属性値)とそれを格納する関係表のカラムの対応付けを定義する。
The XML
構造検索式変換モジュール102は、XQuery、XPathなどのXMLの標準検索仕様に従ってユーザが定義した構造検索式111を、RDB105用の検索仕様であるSQL言語の検索式(以下、SQL式という)112に変換するモジュールである。この変換は、スキーマ間マッピング定義109に従って行われる。検索範囲が構造検索エンジンに格納した部分XML文書にも及ぶ場合には、SQL式112中に構造検索エンジン用の拡張関数(UDF)を埋め込んだ式に変換する。
The structure search
クエリ実行制御モジュール103は、UDFを含んだSQL式112を、SQL部分とUDF部分に分離し、前者をRDB105に、後者を構造検索エンジン106に対して発行し、その結果を統合して、元の構造検索式111に対する結果113を構築するモジュールである。このモジュールは、RDB105にプラグイン処理機構がある場合は、その機能上で自然に実現される(この場合については、図3を用いて後述する)。
The query
マッピング定義チューニングモジュール104は、ユーザの構造検索式111の発行履歴を参照して、頻出する検索式の処理の効率化を指標として、XML文書構造定義108を参照しつつ、スキーマ間マッピング定義109、および関係表スキーマ定義110を適宜更新する。関係表スキーマ定義110の更新に伴う関係表の変更は、RDB105の機能に任せる。
The mapping
以下、図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は、同一の計算機上で実行されてもよいし、その一部又は全部がネットワークを介して異なる計算機上で実行されてもよい。また本システムは、クライアント−サーバ型のシステムで実現されてもよい。
Hereinafter, a hardware configuration for realizing the system shown in FIG. 1 will be described. This system is configured by one or a plurality of computers including a CPU, a memory, an external storage device, an input device, a display device, and the like in hardware. The
以上が、本実施例の概略である。以降、本実施例における、データ変換モジュール101の動作概要を図2で、構造検索式変換モジュール102の動作概要を図3で、クエリ実行制御モジュール103の動作概要を、実現方法のバリエーション別に図3、図4、図5を用いて説明する。
The above is the outline of the present embodiment. Hereinafter, the operation outline of the
図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として利用できる。
The operation of the
<! 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>
On the other hand, the schemas of the relationship tables 201, 202, and 203 that store the
上記の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に格納される。
Based on the XML
データ変換モジュール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から次の要素を取り出すステップに戻って上記処理を繰り返す。
The
図3を用いて、構造検索式変換モジュール102の動作について説明する。本説明では、図2の例で取り上げたXML文書構造定義108、スキーマ間マッピング定義109、および関係表スキーマ定義110に従って、データ変換モジュール101によりRDB105の関係表201、202、203、および構造検索エンジン106に格納イメージ204として格納されたXML文書107に対して、XQuery標準に従って記述された構造検索式111を処理する場合を例にとる。
The operation of the structure retrieval
構造検索式111は、FOR句により変数$iにi要素名を代入する。従って、WHERE句はi要素の属性aが“xx19”であり、そのi要素は、属性bが“xx22”であるようなj要素を子要素として持ち、さらにそのj要素は、属性uが“xx24”であるようなo要素を子要素として持つことを条件としている。さらに、上記の条件で抽出したi要素全体を結果として取得することを要求している。
The
構造検索式変換モジュール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で表現される。
The structure search
以上から、構造検索式111を変換したクエリ112は、関係表i(201)から、カラムaが“xx19”であるようなレコードを抽出し、関係表j(202)のレコードから、カラムbが“xx22”、かつ、カラムwで参照される構造検索エンジン106の格納イメージ(204)が、属性uの値=“xx24”であるようなo要素を含んでいるようなレコードを抽出し、さらに両レコードの間に外部参照関係が成り立っていることを条件として指定するSQL式として生成される。関係表j(202)のカラムwに対する構造指定は、XMLHASというUDFで表現される。これは、第一引数で指定したカラムの値が指し示す構造検索エンジン106上の格納イメージが、第二引数で指定したXPath構造式にマッチする部分データを含むか否かを判定するブール関数である。
From the above, the
また構造検索式111は、上記の条件を満たすi要素全体を結果として取得することを要求しているため、SQL式112のSELECT句には、XMLVALというXML文書構築UDFを指定する。これは、引数でID指定された要素について、全ての子孫要素をRDB105および構造検索エンジン106から抽出して、XML文書を再構築して返すスカラ関数である。
Since the
図3〜図5を用いて、クエリ実行制御モジュール103の動作を説明する。
The operation of the query
図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上で実行する。
FIG. 3 shows a case where the
クエリ実行制御モジュール103は、クエリを実行する際に、先に構造検索エンジン106に対する条件でデータを絞るか、あるいは関係表に対する条件でデータを絞るか、クエリの処理効率を指標にして決定する。
When executing the query, the query
SQL式112を例にとると、前者の場合は、まずXMLHASの条件判定に適合する構造検索エンジン106上の格納イメージ204を抽出し、そのID(この例ではxi−a)と関係表j(202)のカラムwの値が一致することも条件に含めて、関係表201,202からデータを抽出することになる。
Taking the
一方、後者の場合は、まず関係表i(201)のカラムaと関係表j(202)のカラムb、および関係表i(201)のカラムidと関係表j(202)のカラムpidの間の外部参照関係を条件にデータを絞り、抽出した関係表j(202)のレコードのカラムwの値が指し示す、構造検索エンジン106上の格納イメージ204に対してXMLHASによる条件判定を行う。
On the other hand, in the latter case, first, the column a of the relation table i (201), the column b of the relation table j (202), and the column id of the relation table i (201) and the column pid of the relation table j (202). The data is narrowed down by using the external reference relationship as a condition, and the condition determination by XMLHAS is performed on the
上記のようなクエリ実行手順の決定は、一般的なRDB105が備える実行計画決定処理により最適化される。従って、プラグイン処理機構301を備えるRDB105を利用する場合は、クエリ実行制御モジュール103を新たに設ける必要はない。
The determination of the query execution procedure as described above is optimized by an execution plan determination process provided in a
一方、RDB105にプラグイン処理機構301が備わっておらず、クエリ実行制御モジュール103をRDB105の外部に設ける必要がある場合の動作概要について、図4、図5を用いて説明する。クエリ実行制御モジュール103をRDB105の外に新たに設ける場合、上記のようなクエリ実行手順も独自に決定する必要がある。
On the other hand, an outline of operation when the
図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”というデータが返る。
With reference to FIG. 4, the case where data is first narrowed down by the conditions for the
このようにしてタグ付き構造化文書再構成処理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)。
In this way, the tagged structured
図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の場合と同一である。
With reference to FIG. 5, the case where data is first narrowed down by the conditions for the relational tables 201 and 202 will be described. In this case, the
なお、以上の説明では、構造検索式変換モジュール102とクエリ実行制御モジュール103を区別して説明したが、これらは一つのモジュールとして実現されていても構わない。その場合は、UDFを含むSQL式112を生成せずに、構造検索式111から直接SQL式403、502に変換するような実施例もあり得ることは自明である。
In the above description, the structure search
以降、本実施例におけるマッピング定義チューニングモジュール104が行う具体的なマッピング定義改善の処理手順について、図6、図7(a)、図7(b)、図8を用いて説明する。
Hereinafter, specific mapping definition improvement processing procedures performed by the mapping
図6を用いて、XML文書構造定義で明示的に定義されていない部分データについての検索頻度が所定数を越える場合の、マッピング定義改善処理について説明する。 The mapping definition improving process when the search frequency for partial data not explicitly defined in the XML document structure definition exceeds a predetermined number will be described with reference to FIG.
システムは、タグ付き構造化文書に対する構造検索式の発行履歴を図示しない検索履歴データベースに記録する。マッピング定義チューニングモジュール104は、検索履歴データベースを参照し、同一のUDFについての構造検索式の発行頻度を計数する。図2〜図5の例における構造検索式111中のo要素についての条件指定のように、XML文書構造定義に登場せず、従って明示的にスキーマ間マッピングを定義していない部分に対して検索が頻出する場合、マッピング定義チューニングモジュール104は、この部分を格納する関係表とマッピング定義を自動的に生成する。
The system records the issuance history of the structure search formula for the tagged structured document in a search history database (not shown). The mapping
RDBの検索処理性能は、長年の改良の結果、一般的な構造検索エンジンに比べ高速であり、また他の関係表データに対するのと同時に条件指定することを考慮した場合、データは、RDB外部の構造検索エンジンではなく、可能な限り関係表で管理した方が効率的に優れるため、このようなマッピングの変更は性能改善に繋がる。 As a result of improvements over many years, the RDB search processing performance is faster than general structural search engines, and when considering specifying conditions simultaneously with other relational table data, the data is stored outside the RDB. Since it is more efficient to manage with a relational table as much as possible rather than a structural search engine, such a change in mapping leads to improved performance.
本例では、マッピング定義チューニングモジュール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に変更する。
In this example, the mapping
マッピング定義チューニングモジュール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を削除する。
Details of the processing procedure executed by the mapping
以上の変更が加えられたマッピング定義においては、構造検索式111は、構造検索式変換モジュール102によって、SQL式602に変換されることになる。このSQL式は、構造指定UDFを含まないため、RDB105で処理するのに望ましい形となっている。
In the mapping definition to which the above changes are made, the
図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内部での自己参照関係が規定されている。
A processing procedure for realizing improvement of XML data management having a recursive structure will be described with reference to FIGS. 7A and 7B. As shown in FIG. 7A, the
一方、構造検索式707は、属性aの値が“xx01”であるi要素の子孫要素として任意の階層に出現する、属性aの値が“xx18”であるようなj要素を抽出することを要求している。このことをSQL式で表現するには、再帰クエリを利用する必要がある。構造検索式707は、構造検索式変換モジュール102によって、SQL式708に変換される。このSQL式は、再帰的に関係表j(706)の自己参照関係を辿って、一時表tmpに、i要素の全ての子孫を抽出して行く再帰クエリである。
On the other hand, the
しかし、一般的にRDBの再帰クエリは効率の悪い処理であり、このような構造検索式が頻出する場合には、上記のようなマッピング定義は好ましくない。 However, the recursive query of RDB is generally an inefficient process, and such a mapping definition is not preferable when such a structure search expression appears frequently.
これに対し、再帰構造を持つXML部分データを、敢えて構造検索エンジン106に格納することで改善を図る。一般的に構造検索エンジンは、階層の深いデータに対しても妥当な性能で検索処理が可能であるように設計されているため、関係表で管理するよりも効率が良い場合がある。
On the other hand, the XML partial data having a recursive structure is intentionally stored in the
図7(b)に示すスキーマ間マッピング定義709は、上記のスキーマ間マッピング定義703における3〜6行目のj要素を関係表j(706)に対応付けている記述を削除し、新たに3行目に、i要素の子孫を全て構造検索エンジン106に格納する記述を追加している。関係表スキーマ定義710は、関係表i(705)に構造検索エンジン106での格納イメージのIDを格納するカラムwを追加している。
The
以上のマッピング定義においては、XML文書701は、関係表705および構造検索エンジン106の格納イメージ711,712に分解して格納される。また構造検索式707は、構造検索式変換モジュール102によって、UDFを含むSQL式713に変換される。SQL式713は、SQL式708と比較して再帰を含まないシンプルなクエリとなっており、RDB105と構造検索エンジン106の適切な使い分けが成される。
In the above mapping definition, the
なお、以上のようなRDB105での管理が非効率的であるXML文書を、敢えて構造検索エンジンに格納するように変更する改善手法は、再帰構造を持つXML文書以外でも適用可能である。例えば、階層の深いXML文書を関係表に格納する場合は、多数の関係表を定義してその間の外部参照関係を規定することになるが、このような関係表に対して構造検索をかける場合は、外部参照関係の条件を全てSQL式に加えなくてはならない。このような条件は、RDBにおいては検索コストの高いジョイン操作として処理されるため効率が悪い。このような場合に対しても、図7(b)のようなマッピング定義チューニング手法を適用することによって、検索効率を改善することが可能である。
Note that the above-described improvement method for changing an XML document that is inefficiently managed by the
階層の深い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)のみに対するクエリとして実行することが可能となる。
There is another method that does not use a structural search engine to improve the mapping definition of a deep XML document. This will be described with reference to FIG. The
関係表スキーマ定義110、およびスキーマ間マッピング定義109は、それぞれ関係表スキーマ定義805、スキーマ間マッピング定義806に更新されることになる。スキーマ間マッピング定義806の1行目は、i要素の属性aの値を関係表k(802)のカラムiaにも格納することを表現している。6行目も同様である。以上のマッピング定義においては、構造検索式801は、構造検索式変換モジュール102によって、SQL式804に変換される。該検索式はジョイン操作を含まないため検索コストが低い。
The relation
複数の構造検索式の効率化を目的とする場合は、全ての構造検索式のパスの和を取って、上記と同様のマッピング定義改善手法を適用することが可能である。例えば、以下の構造検索式全てに関して効率化を図る場合:
・ /x/i[@a=“..”]//k[@a=“..”]
・ //j[@c=“..”]/k[@b=“..”]
・ //i[@a=“..” and @b=“..”]/j[@c=“..”]/k
i要素の属性a,b、およびj要素の属性cの値を含むように関係表kを更新する。
When the purpose is to improve the efficiency of a plurality of structure search expressions, it is possible to apply the same mapping definition improvement technique as described above by taking the sum of the paths of all structure search expressions. For example, to improve efficiency for all of the following structural search expressions:
/ X / i [@a = “...”] // k [@a = “...”]
// j [@c = “...”] / k [@b = “...”]
// i [@a = “...” and @b = “..”] / j [@c = “..”] / k
The relation table k is updated so as to include the values of the attributes a and b of the i element and the attribute c of the j element.
このようなマッピング変更は、関係表の正規化を崩すことにあたり、一つの値を複数のカラムで管理することになるため、データの更新時にはオーバヘッドとなる。マッピング定義チューニングモジュール104は、更新クエリの発行履歴も併せて参照し、参照系クエリと更新系クエリの発行頻度の兼ね合いに応じて、このマッピング定義改善手法を適用するか否かを決定する。
Such a change in mapping causes a single value to be managed by a plurality of columns when breaking the normalization of the relational table, and therefore it becomes an overhead when updating data. The mapping
なお、以上の説明で用いたスキーマ間マッピング定義の記法は実施例を限定するものではなく、同様の意味を表現し得る定義仕様であれば、どのような記法でも適用可能である。また、以上は、XML文書の管理方法として説明したが、本実施例における方法は、SGML、HTMLに代表されるタグ付き構造化文書一般の管理方法としても適用可能であることは自明である。 The notation of the schema-to-schema mapping definition used in the above description is not limited to the embodiment, and any notation is applicable as long as the definition specification can express the same meaning. Although the above description has been given as a method for managing XML documents, it is obvious that the method in this embodiment can also be applied as a general method for managing structured documents with tags typified by SGML and 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文書の)格納イメージ
101. . . Tagged structured document-relational table data conversion module, 102. . . Structure retrieval formula conversion module, 103. . . Query execution control module, 104. . . Mapping definition tuning module, 105. . . Relational database, 106. . . Structure search engine, 107/701. . . Tagged structured document, 108/702. . . Tagged structured document schema definition, 109/604/703/709/806. . . Mapping definition between schemas, 110/603/704/710/805. . . Relation table schema definition, 111/707/801. . . Structure retrieval formula, 112/602/708/713/803/804. . . Rewrite result query, 113. . . As a result (of structure retrieval formula), 201-203 / 601/705/706/802. . . Relation table, 204/711/712. . . Storage image (partial XML document for structural search engine)
Claims (8)
構造化文書格納定義に従って、単一の構造化文書を、関係データベースに格納する第1の構造部分と、構造検索専用データベースに格納する第2の構造部分に分解し、
該第1の構造部分について、タグを取り除いたデータ自体を抽出して、該格納定義で対応付けられた関係表のカラムに格納し、
該第2の構造部分について、タグを含んだまま構造検索専用データベースに格納し、
元の構造化文書に対する構造検索式を、該格納定義に従って、該関係データベース用の第1の検索式と、該構造検索専用データベース用の第2の検索式に変換し、
該関係データベースに対して該第1の検索式を発行して、その結果を受け取り、該構造検索専用データベースに対して該第2の検索式を発行して、その結果を受け取り、
両結果から、該構造検索式に対する結果と等価な構造化文書を構築する手順を有することを特徴とするXMLデータ管理方法。 In a method for managing a tree-structured tagged structured document using a relational database and a database dedicated to structure search,
In accordance with the structured document storage definition, a single structured document is decomposed into a first structure part stored in the relational database and a second structure part stored in the structure search dedicated database.
For the first structure part, the data itself with the tag removed is extracted and stored in the column of the relation table associated with the storage definition,
The second structure portion is stored in a structure search dedicated database with the tag included,
Converting a structure search expression for the original structured document into a first search expression for the relational database and a second search expression for the structure search-dedicated database according to the storage definition;
Issuing the first search formula to the relational database and receiving the result, issuing the second search formula to the structure search dedicated database and receiving the result;
An XML data management method comprising a procedure for constructing a structured document equivalent to a result for the structure retrieval formula from both results.
構造化文書格納定義に従って、単一の構造化文書を、関係データベースに格納する第1の構造部分と、構造検索専用データベースに格納する第2の構造部分に分解し、
該第1の構造部分について、タグを取り除いたデータ自体を抽出して、該格納定義で対応付けられた関係表のカラムに格納し、
該第2の構造部分について、タグを含んだまま構造検索専用データベースに格納し、
元の構造化文書に対する構造検索式を、該格納定義に従って、該関係データベース用の第1の検索式と、該構造検索専用データベース用の第2の検索式に変換し、
該第2の検索式をそれと同等の構造検索処理を実行する該第1の検索式に埋め込み可能な、関係データベース検索式拡張関数で表現し、
該拡張関数を該第1の検索式に埋め込んだ拡張関数付き関係データベース用検索式を生成し、
該拡張関数付き関係データベース用検索式を、該関係データベースに対して発行し、該構造検索
式に対する結果と等価な構造化文書を取得することを特徴とするXMLデータ管理方法。 In a method for managing a tree-structured tagged structured document using a relational database and a database dedicated to structure search,
In accordance with the structured document storage definition, a single structured document is decomposed into a first structure part stored in the relational database and a second structure part stored in the structure search dedicated database.
For the first structure part, the data itself with the tag removed is extracted and stored in the column of the relation table associated with the storage definition,
The second structure portion is stored in a structure search dedicated database with the tag included,
Converting a structure search expression for the original structured document into a first search expression for the relational database and a second search expression for the structure search-dedicated database according to the storage definition;
The second search expression is expressed by a relational database search expression extension function that can be embedded in the first search expression that executes a structure search process equivalent to the second search expression.
Generating a relational database search expression with an extension function in which the extension function is embedded in the first search expression;
An XML data management method comprising issuing a relational database retrieval formula with an extension function to the relational database and obtaining a structured document equivalent to a result of the structural retrieval formula.
発行頻度の高い検索式の検索処理効率を指標として、
構造化文書格納定義、および、関係表のスキーマ定義を更新することを特徴とする請求項1に記載のXMLデータ管理方法。 Record the issuance history of structural search formulas for tagged structured documents,
Using the search processing efficiency of frequently issued search expressions as an index,
The XML data management method according to claim 1, wherein the structured document storage definition and the schema definition of the relation table are updated.
該構造検索専用データベースに格納された該部分構造化文書を格納する関係表を新規に作成し、
該構造化文書格納定義に、該部分構造化文書と、該新規に作成した関係表との対応付けを追記し、
該構造検索専用データベースに格納された該部分構造化文書を、該新規に作成した関係表に格納し直すことを特徴とする請求項3に記載のXMLデータ管理方法。 Among the tagged structured documents, when the frequency of issuing the same structure search formula for the partially structured document stored in the structure search dedicated database exceeds a predetermined number,
Create a new relational table for storing the partially structured document stored in the structure search database;
Add the correspondence between the partially structured document and the newly created relation table to the structured document storage definition,
4. The XML data management method according to claim 3, wherein the partially structured document stored in the structure search dedicated database is stored again in the newly created relational table.
かつ該タグのデータが関係データベースに格納されており、
かつ該タグに対する階層の深さを問わない同一の構造検索式が出現する場合に、
該自己再帰的なデータを、構造検索専用データベースに格納し直すことを特徴とする請求項3に記載のXMLデータ管理方法。 In a structured document with a tag, the element indicated by a tag has a self-recursive structure with an element of the same type as the tag as a child element,
And the tag data is stored in the relational database,
And when the same structural search expression appears regardless of the depth of the hierarchy for the tag,
4. The XML data management method according to claim 3, wherein the self-recursive data is stored again in a structure search database.
該データを構造検索専用データベースに格納し直すことを特徴とする請求項3に記載のXMLデータ管理方法。 In the structured document with tag, when the same structure search expression that specifies the multi-level hierarchy for the data stored in the relational table database appears,
4. The XML data management method according to claim 3, wherein the data is stored again in a structure search database.
該構造検索式に登場する全階層のデータを並べたカラムを持つ単一の関係表を新規に作成し、
該データを該新規に作成した関係表に格納し直すことを特徴とする請求項3に記載のXMLデータ管理方法。 In the structured document with tag, when the same structure search expression that specifies the multi-level hierarchy for the data stored in the relational table database appears,
Create a new single relational table with columns that list all levels of data appearing in the structure search expression,
4. The XML data management method according to claim 3, wherein the data is stored again in the newly created relationship table.
該複数の構造検索式に登場する全階層のデータの和集合を並べたカラムを持つ単一の関係表を新規に作成し、
該データを、該新規に作成した関係表に格納し直すことを特徴とする請求項3に記載のXMLデータ管理方法。
In the tagged structured document, when multiple identical structure search expressions that specify multiple levels of hierarchy for the data stored in the relational table database appear,
Create a new single relational table with a column in which the union of the data of all layers appearing in the plurality of structural search expressions is arranged,
4. The XML data management method according to claim 3, wherein the data is stored again in the newly created relationship table.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004234344A JP2006053724A (en) | 2004-08-11 | 2004-08-11 | Xml data management method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004234344A JP2006053724A (en) | 2004-08-11 | 2004-08-11 | Xml data management method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006053724A true JP2006053724A (en) | 2006-02-23 |
Family
ID=36031175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004234344A Pending JP2006053724A (en) | 2004-08-11 | 2004-08-11 | Xml data management method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006053724A (en) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008041082A (en) * | 2006-07-12 | 2008-02-21 | Hitachi Ltd | Processing apparatus and program |
JP2011018322A (en) * | 2009-07-09 | 2011-01-27 | Internatl Business Mach Corp <Ibm> | System, method and computer program for automating record declaration of electronic document |
JP2011076557A (en) * | 2009-10-02 | 2011-04-14 | Pronexus Inc | Database and providing system of business financial information |
JP2013196086A (en) * | 2012-03-16 | 2013-09-30 | Fujitsu Ltd | Configuration information management device and configuration information management program |
WO2014109009A1 (en) * | 2013-01-09 | 2014-07-17 | 株式会社日立製作所 | Method of managing database, management computer and storage medium |
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 (en) * | 2012-08-30 | 2015-11-05 | シータス データ ビルギ イスレムレリ トゥカレット アー.エス. | Working with distributed databases with external tables |
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 |
US9460572B2 (en) | 2013-06-14 | 2016-10-04 | Sita Information Networking Computing Ireland Limited | Portable user control 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 (en) * | 2013-11-22 | 2016-12-15 | 杰 盛 | Database implementation method |
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 (en) * | 2020-10-20 | 2022-04-27 | 대한민국(국가기록원) | Method and system for preserving relational database |
-
2004
- 2004-08-11 JP JP2004234344A patent/JP2006053724A/en active Pending
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008041082A (en) * | 2006-07-12 | 2008-02-21 | Hitachi Ltd | Processing apparatus and program |
JP2011018322A (en) * | 2009-07-09 | 2011-01-27 | Internatl Business Mach Corp <Ibm> | System, method and computer program for automating record declaration of electronic document |
JP2011076557A (en) * | 2009-10-02 | 2011-04-14 | Pronexus Inc | Database and providing system of business financial information |
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 (en) * | 2012-03-16 | 2013-09-30 | Fujitsu Ltd | Configuration information management device and configuration information management program |
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 (en) * | 2012-08-30 | 2015-11-05 | シータス データ ビルギ イスレムレリ トゥカレット アー.エス. | Working with distributed databases with external tables |
JP5873935B2 (en) * | 2013-01-09 | 2016-03-01 | 株式会社日立製作所 | Database management method, management computer and storage medium |
WO2014109009A1 (en) * | 2013-01-09 | 2014-07-17 | 株式会社日立製作所 | Method of managing database, management computer and storage medium |
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 (en) * | 2013-11-22 | 2016-12-15 | 杰 盛 | Database implementation method |
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 (en) * | 2020-10-20 | 2022-04-27 | 대한민국(국가기록원) | Method and system for preserving relational database |
KR102453595B1 (en) | 2020-10-20 | 2022-10-14 | (주)퍼스트정보 | Method and system for preserving relational database |
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 | |
JP2006053724A (en) | Xml data management method | |
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 | |
US20070143331A1 (en) | Apparatus, system, and method for generating an IMS hierarchical database description capable of storing XML documents valid to a given XML schema | |
US7457812B2 (en) | System and method for managing structured document | |
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 | |
JP4724177B2 (en) | Index for accessing XML data | |
Rys | State-of-the-art XML support in RDBMS: Microsoft SQL server's XML features | |
KR100678123B1 (en) | Method for storing xml data in relational database | |
Noh et al. | A comparison of two approaches to utilizing XML in parametric databases for temporal data | |
JP4289022B2 (en) | Structured document processing method and apparatus, structured document processing program, and storage medium storing structured document processing program | |
JP5439606B1 (en) | Structured document management apparatus, method and program | |
JP5422751B1 (en) | Structured document management apparatus, method and program |