JP2006053724A - Xml data management method - Google Patents

Xml data management method Download PDF

Info

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
Application number
JP2004234344A
Other languages
Japanese (ja)
Inventor
Tsuneyuki Imaki
常之 今木
Itaru Nishizawa
格 西澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004234344A priority Critical patent/JP2006053724A/en
Publication of JP2006053724A publication Critical patent/JP2006053724A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a transparent structure retrieval function while optimizing an MXL document-relational table schema mapping definition. <P>SOLUTION: A mapping definition tuning module 105 refers to issuing history of a structure retrieve formula to change a schema-to-schema mapping definition 109 so that an XML document is properly divided and stored in a relational database 105 and a structure retrieval engine 106 for the purpose of enhancing the efficiency of retrieval processing with high issuing frequency. A structure retrieval formula conversion module 102 converts the structure retrieval formula based on the schema-to-schema mapping definition 109. A query execution control module 103 issues queries to the relational database 105 and the structure retrieval engine 106, respectively, and reconstitutes a result for the original structure retrieval formula from the respective results. <P>COPYRIGHT: (C)2006,JPO&NCIPI

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 Document 1 and Non-Patent Document 2 describe typical XML document management methods related to main RDB products.

非特許文献1の方法は、管理対象であるXML文書の文書スキーマと、RDBの関係表スキーマとの間の対応関係に従って、XML文書に含まれるタグ付けされたデータを構造分解して、複数の関係表に分けて値単位で格納する。このような格納方式を、以下、XML文書スキーマ−関係表スキーマ間のマッピング方式と呼ぶ。非特許文献1の方法は、XML文書スキーマの定義を元に、その定義に妥当であるXML文書を格納するための関係表スキーマの定義、および、該XML文書スキーマと該関係表スキーマとの間の対応関係の定義(以下、スキーママッピング定義という)を、自動的に作成する。またXMLの標準検索仕様XPath形式の構造検索式を、スキーママッピング定義に従って、関係表検索式(以下、SQL式という)に自動変換する。   According to the method of Non-Patent Document 1, the tagged data included in the XML document is structurally decomposed according to the correspondence between the document schema of the XML document to be managed and the relation table schema of the RDB, and a plurality of data is decomposed. Store in value units by dividing into relational tables. Such a storage method is hereinafter referred to as an XML document schema-relational table schema mapping method. The method of Non-Patent Document 1 is based on the definition of an XML document schema, defines a relation table schema for storing an XML document valid for the definition, and between the XML document schema and the relation table schema. The correspondence definition (hereinafter referred to as schema mapping definition) is automatically created. In addition, a structure search expression in the XML standard search specification XPath format is automatically converted into a relational table search expression (hereinafter referred to as an SQL expression) in accordance with the schema mapping definition.

非特許文献2の方法も、基本的にスキーママッピング方式である。ただしスキーママッピング定義は、RDBに格納されたデータからXML文書を構築する方向で、ユーザがマニュアルで定義する。またXMLの標準検索仕様XQuery形式の構造検索式を、スキーママッピング定義に従って、SQL式に自動変換する。   The method of Non-Patent Document 2 is also basically a schema mapping method. However, the schema mapping definition is manually defined by the user in the direction of constructing an XML document from data stored in the RDB. In addition, a structure search expression in the XML standard search specification XQuery format is automatically converted into an SQL expression according to the schema mapping definition.

店ML Schemas in Oracle XML DB R. Murthy, S, Banerjee; VLDB2003Store ML Schemas in Oracle XML DB R. Murthy, S, Banerjee; VLDB2003 轍uerying XML Views of Relational Data J. Shanmugasundaram, et al., VLDB2001轍 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文書の管理においては本来存在しないこれらの必要性は、ユーザにとって大変な負担となる。
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 data conversion module 101
Structure search expression conversion module 102
-Query execution control module 103
Mapping definition tuning module 104
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 data conversion module 101 converts a tagged structured document (hereinafter referred to as an XML document) 107 into a relational database (hereinafter referred to as RDB) 105 from a data body obtained by structurally decomposing and removing the tag. Store attribute values corresponding to the columns of the relationship table. However, some XML documents are stored in the structure search engine 106 dedicated to the XML document in units of subtrees with tags. Among the XML documents, the distinction between the part stored in the RDB 105, the relation table column of the storage destination, and the part stored for each tag in the structure search engine 106 is a tagged structured document schema definition (hereinafter referred to as an XML document structure definition) 108. , The mapping definition between schemas 109, and the relation table schema definition 110.

XML文書構造定義108はXML文書の構造定義を、関係表スキーマ定義110は関係表のスキーマ定義をそれぞれ表す。XML文書107は、XML文書構造定義108に対して妥当である必要があるし、RDB105に格納されている関係表201、202は、関係表スキーマ定義110に従って構成されている。スキーマ間マッピング定義109は、XML文書のノード値(タグで修飾された要素値、あるいは属性値)とそれを格納する関係表のカラムの対応付けを定義する。   The XML document structure definition 108 represents the structure definition of the XML document, and the relation table schema definition 110 represents the schema definition of the relation table. The XML document 107 needs to be valid with respect to the XML document structure definition 108, and the relationship tables 201 and 202 stored in the RDB 105 are configured according to the relationship table schema definition 110. The inter-schema mapping definition 109 defines a correspondence between a node value (an element value or an attribute value modified with a tag) of an XML document and a relation table column storing the node value.

構造検索式変換モジュール102は、XQuery、XPathなどのXMLの標準検索仕様に従ってユーザが定義した構造検索式111を、RDB105用の検索仕様であるSQL言語の検索式(以下、SQL式という)112に変換するモジュールである。この変換は、スキーマ間マッピング定義109に従って行われる。検索範囲が構造検索エンジンに格納した部分XML文書にも及ぶ場合には、SQL式112中に構造検索エンジン用の拡張関数(UDF)を埋め込んだ式に変換する。   The structure search expression conversion module 102 converts a structure search expression 111 defined by the user in accordance with an XML standard search specification such as XQuery or XPath into a SQL language search expression (hereinafter referred to as an SQL expression) 112 which is a search specification for the RDB 105. This is the module to convert. This conversion is performed according to the inter-schema mapping definition 109. If the search range extends to the partial XML document stored in the structural search engine, the SQL expression 112 is converted into an expression in which an extended function (UDF) for the structural search engine is embedded.

クエリ実行制御モジュール103は、UDFを含んだSQL式112を、SQL部分とUDF部分に分離し、前者をRDB105に、後者を構造検索エンジン106に対して発行し、その結果を統合して、元の構造検索式111に対する結果113を構築するモジュールである。このモジュールは、RDB105にプラグイン処理機構がある場合は、その機能上で自然に実現される(この場合については、図3を用いて後述する)。   The query execution control module 103 separates the SQL expression 112 including the UDF into an SQL part and a UDF part, issues the former to the RDB 105 and the latter to the structural search engine 106, and integrates the results to obtain the original This is a module for constructing a result 113 for the structure search formula 111. When the RDB 105 has a plug-in processing mechanism, this module is naturally realized on the function (this case will be described later with reference to FIG. 3).

マッピング定義チューニングモジュール104は、ユーザの構造検索式111の発行履歴を参照して、頻出する検索式の処理の効率化を指標として、XML文書構造定義108を参照しつつ、スキーマ間マッピング定義109、および関係表スキーマ定義110を適宜更新する。関係表スキーマ定義110の更新に伴う関係表の変更は、RDB105の機能に任せる。   The mapping definition tuning module 104 refers to the issuance history of the structure search formula 111 of the user, and refers to the XML document structure definition 108 by using the efficiency of processing of the frequently used search formula as an index. The relation table schema definition 110 is updated as appropriate. The change of the relation table accompanying the update of the relation table schema definition 110 is left to the function of the RDB 105.

以下、図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 XML document 107, the XML document structure definition 108, the inter-schema mapping definition 109, and the relation table schema definition 110 are stored as files on the storage device. The structure search formula 111 is input from an input device via a text editor or generated via an application program (not shown) and stored in a memory. The result 113 is data stored in the memory and output to a display device or a printer, or passed to an application for further processing. The structure search engine 106 has a tree structure file of an XML document stored in a storage device, and is a database management system for managing these files. The tagged structured document-relational table data conversion module 101, the structure retrieval formula conversion module 102, the query execution control module 103, and the mapping definition tuning module 104 are programs stored in the memory of a computer and executed by the CPU. . The RDB 105 has a relational database stored on a storage device, and is a database management system for managing this database. A part or all of the data conversion module 101, the structure search expression conversion module 102, the query execution control module 103, and the mapping definition tuning module 104 may be incorporated in the RDB 105 and implemented. These modules, RDB 105, and structure search engine 106 may be executed on the same computer, or a part or all of them may be executed on different computers via a network. The system may be realized by a client-server type system.

以上が、本実施例の概略である。以降、本実施例における、データ変換モジュール101の動作概要を図2で、構造検索式変換モジュール102の動作概要を図3で、クエリ実行制御モジュール103の動作概要を、実現方法のバリエーション別に図3、図4、図5を用いて説明する。   The above is the outline of the present embodiment. Hereinafter, the operation outline of the data conversion module 101 in this embodiment is shown in FIG. 2, the operation outline of the structure search expression conversion module 102 is shown in FIG. 3, and the operation outline of the query execution control module 103 is shown in FIG. This will be described with reference to FIGS.

図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 data conversion module 101 will be described with reference to FIG. In this description, an example is described in which an XML document 107 that is valid for the XML document structure definition 108 is stored in the RDB 105. In the XML document structure definition 108, a plurality of i elements appear under the root element x, each i element has attributes a and b, and a plurality of j elements appear below it, and each j element has an attribute. It has a, b, c, and a plurality of k elements appear below it, indicating that each k element has attributes a, b. str indicates a character string. X0... N indicates that 0 to n corresponding elements can appear. Also, {ANY} indicates that any element other than the k element can appear under each j element. Note that the notation of the XML document structure definition 108 in FIG. 2 does not limit the embodiment, and any notation is applicable as long as the XML document structure definition specification can express the same meaning. For example, in DTD (Document Type Definition) which is a standard document structure definition specification of an XML document, a document structure definition similar to the above is expressed as follows:
<! 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 document 107 are given by the relationship table schema definition 110. In this example, the relation table i has three columns a, b and id, the relation table j has six columns pid, a, b, c, w and id, and the relation table k has pid, a, b and id. It expresses having 4 columns of id. Here, id and pid are identifiers indicating the connection between the parent and the child. id is an identifier having itself as a parent, pid is an identifier provided in a child, and is an identifier indicating which parent is connected. When id and pid are the same, it indicates that there is a parent-child connection. The notation of the relation table schema definition 110 in FIG. 2 does not limit the embodiment, and any notation can be applied as long as the definition specification of the relation table schema can express the same meaning. For example, since the schema of the relation table is generally defined at the time of creating the table using an SQL expression, the SQL expression can be used as the relation table schema definition 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に格納される。   Based on the XML document structure definition 108 and the relation table schema definition 110 described above, an inter-schema mapping definition 109 defines the association of values between the two definitions. “/X/i/@a⇔i.a” on the first line expresses that the value of the attribute “a” of the i element of the XML document 107 is stored in the column “a” of the relation table i (201). . The same applies to the second, fourth, fifth, sixth, eighth and ninth lines. “/ X / i / j /... J.pid = i.id” in the third row indicates the parent of the j element by the column pid of the relation table j (202), and the column of the relation table i (201). It expresses that id is externally referenced. Similarly, the seventh line expresses an external reference between the relation table k (203) and the relation table j (202). The tenth line indicates that the partial contents of the j element not defined in the XML document structure definition 108 are stored in the column w of the relation table j (202). However, the partial structure is actually stored in the structure search engine 106 for each tag, and only the file ID (xi-a in this example) assigned to the stored image 204 on the structure search engine 106 is a relation table. Stored in column w of j (202).

データ変換モジュール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 data conversion module 101 first secures each area of the relation table i, j, k in the storage area via the RDB 105 based on the relation table schema definition 110. Next, the data conversion module 101 extracts one of the i, j, k, or o elements from the XML document 107, and whether or not the format of the extracted element with reference to the XML document structure definition 108 matches the schema definition. To check. If the definition is met, the data conversion module 101 stores the attribute value of each attribute of the element extracted by referring to the inter-schema mapping definition 109 as one record of the corresponding relation table in the RDB, and the id and pid of the record Set. id is generated and set according to the record position of the relation table. If the id of the parent element stored in the memory is stored in pid, the id is stored. Next, the data conversion module 101 temporarily stores the element name of the element and its id in the memory. When the o element is extracted from the XML document 107, the data conversion module 101 recognizes that the element extracted with reference to the XML document structure definition 108 corresponds to ANY, and the structure is displayed in the column of the corresponding record in the relation table j. A file ID designated by the search engine 106 is set, and a partial structure in which a tag j is added to the extracted o element is sent to the structure search engine 106. The structure search engine 106 stores the received partial structure as a storage image 204 in the storage area. The data conversion module 101 returns to the step of extracting the next element from the XML document 107 until the extraction of all elements of the XML document 107 is completed, and repeats the above processing.

図3を用いて、構造検索式変換モジュール102の動作について説明する。本説明では、図2の例で取り上げたXML文書構造定義108、スキーマ間マッピング定義109、および関係表スキーマ定義110に従って、データ変換モジュール101によりRDB105の関係表201、202、203、および構造検索エンジン106に格納イメージ204として格納されたXML文書107に対して、XQuery標準に従って記述された構造検索式111を処理する場合を例にとる。   The operation of the structure retrieval formula conversion module 102 will be described with reference to FIG. In this description, in accordance with the XML document structure definition 108, the inter-schema mapping definition 109, and the relation table schema definition 110 taken up in the example of FIG. The case where the structure retrieval formula 111 described according to the XQuery standard is processed with respect to the XML document 107 stored as the stored image 204 in the example 106 is taken as an example.

構造検索式111は、FOR句により変数$iにi要素名を代入する。従って、WHERE句はi要素の属性aが“xx19”であり、そのi要素は、属性bが“xx22”であるようなj要素を子要素として持ち、さらにそのj要素は、属性uが“xx24”であるようなo要素を子要素として持つことを条件としている。さらに、上記の条件で抽出したi要素全体を結果として取得することを要求している。   The structure search formula 111 assigns the i element name to the variable $ i by the FOR clause. Therefore, in the WHERE clause, the attribute a of the i element is “xx19”, and the i element has a j element whose attribute b is “xx22” as a child element. It is conditional on having an o element such as xx24 ″ as a child element. Furthermore, it is required to acquire the entire i element extracted under the above conditions as a result.

構造検索式変換モジュール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 expression conversion module 102 refers to the schema mapping definition 109 and converts the structure search expression 111 having the above meaning into an SQL expression 112 including a structure designation UDF. According to the mapping definition 109, the meaning of the above search expression is that the condition is applied to the column a of the relation table i (201), the column b of the relation table j (202), and the column w of the relation table j (202). It is equivalent to specifying it. Since the o element is not defined as a child element of the j element, the 10th line of the mapping definition 109 is applied and becomes a condition for the column w of the relation table j (202). However, since this column is a reference to the image 204 stored in the structure search engine 106, this condition is expressed by a structure designation 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構造式にマッチする部分データを含むか否かを判定するブール関数である。   From the above, the query 112 obtained by converting the structure search formula 111 extracts a record in which the column a is “xx19” from the relation table i (201), and the column b is extracted from the record in the relation table j (202). A record is extracted such that “xx22” and the storage image (204) of the structural search engine 106 referred to in the column w includes an o element such that the value of the attribute u = “xx24”. It is generated as an SQL expression that specifies that the external reference relationship is established between both records. The structure designation for the column w of the relation table j (202) is expressed by UDF XMLHAS. This is a Boolean function that determines whether the stored image on the structure search engine 106 indicated by the value of the column specified by the first argument contains partial data that matches the XPath structural formula specified by the second argument. .

また構造検索式111は、上記の条件を満たすi要素全体を結果として取得することを要求しているため、SQL式112のSELECT句には、XMLVALというXML文書構築UDFを指定する。これは、引数でID指定された要素について、全ての子孫要素をRDB105および構造検索エンジン106から抽出して、XML文書を再構築して返すスカラ関数である。   Since the structure retrieval formula 111 requires that all i elements satisfying the above conditions are obtained as a result, the XML document construction UDF XMLVAL is specified in the SELECT clause of the SQL formula 112. This is a scalar function that extracts all descendant elements from the RDB 105 and the structure search engine 106 for the element whose ID is specified by an argument, and reconstructs and returns an XML document.

図3〜図5を用いて、クエリ実行制御モジュール103の動作を説明する。   The operation of the query execution control module 103 will be described with reference to FIGS.

図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 RDB 105 has a plug-in processing mechanism 301. In this case, the function to be realized by the query execution control module 103 is incorporated in the RDB 105. Here, for the sake of explanation, a program that realizes this function alone is called a query execution control module, and is distinguished from the RDB 105 itself. The query execution control module 103 separates the SQL expression 112 including the UDF into a native SQL unit and a UDF unit, the RDB 105 processes the SQL unit, and the plug-in processing mechanism 301 processes the UDF unit. Since XMLHAS, which is a structure designation UDF, is actually processed by the structure search engine 106, it is issued to the engine as a structure search specification XPath query 302 supported by most structure search engines. However, when XMLHAS is realized as a plug-in built in the RDB 105, the structure designation UDF is directly executed on the RDB 105. XMLVAL, which is an XML document construction UDF, is also executed on the plug-in processing mechanism 301.

クエリ実行制御モジュール103は、クエリを実行する際に、先に構造検索エンジン106に対する条件でデータを絞るか、あるいは関係表に対する条件でデータを絞るか、クエリの処理効率を指標にして決定する。   When executing the query, the query execution control module 103 determines whether to narrow down the data first with the condition for the structure search engine 106 or narrow down the data with the condition for the relational table, using the processing efficiency of the query as an index.

SQL式112を例にとると、前者の場合は、まずXMLHASの条件判定に適合する構造検索エンジン106上の格納イメージ204を抽出し、そのID(この例ではxi−a)と関係表j(202)のカラムwの値が一致することも条件に含めて、関係表201,202からデータを抽出することになる。   Taking the SQL expression 112 as an example, in the former case, first, the stored image 204 on the structure search engine 106 that conforms to the XMLHAS condition determination is extracted, and its ID (xi-a in this example) and the relation table j ( 202), the value of the column w matches, and the data is extracted from the relationship tables 201 and 202, including the condition.

一方、後者の場合は、まず関係表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 storage image 204 on the structure search engine 106 indicated by the value of the column w of the record of the extracted relation table j (202).

上記のようなクエリ実行手順の決定は、一般的な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 general RDB 105. Therefore, when the RDB 105 including the plug-in processing mechanism 301 is used, it is not necessary to newly provide the query execution control module 103.

一方、RDB105にプラグイン処理機構301が備わっておらず、クエリ実行制御モジュール103をRDB105の外部に設ける必要がある場合の動作概要について、図4、図5を用いて説明する。クエリ実行制御モジュール103をRDB105の外に新たに設ける場合、上記のようなクエリ実行手順も独自に決定する必要がある。   On the other hand, an outline of operation when the RDB 105 does not include the plug-in processing mechanism 301 and the query execution control module 103 needs to be provided outside the RDB 105 will be described with reference to FIGS. 4 and 5. When the query execution control module 103 is newly provided outside the RDB 105, it is necessary to uniquely determine the query execution procedure as described above.

図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 structure search engine 106 will be described. When the query execution control module 103 receives the SQL expression 112 including the UDF, the UDF separation process 401 in the module separates into the native SQL expression 403 and the UDF section. Next, the query execution control module 103 issues the UDF part as an XPath search expression 302 to the structure search engine 106 (circled number 1), and the ID of the storage image 204 including data matching this expression (in this example, xi− a) is acquired and stored in the RDB 105 as a temporary table x (404). Next, on the condition that the ID stored in the column w of the relation table j (202) is included in the temporary table x, the query execution control module 103 performs data from the relation tables 201 and 202 using the SQL expression 403. Is extracted (circled number 2). However, x in the SQL expression 403 means a temporary table x, and x. id means the id column of the temporary table x. As a result of the search based on the SQL expression 403, the query execution control module 103 receives i. Data “r02” is returned as the id.

このようにしてタグ付き構造化文書再構成処理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 document reconstruction process 402 reconstructs the i element having the extracted ID from the data of the relational tables 201 to 203 and the stored image 204 of the structure search engine 106. For this reason, the tagged structured document reconstruction process 402 creates SQL expressions 405 to 407 that extract data from the relational table with reference to the inter-schema mapping definition 109 and issues these SQL expressions to the RDB 105. (Circled number 3). These are for extracting all descendant elements of the i element having the extracted ID “r02” based on the external reference relationship between the relationship tables. Here, “r02” is assigned to iid of the SQL expression 405. Nothing is substituted for jid, and as a result, the result of the SQL expression 407 is not returned. In the case of this example, the SQL expression 407 may be omitted. On the other hand, since the i element partially includes data of the stored image 204 stored in the structural search engine 106, the tagged structured document reconstruction process 402 executes a query 408 for acquiring the query 408 to obtain the structural image. Is issued (circled number 3 ') to obtain the stored image 204. The tagged structured document reconstruction process 402 refers to the XML document structure definition 108, the inter-schema mapping definition 109, and the relation table schema definition 110, reconstructs the XML document from the extracted data and the storage image 204, and obtains a result 113. Obtain (circled number 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の場合と同一である。   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 UDF separation process 401 separates the SQL expression 112 including the UDF into a query like the native SQL expression 502. The query execution control module 103 issues this SQL expression to the RDB 105 (circled number 1), and narrows down the data according to the conditions for the relationship tables 201 and 202. At that time, the value of the column w of the relation table j (202) is also extracted at the same time. The query execution control module 103 performs i. id “r02”, j. The value “xi-a” is received as w. The structure determination processing 501 receives the result of the SQL expression 502, sends the storage image ID “xi-a” and the XPath expression 302 to the structure search engine 106 (circled number 2), and the stored image that matches these conditions is searched for the structure. It is determined whether or not it is registered in the engine 106. If there is data corresponding to the structure search engine 106, the storage image ID “xi-a” is passed to the structured document reconstruction process 402 with tag. The subsequent processing is the same as in the case of FIG.

なお、以上の説明では、構造検索式変換モジュール102とクエリ実行制御モジュール103を区別して説明したが、これらは一つのモジュールとして実現されていても構わない。その場合は、UDFを含むSQL式112を生成せずに、構造検索式111から直接SQL式403、502に変換するような実施例もあり得ることは自明である。   In the above description, the structure search expression conversion module 102 and the query execution control module 103 are distinguished from each other, but these may be realized as one module. In that case, it is obvious that there may be an embodiment in which the SQL expression 112 including the UDF is not generated and the structure search expression 111 is directly converted into the SQL expressions 403 and 502.

以降、本実施例におけるマッピング定義チューニングモジュール104が行う具体的なマッピング定義改善の処理手順について、図6、図7(a)、図7(b)、図8を用いて説明する。   Hereinafter, specific mapping definition improvement processing procedures performed by the mapping definition tuning module 104 according to the present embodiment will be described with reference to FIGS. 6, 7 (a), 7 (b), and 8.

図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 definition tuning module 104 refers to the search history database and counts the frequency of issuing structure search formulas for the same UDF. Like the condition specification for the o element in the structure search formula 111 in the examples of FIGS. Mapping definition tuning module 104 automatically generates a relation table storing this part and a mapping definition.

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 definition tuning module 104 newly creates a relation table o (601) on the RDB 105, and defines an external reference relationship with the relation table j (202). At this time, the relation table schema definition 110 is changed to the relation table schema definition 603. The relation table o is defined as having four columns, columns pid, u, v, and id. At the same time, the inter-schema mapping definition 109 is changed to the inter-schema mapping definition 604. The mapping definition tuning module 104 deletes the description indicating that the undefined part existing in the 10th line of the mapping definition 109 is mapped to the structure search engine, and newly adds the relation table j and the relation table o to the 10th line. A description representing the reference relationship and a description representing the correspondence between each attribute of the o element and each column of the relationship table o are added to the 11th and 12th lines. Further, the mapping definition tuning module 104 changes {ANY} of the XML document structure definition 108 to <ou = “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を削除する。   Details of the processing procedure executed by the mapping definition tuning module 104 are as follows. The mapping definition tuning module 104 follows each definition record of the inter-schema mapping definition 109 and finds partial contents of elements not defined in the XML document structure definition 108. Next, the mapping definition tuning module 104 refers to the relation table schema definition 110 and acquires the relation table and column identifier defined in the partial contents. Next, the mapping definition tuning module 104 sends an SQL search expression to the RDB 105, and acquires an attribute value of the relation table and column position. Since the attribute value indicates the file ID of the structure search engine 106, the mapping definition tuning module 104 acquires the stored image 204 from the structure search engine 106. Next, the mapping definition tuning module 104 secures a storage area of the relation table o in the storage area via the RDB 105. Next, the mapping definition tuning module 104 extracts the o element from the stored image 204 in accordance with the processing procedure of the data conversion module 101 and creates the relation table o via the RDB 105. Next, the mapping definition tuning module 104 adds the definition of the relation table o to the relation table schema definition 110 and updates the relation table schema definition 110 to the relation table schema definition 603. Next, the mapping definition tuning module 104 adds the mapping definition for the relational table o to the inter-schema mapping definition 109 and updates the inter-schema mapping definition 109 to the inter-schema mapping definition 604. Next, the mapping definition tuning module 104 follows the definition sentence of the XML document structure definition 108, finds an undefined element, and replaces it with the definition of the o element. Next, the mapping definition tuning module 104 deletes the stored image 204 from the structure search engine 106.

以上の変更が加えられたマッピング定義においては、構造検索式111は、構造検索式変換モジュール102によって、SQL式602に変換されることになる。このSQL式は、構造指定UDFを含まないため、RDB105で処理するのに望ましい形となっている。   In the mapping definition to which the above changes are made, the structure search formula 111 is converted into the SQL formula 602 by the structure search formula conversion module 102. Since this SQL expression does not include the structure designation UDF, it is a desirable form for processing by the RDB 105.

図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 XML document 701 has a self-recursive structure that is valid for the XML document structure definition 702. That is, a plurality of j elements themselves appear as child elements of the j element. A method for storing such an XML document in a relation table is defined by an inter-schema mapping definition 703 and a relation table schema definition 704. The third line of the mapping definition 703 means that the parent of the j element is an i element or a j element, and the distinction is expressed by the value of the column prl (“i” or “j”) of the relation table j. Yes. There are two relation tables as the storage destination of the XML document 701, the relation table i (705) and the relation table j (706). The external reference relationship between the relation table i and the relation table j, and the relation table j Self-reference relationship is defined.

一方、構造検索式707は、属性aの値が“xx01”であるi要素の子孫要素として任意の階層に出現する、属性aの値が“xx18”であるようなj要素を抽出することを要求している。このことをSQL式で表現するには、再帰クエリを利用する必要がある。構造検索式707は、構造検索式変換モジュール102によって、SQL式708に変換される。このSQL式は、再帰的に関係表j(706)の自己参照関係を辿って、一時表tmpに、i要素の全ての子孫を抽出して行く再帰クエリである。   On the other hand, the structure search expression 707 extracts a j element that appears in an arbitrary hierarchy as a descendant element of an i element whose attribute a value is “xx01” and whose attribute a value is “xx18”. Demands. In order to express this in an SQL expression, it is necessary to use a recursive query. The structure search expression 707 is converted into an SQL expression 708 by the structure search expression conversion module 102. This SQL expression is a recursive query that recursively follows the self-reference relationship of the relation table j (706) and extracts all descendants of the i element in the temporary table tmp.

しかし、一般的に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 structure search engine 106 to improve. In general, a structural search engine is designed so that a search process can be performed with a reasonable performance even for deep data, and may be more efficient than managing with a relational table.

図7(b)に示すスキーマ間マッピング定義709は、上記のスキーマ間マッピング定義703における3〜6行目のj要素を関係表j(706)に対応付けている記述を削除し、新たに3行目に、i要素の子孫を全て構造検索エンジン106に格納する記述を追加している。関係表スキーマ定義710は、関係表i(705)に構造検索エンジン106での格納イメージのIDを格納するカラムwを追加している。   The inter-schema mapping definition 709 shown in FIG. 7B deletes the description in which the j element on the 3rd to 6th lines in the inter-schema mapping definition 703 is associated with the relation table j (706), and 3 A description for storing all descendants of the i element in the structure search engine 106 is added to the line. In the relation table schema definition 710, a column w for storing the ID of the stored image in the structure search engine 106 is added to the relation table i (705).

以上のマッピング定義においては、XML文書701は、関係表705および構造検索エンジン106の格納イメージ711,712に分解して格納される。また構造検索式707は、構造検索式変換モジュール102によって、UDFを含むSQL式713に変換される。SQL式713は、SQL式708と比較して再帰を含まないシンプルなクエリとなっており、RDB105と構造検索エンジン106の適切な使い分けが成される。   In the above mapping definition, the XML document 701 is decomposed and stored in the relationship table 705 and the storage images 711 and 712 of the structure search engine 106. The structure retrieval formula 707 is converted into an SQL expression 713 including UDF by the structure retrieval formula conversion module 102. The SQL expression 713 is a simple query that does not include recursion compared to the SQL expression 708, and appropriate use of the RDB 105 and the structure search engine 106 is achieved.

なお、以上のような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 RDB 105 to be stored in the structure search engine can be applied to an XML document other than an XML document having a recursive structure. For example, when storing an XML document with a deep hierarchy in a relational table, a large number of relational tables are defined to define external reference relationships between them. Must add all the conditions of the external reference relationship to the SQL expression. Such a condition is not efficient because it is processed as a join operation with a high search cost in the RDB. Even in such a case, it is possible to improve the search efficiency by applying the mapping definition tuning method as shown in FIG.

階層の深い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 structure search expression 801 is a query that specifies conditions regarding an i element, a j element that is a child element thereof, and a k element that is a child element thereof. When the inter-schema mapping definition 109 is used, this structure search expression is converted into the SQL expression 803 by the structure conversion module 102. This SQL expression includes two join operations, “i.id = j.pid” and “j.id = k.pid”. On the other hand, the relation table k (203) is updated so as to include the values of the column a of the relation table i (201) and the column c of the relation table j (202) as in the relation table k (802). As a result, the same structure retrieval formula can be executed as a query only for the relation table k (802).

関係表スキーマ定義110、およびスキーマ間マッピング定義109は、それぞれ関係表スキーマ定義805、スキーマ間マッピング定義806に更新されることになる。スキーマ間マッピング定義806の1行目は、i要素の属性aの値を関係表k(802)のカラムiaにも格納することを表現している。6行目も同様である。以上のマッピング定義においては、構造検索式801は、構造検索式変換モジュール102によって、SQL式804に変換される。該検索式はジョイン操作を含まないため検索コストが低い。   The relation table schema definition 110 and the inter-schema mapping definition 109 are updated to the relation table schema definition 805 and the inter-schema mapping definition 806, respectively. The first line of the inter-schema mapping definition 806 expresses that the value of the attribute a of the i element is also stored in the column ia of the relation table k (802). The same applies to the sixth line. In the above mapping definition, the structure search expression 801 is converted into the SQL expression 804 by the structure search expression conversion module 102. Since the search formula does not include a join operation, the search cost is low.

複数の構造検索式の効率化を目的とする場合は、全ての構造検索式のパスの和を取って、上記と同様のマッピング定義改善手法を適用することが可能である。例えば、以下の構造検索式全てに関して効率化を図る場合:
・ /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 definition tuning module 104 also refers to the issuance history of the update query, and determines whether or not to apply this mapping definition improving method according to the balance between the issuance frequencies of the reference query and the update query.

なお、以上の説明で用いたスキーマ間マッピング定義の記法は実施例を限定するものではなく、同様の意味を表現し得る定義仕様であれば、どのような記法でも適用可能である。また、以上は、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.

実施例の全体構成図である。It is a whole block diagram of an Example. 実施例のXML文書のデータ変換機能に関する部分の構成図である。It is a block diagram of the part regarding the data conversion function of the XML document of an Example. 実施例のクエリリライト機能に関する部分の構成図である。It is a block diagram of the part regarding the query rewrite function of an Example. 実施例のクエリ実行機能に関する部分の構成図である。It is a block diagram of the part regarding the query execution function of an Example. 実施例のクエリ実行機能に関する部分の構成図(続き)である。It is a block diagram (continuation) of the part regarding the query execution function of an Example. 実施例のスキーママッピング改善例を説明する図である。It is a figure explaining the schema mapping improvement example of an Example. 実施例のスキーママッピング改善例を説明する図(続き)である。It is a figure (continuation) explaining the schema mapping improvement example of an Example. 実施例のスキーママッピング改善例を説明する図(続き)である。It is a figure (continuation) explaining the schema mapping improvement example of an Example. 実施例のスキーママッピング改善例を説明する図(続き)である。It is a figure (continuation) explaining the schema mapping improvement example of an Example.

符号の説明Explanation of symbols

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.
JP2004234344A 2004-08-11 2004-08-11 Xml data management method Pending JP2006053724A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (24)

* Cited by examiner, † Cited by third party
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