JP2009104276A - データ管理装置 - Google Patents

データ管理装置 Download PDF

Info

Publication number
JP2009104276A
JP2009104276A JP2007273429A JP2007273429A JP2009104276A JP 2009104276 A JP2009104276 A JP 2009104276A JP 2007273429 A JP2007273429 A JP 2007273429A JP 2007273429 A JP2007273429 A JP 2007273429A JP 2009104276 A JP2009104276 A JP 2009104276A
Authority
JP
Japan
Prior art keywords
data
storage
basic data
basic
search
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
JP2007273429A
Other languages
English (en)
Inventor
Yoshihiro Otsuka
義浩 大塚
Takenao Mizuguchi
武尚 水口
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2007273429A priority Critical patent/JP2009104276A/ja
Publication of JP2009104276A publication Critical patent/JP2009104276A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】簡易な構成で迅速にデータ検索できるデータ管理装置を得ること。
【解決手段】XML文書に含まれるデータを格納するデータ管理装置において、データの格納ルールに基づいて、XML文書内の各データを、予め設定されたデータ構造内に格納させる基本データまたは格納先のデータ構造が決められていない拡張データに設定し、基本データを基本データ格納DB23に格納させるとともに、拡張データを拡張データ格納DB24に格納させる格納実行部18と、各基本データが格納される位置および各拡張データが格納される位置を格納先管理情報として記憶する格納先情報記憶部20と、データの検索要求があった場合に、格納先管理情報に基づいて、基本データ格納DB23および拡張データ格納DB24から検索要求に対応する基本データおよび拡張データを検索する検索処理部15と、を備える。
【選択図】 図1

Description

本発明は、管理対象となるデータ部分に応じてデータ部分を格納するデータベースを使い分けるデータ管理装置に関するものである。
近年、カーナビゲーション装置や携帯電話などの組込み機器の高機能化に伴って、組込み機器で用いる使い勝手の良いデータベースの開発が進められている。このようなデータベースにおいては、例えば種々のデータを効率良く格納できることや、データベース内から迅速に所望のデータを検索できることが望まれる。ところが、組込み機器に高速な検索処理を実現させるため、データ構造を特定したRDB(Relational Data Base)のテーブルのように予め格納するデータを決めてしまうと、後に拡張データを追加してデータを格納することができないといった問題があった。
特許文献1に記載のデータ変換システムは、スキーマ構造を含んだXML(eXtensible Markup Language)データから、使用する部分のみをリレーショナル形式に変換してRDBに格納している。
また、特許文献2に記載のデータベースモデルは、階層構造データフォーマットのXML文書等に対し、記述子やその階層記述子などをリレーショナルデータベースマネジメントシステムにマッピングしている。
特開2006−114045号公報 特開2006−501539号公報
しかしながら、上記前者および後者の従来技術では、PC(Personal Computer)に比べてCPU(Central Processing Unit)能力が低くメモリ量が少ない組込み機器上でXML文書をRDBに格納させると、組込み機器はRDBに格納したデータを高速に検索できないという問題があった。
また、上記後者の従来技術のように、RDBマッピングXML−DBを装置に搭載して拡張データを持たせやすいXML文書をデータベースに格納させた場合、予め必要なデータだけを格納したRDBに比べて、データベースに余分な情報が格納されるので、検索処理が遅くなるという問題があった。
本発明は、上記に鑑みてなされたものであって、簡易な構成で迅速に所望のデータを検索できるデータ管理装置を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、XML文書に含まれるデータを分割して、分割したデータをリレーショナルデータベースまたはXMLデータベースに格納するデータ管理装置において、分割されるデータの格納先に関する格納ルールに基づいて、前記XML文書内の各データを、予め設定された所定のデータ構造内に格納させる基本データまたは格納先のデータ構造が決められていない拡張データに設定し、前記基本データを前記リレーショナルデータベースに格納させるとともに、前記拡張データを前記XMLデータベースに格納させる格納実行部と、前記各基本データが格納される前記リレーショナルデータベース内の位置および前記各拡張データが格納される前記XMLデータベース内の位置を、格納先管理情報として記憶する格納先記憶部と、前記データの検索要求があった場合に、前記格納先管理情報に基づいて、前記リレーショナルデータベースおよび前記XMLデータベースから前記検索要求に対応する基本データおよび拡張データを検索する検索処理部と、を備えることを特徴とする。
この発明によれば、各基本データが格納されるリレーショナルデータベース内の位置および各拡張データが格納されるXMLデータベース内の位置を記憶しておくので、簡易な構成で迅速に所望のデータを検索できるという効果を奏する。
以下に、本発明に係るデータ管理装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本発明の実施の形態1に係るデータ管理装置の構成を示す図である。データ管理装置1は、例えばカーナビゲーション装置や携帯電話などの組込み機器に配設される装置(ハイブリッドデータベースシステム)である。
本実施の形態のデータ管理装置1は、XML文書を、予め決められた構造に格納できる基本データ部分(所定のデータ構造内に格納させるデータ)と、予め決められた構造に格納できない拡張データ部分(格納先のデータ構造が決められていないデータ)と、に自動分割し、それぞれRDB(基本データ格納DB23)とRDBマッピングXML−DB(拡張データ格納DB24)へ格納する。
本実施の形態では、例えば、データ管理装置1を搭載する機器で共通利用されるデータ(頻繁に検索されるデータ)を基本データに設定し、XML文書の用途の違いによって基本データの範疇に含まれないデータを拡張データに設定する。
データ管理装置1では、組込み機器向けに最適なスキーマを考案して、RDBやRDBマッピングXML−DBを設計しておく。これにより、データ管理装置1は、RDBやRDBマッピングXML−DBに格納しておいた基本データ部分や拡張データ部分を高速に検索する。
図1に示すように、データ管理装置1は、検索要求入力部11、検索結果出力部12、格納ルール入力部13、データ入力部14、検索処理部15、格納ルール記憶部16、格納ルール判定処理部17、格納実行部18、格納先管理部19、格納先情報記憶部(格納先記憶部)20、基本データ検索部21、拡張データ検索部22、基本データ格納DB23、拡張データ格納DB24を備えている。
検索要求入力部11は、検索対象となるデータの検索条件を入力して検索処理部15へ送る。検索結果出力部12は、基本データ検索部21や拡張データ検索部22によって検索されたデータ(検索結果)を、検索処理部15を介して受け取り、外部装置などに出力する。
格納ルール入力部13は、データベーススキーマの生成指示に関する情報(後述の格納ルール条件情報101)を入力して格納ルール判定処理部17へ送る。データ入力部14は、データ管理装置1に格納する文書データ(後述の文書103)(XML文書)を入力して格納実行部18に送る。
格納実行部18は、データ入力部14から送られてくる文書103を解析して各階層のデータを抽出し、格納ルール判定処理部17に抽出したデータの格納先を問い合わせる。格納実行部18は、問い合わせたデータの格納先が後述の格納先情報テーブル102内に有る場合に、格納先を問い合わせたデータが基本データであると判断する。
格納実行部18は、データの格納先として格納先情報(基本データの格納先であるテーブルIDとカラムID)を格納ルール判定処理部17から受け取ると、基本データ格納DB23内からテーブルIDで指定された基本データ格納テーブルを探し出し、抽出した基本データ格納テーブル内から、カラムIDで指定されたカラムを探し出す。格納実行部18は、探し出した基本データ格納テーブル内のカラムへ文書103の基本データを格納する。
格納実行部18は、基本データ格納DB23へ新たなデータを格納する際に、新たな基本データの行を格納する格納先(後述の基本データエントリID、テーブルID)を生成し、文書103のデータ格納が終わるまで記憶しておく。
格納実行部18は、問い合わせたデータの格納先が格納先情報テーブル102内に無い場合に、格納先を問い合わせたデータが拡張データであると判断する。格納実行部18は、格納先を問い合わせたデータが拡張データであると判断した場合、格納先を問い合わせた拡張データに、記憶しておいたテーブルIDと基本データエントリIDを対応付ける。格納実行部18は、格納対象のデータが拡張データである場合に、拡張データを格納する情報テーブル(後述の拡張データ格納テーブル105)を拡張データ格納DB24へ生成し、生成した拡張データ格納DB24に拡張データを格納する。
格納ルール判定処理部17は、格納ルール入力部13から格納ルール条件情報101を受けると、格納ルール条件情報101に従ったデータベーススキーマの生成指示を格納先管理部19に行なう。
また、格納ルール判定処理部17は、格納実行部18からデータ(文書103)の格納先の問い合わせがあると、格納先管理部19にデータの格納先(格納先情報)を照会させる。格納ルール判定処理部17は、格納先管理部19から格納先情報(照会結果)として基本データの格納先であるテーブルIDとカラムIDを受けると、これらの格納先情報を格納実行部18に渡す。
格納先管理部19は、格納ルール判定処理部17からデータベーススキーマの生成指示を受けると、格納ルール条件情報101に基づいて格納先情報テーブル102を生成し、格納先情報記憶部20に記憶させる。また、格納先管理部19は、格納先情報テーブル102に基づいて、基本データを格納する情報テーブル(後述の基本データ格納テーブル104)を基本データ格納DB23に生成する。
格納先管理部19は、格納ルール判定処理部17からデータの格納先の照会があると、該当する格納先情報が格納先情報記憶部20にあるか否かを判断する。格納先管理部19は、問い合わせのあったデータの階層に一致する条件を格納先情報テーブル102から探す。問い合わせのあったデータに対応する格納先情報が格納先情報記憶部20にあれば、格納先管理部19は、問い合わせのあったデータは基本データであると判定し、格納ルール判定処理部17に基本データの格納先である情報テーブルのテーブルIDとカラムIDを送る。
格納ルール記憶部16は、格納ルール判定処理部17が格納ルール入力部13を介して受け取った格納ルール条件情報101を記憶するメモリなどの記憶手段である。格納先情報記憶部20は、格納先管理部19が生成した格納先情報テーブル102を記憶するメモリなどの記憶手段である。
検索処理部15は、検索要求入力部11から検索条件を受けると、検索要求入力部11からの検索条件に対応するデータの階層を格納先管理部19へ問い合わせるとともに、格納先管理部19から送られてくる回答(データの格納先に関する格納先情報)に基づいて、基本データの検索を先に行なうか拡張データの検索を先に行なうか(基本データ検索であるか拡張データ検索であるか)を判断する。
検索処理部15は、格納先管理部19から検索条件に対応する格納先情報(後述の基本データ格納テーブル名とカラム名)を取得できた場合に、基本データの検索を先に行なうと判断し、基本データ検索部21に、格納先情報と検索条件を渡して、基本データの検索を要求する。
検索処理部15は、格納先管理部19から検索条件に対応する基本データ格納テーブル名とカラム名を取得できなかった場合に、拡張データの検索を先に行なうと判断し、拡張データ検索部22に拡張データの検索を要求する。検索処理部15は、拡張データ検索部22に拡張データの検索を要求した場合、拡張データ検索部22が検索して得た格納先情報(後述の基本データ格納テーブル名、基本データエントリID)を基本データ検索部21へ渡して、基本データ検索部21に基本データの検索を要求する。検索処理部15は、基本データ検索部21や拡張データ検索部22が検索したデータを検索結果出力部12へ送る。
基本データ検索部21は、検索処理部15から送られてくる格納先情報と検索条件とに基づいて、基本データ格納DB23から基本データを検索し、基本データエントリIDを含む、同一行の全てのカラムのデータを取得する。基本データ検索部21は、取得したデータを検索処理部15へ送る。
基本データ検索部21は、検索処理部15から送られてくる検索条件が、格納している基本データに対応していない条件であると判断した場合に、検索条件が拡張データの検索条件であると判断し、拡張データ検索部22に検索を要求する。基本データ検索部21は、データの格納先を示す階層条件が格納先情報テーブル102に無い場合に、検索条件は格納している基本データに対応していない条件であると判断する。
拡張データ検索部22は、拡張データ格納DB24から格納先情報に応じた拡張データを検索する。拡張データ検索部22は、検索処理部15から送られてくる格納先情報に基づいて、基本データエントリIDおよび基本データ格納テーブル名が一致するデータを拡張データ格納DB24からから全て取得する。拡張データ検索部22は、取得したデータ(拡張データ、基本データ格納テーブル名、基本データエントリID)を検索処理部15へ送る。
基本データ格納DB23は、格納先管理部19が生成した基本データ格納テーブル104を格納するデータベースである。拡張データ格納DB24は、格納実行部18が生成した拡張データ格納テーブル105を格納するデータベースである。
つぎに、データ管理装置1の動作手順(データの格納処理とデータの検索処理)について説明する。図2は、データの格納処理手順を示すフローチャートである。データ管理装置1へは、予め格納ルール入力部13から格納ルール条件情報101を入力しておく。格納ルール入力部13は、格納ルール条件情報101を格納ルール記憶部16に記憶(設定)させる(ステップS110)。
ここで、格納ルール条件情報101の構成について説明する。図3は、格納ルール条件情報の一例を示す図である。図3では、格納ルール条件情報(格納ルール条件式)101の実装仕様の一例を示している。格納ルール条件情報101は、ユーザによって設定される情報であり、組込み機器などで利用するXML文書を、XML文書の全てで共通となる基本データ部分と、XML文書の用途によって異なる拡張データ部分とに、分割するための格納ルールに関する情報である。
例えば、同図の1行目の条件式では、「book−list」という名前のテーブルに「title」という名前のカラムを設け、そのカラムに、入力文書の中で階層が「/book/title/」にあるノード値を格納することを示している。このINPUT文において、TOの次に記載されているのが格納先の基本データ格納テーブル名であり、ASの次に記載されているのがそのテーブルにおける格納先カラム名である。なお、図3では条件式の記述順に沿って、同一テーブル内のカラムの順序が決まる仕様を示している。
つぎに、格納ルール判定処理部17は、格納ルール条件情報101に従ったデータベーススキーマの生成指示を格納先管理部19に行なう。格納先管理部19は、格納ルール判定処理部17からデータベーススキーマの生成指示を受けると、格納ルール条件情報101に基づいて格納先情報テーブル102を生成し、格納先情報記憶部20に記憶させる(ステップS120)。
格納先情報テーブル102は、文書103から分割されたXML文書の何れのデータ部分が基本データ格納DB23の何れの位置に格納され、文書103から分割されたXML文書の何れのデータ部分が拡張データ格納DB24の何れの位置に格納されたかを示す情報である。
ここで、格納先情報テーブル102の構成について説明する。図4は、格納先情報テーブルの一例を示す図である。格納先情報テーブル(格納先管理情報)102は、基本データ格納テーブル名、カラム名、階層パスをそれぞれ対応付けした、データの格納先に関する情報テーブルである。図4では、例えば、基本データ格納テーブル名の「book−list」、カラム名の「title」、階層パスの「/book/title/」が対応付けられている。
つぎに、格納先管理部19は、格納先情報テーブル102に基づいて、基本データ格納DB23に基本データ格納テーブル104を生成する(ステップS130)。ここで、基本データ格納テーブル104の構成について説明する。図5は、基本データ格納テーブルの構成の一例を示す図である。基本データ格納テーブル104は、「基本データエントリID」、「title」、「title−kana」、「author」、「author−kana」を対応付けした、基本データに関する情報テーブルである。図5では、基本データ格納テーブル名が「book−list」である基本データ格納テーブル104の構成を示している。
「基本データエントリID」は、データのエントリを識別する情報である。また、「title」、「title−kana」、「author」、「author−kana」は、それぞれ、表題、表題のカナ読み、著者、著者のカナ読みを示すカラム名である。
図5では、「基本データエントリID」が「1」の基本データは、「title」が「竜宮城ガイドブック」であり、「title−kana」が「リュウグウジョウガイドブック」であり、「author」が「浦島太郎」であり、「author−kana」が「ウラシマタロウ」である場合を示している。
基本データ格納DB23に基本データ格納テーブル104が生成された後、データ入力部14に格納対象の文書103が入力されると、この文書103は格納実行部18に送られる(ステップS140)。
ここで、格納対象となる文書103の構成について説明する。図6は、格納対象となる文書の構成の一例を示す図である。図6では、文書103の表題が「竜宮城ガイドブック」、表題のカナ読みが「リュウグウジョウガイドブック」、著者が「浦島太郎」、著者のカナ読みが「ウラシマタロウ」、出版社(publisher)が「おとぎ出版」、国際標準図書番号(isbn(International Standard Book Number))が「123−1234567890」である場合を示している。
格納実行部18は、文書103を解析して各階層のデータを抽出し(ステップS150)、格納ルール判定処理部17に抽出したデータの格納先を問い合わせる。格納ルール判定処理部17は、格納実行部18からデータの格納先の問い合わせがあると、格納先管理部19にデータの格納先を照会させる。
格納先管理部19は、格納ルール判定処理部17からデータの格納先の照会指示があると、該当する格納先情報が格納先情報記憶部20にあるか否かを判断する(ステップS160)。具体的には、格納先管理部19は、格納先情報テーブル102から問い合わせのあったデータの階層に一致する条件を探す。
問い合わせのあったデータに対応する格納先情報が格納先情報記憶部20にあれば(ステップS160、Yes)、格納先管理部19は、問い合わせのあったデータは基本データであると判断する(ステップS170)。そして、格納先管理部19は、問い合わせのあったデータ(階層パス)に対応するテーブルID(基本データ格納テーブルを識別するID)とカラムIDを格納先情報テーブル102から抽出する(ステップS180)。テーブルIDは、基本データ格納テーブル104などの基本データ格納テーブルを識別するIDである。また、カラムIDは、格納先情報テーブル102に示したカラム名を識別するIDである。
格納先管理部19は、基本データの格納先であるテーブルIDとカラムIDを格納ルール判定処理部17に送る。格納ルール判定処理部17は、格納先管理部19から基本データの格納先であるテーブルIDとカラムIDを受けると、受け取ったテーブルIDとカラムIDを格納実行部18に送る。
格納実行部18は、格納先管理部19からテーブルIDとカラムIDを受けると、格納先を問い合わせたデータが基本データであると判断する。そして、格納実行部18は、基本データ格納DB23内の基本データ格納テーブル104に文書103の基本データを格納する。具体的には、格納実行部18は、格納先管理部19が抽出したテーブルIDで指定される基本データ格納テーブル内の、格納先管理部19が抽出したカラムIDで指定されるカラムへ基本データを格納する(ステップS190)。このとき、基本データ格納DB23では、格納の際に新たな基本データの行を生成し、生成したデータ行に基本データエントリIDを振っておく。
格納実行部18は、新たな基本データの行に対応する基本データエントリIDと、新たな基本データを格納する基本データ格納テーブルのテーブルIDとを、文書103のデータ格納が終わるまで記憶しておく(ステップS200)。
この後、格納実行部18は、ステップS150の処理で抽出した全てのデータをデータ管理装置1内(基本データ格納DB23または拡張データ格納DB24)に格納したか否かを判断する(ステップS210)。
格納実行部18が、ステップS150の処理で抽出した全てのデータをデータ管理装置1内に格納していないと判断すると(ステップS210、No)、格納先管理部19は、次のデータに対応する格納先情報が格納先情報記憶部20にあるか否かを判断する(ステップS160)。
問い合わせたデータに対応する格納先が格納先情報テーブル102内にないと格納先管理部19が判断すると(ステップS160、No)、格納実行部18は、格納先を問い合わせたデータが拡張データであると判断する。そして、格納実行部18は、格納先を問い合わせたデータに、ステップS200で記憶しておいた基本データエントリIDおよびテーブルIDを対応付けし、拡張データ格納DB24へ格納する。格納実行部18は、拡張データ格納DB24内の拡張データ格納テーブル105に拡張データを格納する。
データ管理装置1は、ステップS150の処理で抽出した全てのデータをデータ管理装置1内(基本データ格納DB23または拡張データ格納DB24)へ格納するまで、ステップS160〜S230の処理を繰り返す。
図7は、拡張データ格納テーブルの構成を示す図である。拡張データ格納テーブル105は、ノードの階層構造が付加された、拡張データに関する情報テーブル(ノードテーブル)である。拡張データ格納テーブル105では、「ノードID」、「親ノードID」、「階層パス」、「ノード名」、「ノード値」、「基本データ格納テーブル名」、「基本データエントリID」が対応付けられている。
「ノードID」は、拡張データのノードを識別する情報であり、「親ノードID」は、拡張データが属する親ノードを識別する情報(「ノードID」)である。また、「階層パス」は、拡張データのノードが属する階層であり、「ノード名」は、拡張データのノード名である。また、「ノード値」は、拡張データのノード値であり、「基本データ格納テーブル名」は、基本データを格納するテーブルのテーブル名である。また、「基本データエントリID」は、基本データのエントリを識別する情報である。
例えば、「ノードID」が「1」の拡張データは、「親ノードID」が「0」であり、自ノードが親ノードであることを示している。また、「ノードID」が「1」の拡張データは、「階層パス」が「/book/」である。また、「ノード名」は、「book」であり、「ノード値」は、無しである。さらに、「基本データ格納テーブル名」は、「book−list」であり、「基本データエントリID」は「1」である。
本実施の形態では、拡張データ格納テーブル105にツリー構造で格納する拡張データのルートから子孫までの全ノードに、基本データ格納テーブル104に分割して格納される基本データと同じエントリID(基本データエントリID)を対応付けておく。例えば、ノードIDが「1」〜「3」のノードは、基本データ格納テーブル104に格納されている基本データに対応するノードであるので、この基本データと同じ基本データエントリIDの「1」を対応付けておく。
なお、本実施の形態では、拡張データを拡張データ格納DB24へ格納させる際に、拡張データとステップS200で記憶しておいた基本データエントリIDおよびテーブルIDを対応付けたが、基本データエントリIDおよびテーブルIDを抽出するまでは、拡張データの格納を保留し、他の基本データから格納処理を行なう。換言すると、最初の基本データを格納して基本データエントリIDおよびテーブルIDを取得するまでは、拡張データの拡張データ格納DB24への格納処理を保留する。
つぎに、データ管理装置1に格納されたデータの検索処理について説明する。図8は、データの検索処理手順を示すフローチャートである。検索要求入力部11に検索条件が入力されると、検索要求入力部11は検索条件を検索処理部15へ送る(ステップS310)。
検索処理部15は、検索要求入力部11からの検索条件を解析し、基本データの検索を先に行なうか拡張データの検索を先に行なうかを判断する。具体的には、検索処理部15は、格納先管理部19から基本データ格納テーブル名とカラム名を得ることができたか否かに基づいて、検索対象が基本データであるか拡張データであるかを判断する。検索処理部15は、例えば、検索条件が、/book/title/=“竜宮城ガイドブック”である場合、階層がbookの下のtitleで、その値が“竜宮城ガイドブック”であるデータのセットを取得するために、/book/title/という階層を格納先管理部19へ問い合わせる。
格納先管理部19は、検索処理部15から問い合わせのあった階層に一致する条件(基本データ格納テーブル名とカラム名)を格納先情報テーブル102から抽出する(ステップS320)。格納先管理部19は、例えば、基本データ格納テーブル名が「book−list」、カラム名が「title」を、/book/title/の階層に一致する条件として格納先情報テーブル102から抽出する。格納先管理部19は、抽出したこれらの基本データ格納テーブル名やカラム名を検索処理部15へ送る。
検索処理部15は、検索条件(データの階層)に対応する基本データ格納テーブル名とカラム名を格納先管理部19から取得することができた場合に(ステップS330、Yes)、検索処理は基本データが先であると判断する(ステップS340)。そして、検索処理部15は、基本データ検索部21に格納先情報テーブル102内の格納先に関する情報(基本データ格納テーブル名の「book−list」およびカラム名の「title」)と検索条件(=“竜宮城ガイドブック”)を送る。
基本データ検索部21は、検索条件に対応する基本データを基本データ格納DB23から検索して取得する。具体的には、基本データ検索部21は、検索処理部15から送られてくる格納先情報と検索条件とに基づいて、基本データ格納DB23から基本データを検索し、基本データエントリIDを含む、同一行の全てのカラムのデータを取得する。これにより、基本データ検索部21は、基本データ格納DB23から基本データ格納テーブル名と基本データエントリIDに対応するデータ行を取得する(ステップS350)。基本データ検索部21は、取得した基本データを検索処理部15へ送る。
さらに、検索処理部21は、基本データ格納テーブル104内の格納先情報(基本データエントリID=「1」と、基本データ格納テーブル名の「book−list」)を拡張データ検索部22へ送る。拡張データ検索部22は、基本データ検索部21が検索した基本データに対応する拡張データを拡張データ格納DB24から検索して取得する。ここでの拡張データ検索部22は、検索処理部21からの格納先情報を用いて、基本データエントリIDおよび基本データ格納テーブル名が一致する拡張データを拡張データ格納DB24から全て取得する。具体的には、拡張データ検索部22は、検索処理部21からの基本データ格納テーブル名に対応する基本データ格納テーブル名を有するとともに、検索処理部21からの基本データエントリIDに対応する基本データエントリIDを有する拡張データを、拡張データ格納テーブル105から抽出する(ステップS360)。
拡張データ検索部22は、取得したデータを検索処理部15へ送る。検索処理部15は、基本データ検索部21および拡張データ検索部22から得た検索結果を検索結果出力部12へ送り、検索結果出力部12から検出結果が出力される(ステップS370)。
検索処理部15は、検索条件に対応する基本データ格納テーブル名とカラム名を格納先管理部19から取得することができなかった場合に(ステップS330、No)、検索処理は拡張データが先であると判断する(ステップS380)。換言すると、検索要求入力部11から入力された検索条件が、格納先情報テーブル102に格納されている基本データの条件(階層パス)に対応しない場合に、検索処理部15は、拡張データを基本データよりも先に検索すると判断する。例えば、検索条件が、/book/isbn/=“123−1234567890”であるデータ(セット)の検索を要求した場合(階層がbookの下のisbnで、その値が“123−1234567890”のデータ検索を行なう場合)、/book/isbn/という階層条件が格納先情報テーブル102には無い。このため、検索処理部15は検索条件が拡張データであると判断する。
そして、検索処理部15は、拡張データ検索部22に、/book/isbn/=“123−1234567890”という条件の検索を要求する。拡張データ検索部22はこの検索条件にしたがって拡張データ格納DB24(拡張データ格納テーブル105)の中を検索する。この結果、拡張データ検索部22は、拡張データ(ノードID)とともに、基本データ格納テーブル名「book−list」と基本データエントリID=「1」という情報を得ることができる(ステップS390)。
拡張データ検索部22は、検索して得た拡張データ、基本データ格納テーブル名、基本データエントリIDを検索処理部15へ送る。そして、検索処理部15は、基本データ格納テーブル名と基本データエントリIDを基本データ検索部21へ送り、基本データ検索部21に基本データの検索を要求する。基本データ検索部21は、取得した拡張データに対応する基本データを基本データ格納DB23から検索して取得する(ステップS400)。具体的には、基本データ検索部21は、基本データ格納DB23から、基本データ格納テーブル名と基本データエントリIDの一致するデータ行を抽出し、抽出したこれらのデータ行を検索処理部15へ送る。
検索処理部15は、基本データ検索部21および拡張データ検索部22から得た検索結果を検索結果出力部12へ送り、検索結果出力部12から検出結果が出力される(ステップS370)。
なお、本実施の形態では、基本データエントリIDとテーブルIDを別々のIDとしたが、基本データエントリIDにテーブルIDを含めておいてもよい。換言すると、基本データエントリIDによって、テーブル名と基本データを識別してもよい。特許請求の範囲に記載の基本データ識別情報が、基本データエントリIDおよびテーブルIDに対応している。
このように実施の形態1によれば、ユーザによって設定される格納先情報テーブル102にしたがって、文書(XML文書)103を基本データ格納DB(RDB)23と、拡張データ格納DB(RDBマッピングXML−DB)24に分割格納するとともに、格納したデータの格納先を管理しているので、簡易な構成で迅速に所望のデータを検索できる。
また、よく利用する基本データを基本データ格納DB23に格納しているので、利用頻度の低い拡張データを拡張データ格納DB24から検索する場合よりも、利用頻度の高い基本データを基本データ格納DB23から高速に検索できる。
また、拡張データ格納テーブル105の拡張データに基本データ格納テーブル104の基本データと同じ基本データエントリIDを対応付けているので、基本データ格納DB23から基本データを検索する際には、この基本データに対応する拡張データを拡張データ格納DB24から一括して容易に検索できる。また、拡張データ格納DB24から拡張データを検索する際には、この拡張データに対応する基本データを基本データ格納DB23から容易に検索できる。したがって、データ管理装置1は、XML文書として元々同じツリー構造にあった全データを、基本データ格納DB23や拡張データ格納DB24から容易に取得することが可能となる。
また、XML文書を所定の階層をトップとしたデータ群に分け、各データ群ごとに基本データと拡張データとに分割するよう、ユーザが格納ルール条件情報101によって指定できるので、ユーザが所望する基本データと拡張データとの分割を容易に行なうことが可能となる。これにより、XML文書をユーザが決めた格納ルールに従って、基本データ格納DB23と拡張データ格納DB24に格納することが可能となる。
実施の形態2.
つぎに、図9〜図13を用いてこの発明の実施の形態2について説明する。実施の形態2では、基本データ格納DB23に新たな基本データ格納テーブルを追加する。なお、本実施の形態では、図1に示した実施の形態1と同様のデータ管理装置1を用いる。
基本データ格納DB23は、RDBであるのでデータベースの運用開始後は、既存の情報テーブル(基本データ格納テーブル104)を変更することはできない。一方、既存のテーブルとは異なる別の情報テーブルを基本データ格納DB23内に新たに追加することは可能である。
本実施の形態では、基本データ格納DB23への新たな情報テーブルの追加処理の一例として、実施の形態1で用いた文書103(book)とは異なる文書(後述の文書108(music))を基本データ格納DB23へ格納する場合について説明する。
実施の形態2に係るデータ管理装置1の動作手順として、まず新たな文書の追加格納処理について説明する。なお、データ管理装置1による新たな文書の追加格納処理のうち、図2に示した実施の形態1のデータ格納処理と同様の処理手順によって行う処理の説明は省略する。
既存の文書103とは異なる文書(後述の新たな文書108)を基本データ格納DB23へ格納する際には、基本データ格納DB23に新たな情報テーブルを追加する必要がある。基本データ格納DB23に新たな情報テーブルを追加する場合、データ管理装置1へは、予め格納ルール入力部13から新たな格納ルール条件情報(後述の格納ルール条件情報106)を入力しておく。格納ルール入力部13は、この新たな格納ルール条件情報106を格納ルール記憶部16に記憶させる。
ここで新たな情報テーブルを追加する際にデータ管理装置1に設定される新たな格納ルール条件情報106について説明する。図9は、新たな情報テーブルを追加する際に設定される新たな格納ルール条件情報の一例を示す図である。図9に示す格納ルール条件情報106は、図3に示した格納ルール条件情報101と同様の構成を有している。
例えば、図9に示す格納ルール条件情報106の1行目の条件式では、「music−list」という名前のテーブルに「title」という名前のカラムを設け、そのカラムに、入力文書の中で階層が「/music/title/」にあるノード値を格納することを示している。
つぎに、格納ルール判定処理部17は、格納ルール条件情報106に従ったデータベーススキーマの生成指示を格納先管理部19に行なう。格納先管理部19は、格納ルール条件情報106に基づいて、図10に示す新たな格納先情報テーブル107を生成し、格納先情報記憶部20に記憶させる。
格納先情報テーブル107の構成について説明する。図10に示す格納先情報テーブル107は、図4に示した格納先情報テーブル102と同様の構成を有している。本実施の形態では、既存の格納先情報テーブル102に、新たに格納する文書の格納先に関する情報を追加して格納先情報テーブル107を作成している。格納先情報テーブル107では、例えば、基本データ格納テーブル名の「music−list」、カラム名の「music」、階層パスの「/music/title/」が対応付けられている。
つぎに、格納先管理部19は、基本データ格納DB23内に、図11に示す新たに追加する基本データ格納テーブル109を生成する。なお、ここでの格納先管理部19が特許請求の範囲に記載の基本データ格納テーブル作成部に対応している。
図11では、基本データ格納テーブル名が「music−list」である基本データ格納テーブル109の構成を示している。基本データ格納テーブル109は、図5に示した基本データ格納テーブル104と同様の構成を有している。
図11では、「基本データエントリID」が「1」、「title」が「運命」、「title−kana」が「ウンメイ」、「artist」が「ベートーヴェン」、「artist−kana」が「ベートーヴェン」である場合を示している。
基本データ格納DB23に新たな基本データ格納テーブル109が生成された後、データ入力部14に格納対象の新たな文書108が入力されると、この文書108は格納実行部18に送られる。
ここで、新たに格納対象となる文書108の構成について説明する。図12は、新たに格納対象となる文書の構成の一例を示す図である。文書108は、musicに関する文書データであり、図6に示した文書103と同様の構成を有している。図12では、文書103の表題が「運命」、表題のカナ読みが「ウンメイ」、著者が「ベートーヴェン」、著者のカナ読みが「ベートーヴェン」、ジャンル(genre)が「クラシック」、ランキング(ranking)が「4つ星」である場合を示している。
文書108が格納実行部18に送られた後、データ管理装置1では、実施の形態1と同様の処理手順によって、文書108を基本データ格納DB23と拡張データ格納DB24に格納する。すなわち、格納実行部18は、文書108を解析して各階層のデータを抽出し、格納ルール判定処理部17に抽出したデータの格納先を問い合わせる。格納ルール判定処理部17は、格納実行部18からデータの格納先の問い合わせがあると、格納先管理部19にデータの格納先を照会させる。
格納先管理部19は、該当する格納先情報が格納先情報記憶部20にあるか否かを判断する。問い合わせのあったデータに対応する格納先情報が格納先情報記憶部20にあれば、格納先管理部19は、問い合わせのあったデータは基本データであると判断する。そして、格納先管理部19は、問い合わせのあったデータに対応するテーブルIDとカラムIDを格納先情報テーブル107から抽出する。格納先管理部19は、基本データの格納先であるテーブルIDとカラムIDを格納ルール判定処理部17を介して格納実行部18に送る。
格納実行部18は、格納先管理部19からテーブルIDとカラムIDを受けると、格納先を問い合わせたデータが基本データであると判断する。そして、格納実行部18は、基本データ格納DB23内の基本データ格納テーブル109に文書108の基本データを格納する。このとき、基本データ格納DB23では、格納の際に新たな基本データの行を生成し、生成したデータ行に基本データエントリIDを振っておく。
格納実行部18は、新たな基本データの行に対応する基本データエントリIDと、新たな基本データを格納する基本データ格納テーブルのテーブルIDとを、文書108のデータ格納が終わるまで記憶しておく。
この後、格納実行部18は、文書108から抽出した全てのデータをデータ管理装置1内に格納したか否かを判断する。格納実行部18が、文書108から抽出した全てのデータをデータ管理装置1内に格納していなければ、格納先管理部19は、次のデータに対応する格納先情報が格納先情報記憶部20にあるか否かを判断する。
問い合わせたデータに対応する格納先が格納先情報テーブル107内にないと格納先管理部19が判断すると、格納実行部18は、格納先を問い合わせたデータが拡張データであると判断する。そして、格納実行部18は、格納先を問い合わせたデータに、記憶しておいた基本データエントリIDおよびテーブルIDを対応付けし、拡張データ格納DB24内(後述の拡張データ格納テーブル110)へ格納する。
データ管理装置1は、文書108から抽出した全てのデータをデータ管理装置1内へ格納するまで、基本データ格納DB23への基本データの格納処理と拡張データ格納DB24への拡張データの格納処理を行なう。
図13は、新たに作成される拡張データ格納テーブルの構成を示す図である。新たに作成される拡張データ格納テーブル110は、図7に示した拡張データ格納テーブル105と同様の構成を有している。本実施の形態では、既存の拡張データ格納テーブル105に、新たに格納する拡張データを追加して、拡張データ格納テーブル110を作成している。
例えば、「ノードID」が「4」の拡張データは、「親ノードID」が「0」であり、「階層パス」が「/music/」である。また、「ノード名」は、「music」であり、「ノード値」は、無しである。さらに、「基本データ格納テーブル名」は、「music−list」であり、「基本データエントリID」は「1」である。なお、本実施の形態に係るデータ管理装置1のデータ検索処理は、実施の形態1のデータ管理装置1と同様の手順によって行うので、その説明は省略する。
このように実施の形態2によれば、ユーザによって設定される格納先情報テーブル102に基づいて、新たな基本データ格納テーブル109と新たな拡張データ格納テーブル110を生成するので、容易に新たな情報テーブルを追加することが可能となる。
実施の形態3.
つぎに、図14〜図20を用いてこの発明の実施の形態3について説明する。実施の形態3では、所定ノードの一部(曲名の1文字目など)を抽出し、抽出した情報を付加情報として拡張データに対応付けておく。
図14は、実施の形態3に係るデータ管理装置の構成を示す図である。図14の各構成要素のうち図1に示す実施の形態1のデータ管理装置1と同一機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。
本実施の形態のデータ管理装置1は、検索要求入力部11、検索結果出力部12、格納ルール入力部13、データ入力部14、検索処理部15、格納ルール記憶部16、格納ルール判定処理部17、格納実行部18、格納先管理部19、格納先情報記憶部20、基本データ検索部21、拡張データ検索部22、基本データ格納DB23、拡張データ格納DB24に加えて、拡張データ付加情報記憶部31を備えている。
拡張データ付加情報記憶部31は、格納先管理部19に接続しており、後述の付加情報(拡張データ付加情報)を記憶する。本実施の形態の格納先管理部19は、格納ルール判定処理部17によって生成される後述の付加定義情報テーブル112を、拡張データ付加情報記憶部31に格納させる。
実施の形態3に係るデータ管理装置1の動作手順として、まず文書の格納処理について説明する。なお、データ管理装置1による文書の格納処理のうち、図2に示した実施の形態1のデータ格納処理と同様の処理手順によって行う処理の説明は省略する。
データ管理装置1へは、実施の形態1と同様に予め格納ルール入力部13から後述の格納ルール条件情報111を入力しておく。ここで、格納ルール条件情報111の構成について説明する。図15は、実施の形態3に係る格納ルール条件情報の一例を示す図である。図15に示す格納ルール条件情報111は、図3に示した格納ルール条件情報101と同様の構成を有している。格納ルール条件情報111は、格納ルール条件情報101に付加定義情報(拡張データへ付加する情報を定義した情報)が加えられた情報である。
図15の5行目の条件式(ADDXの行)が付加定義情報(コマンド文)の一例であり、本実施の形態ではこの付加定義情報をデータを格納する際の格納ルールに追加する。付加定義情報は、例えば、拡張データ格納DB24へ拡張データを格納する際に、特定のノードに対してのみ所定のバイト長の情報を付加するコマンドである。所定のバイト長の情報は、例えば特定のノードとは異なる他のノードの一部(所定のバイト長からなるノード値)である。
図15では、「/music/genre/」のノードに対して、「/music/title/kana/」のノード値の最初の2バイト分を付加情報として拡張データ格納DB24へ格納させる場合の付加定義情報を示している。
付加定義情報を有した格納ルール条件情報111は、格納ルール判定処理部17によって解析され、格納ルール記憶部16に記憶させておく。格納ルール判定処理部17は、格納ルール条件情報111に基づいて、付加定義情報を格納する付加定義情報テーブルを生成する。
ここで付加定義情報テーブルの構成について説明する。図16は、付加定義情報テーブルの構成の一例を示す図である。付加定義情報テーブル112は、「付加情報ノード」、「バイト長」、「付加情報追加先ノード」を対応付けた付加定義情報に関する情報テーブルである。
「付加情報ノード」は、付加情報を作成する際に用いられるノードを示し、「付加情報追加先ノード」は、付加情報の作成対象となるノードの階層パスを示している。また、「バイト長」は、付加情報として拡張データ格納テーブル(後述の拡張データ格納テーブル113)に付加される情報のサイズ(バイト長)を示している。
格納先管理部19は、格納ルール判定処理部17によって生成された付加定義情報テーブル112を、拡張データ付加情報記憶部31に格納させる。2バイト分の付加情報は、実施の形態1で説明した拡張データ格納テーブル105の拡張データとともに、拡張データ格納テーブル113に格納される。
つぎに、格納ルール判定処理部17は、格納ルール条件情報111に従ったデータベーススキーマの生成指示を格納先管理部19に行なう。格納先管理部19は、格納ルール判定処理部17からデータベーススキーマの生成指示を受けると、格納ルール条件情報111に基づいて格納先情報テーブル102を生成し、格納先情報記憶部20に記憶させる。さらに、格納先管理部19は、基本データ格納DB23に基本データ格納テーブル104を生成する。
基本データ格納DB23に基本データ格納テーブル104が生成された後、データ入力部14に格納対象の文書103が入力されると、この文書103は格納実行部18に送られる。格納実行部18は、実施の形態1,2と同様の処理によって、基本データ格納DB23内の基本データ格納テーブル104に文書103の基本データを格納する。
また、格納実行部18は、実施の形態1,2と同様の処理によって、拡張データ格納DB24内に拡張データを格納する。このとき、本実施の形態では、格納実行部18が拡張データ付加情報記憶部31に格納されている付加定義情報テーブル112を用いて、拡張データ格納DB24内に拡張データ格納テーブル113を格納する。拡張データ格納テーブル113は、付加情報および拡張データを格納する情報テーブル(付加情報付きのノードテーブル)である。
図17は、付加情報を有した拡張データ格納テーブルの構成を示す図である。拡張データ格納テーブル113は、「ノードID」、「親ノードID」、「階層パス」、「ノード名」、「ノード値」、「基本データ格納テーブル名」、「基本データエントリID」、「付加情報」が対応付けられている。換言すると、拡張データ格納テーブル113は、実施の形態1で説明した拡張データ格納テーブル105に、付加情報を対応付けた情報テーブルである。
図17に示した拡張データ格納テーブル113では、「ノードID」が「5」の行の、ノード名が「genre」のノードに、付加情報として「/music/title/kana/」のノード値(曲名フリガナ)の2バイト分、”ウ”が追加された場合を示している。
ここで、データ入力部14から複数の文書が入力された場合の、基本データ格納テーブルと、拡張データ格納テーブルの構成例(生成結果例)について説明する。図18は、基本データ格納テーブル名が「music−list」である基本データ格納テーブル114の構成を示している。
例えば、「基本データエントリID」が「2」の基本データは、「title」が「ドナウ河のさざ波」であり、「title−kana」が「ドナウガワノサザナミ」であり、「artist」が「イヴァノヴィッチ」であり、「artist−kana」が「イヴァノヴィッチ」である。
図19は、図18に示した基本データ格納テーブルに対応する拡張データ格納テーブルである。図19では、図16に示した付加定義情報に基づいて、図18に示した基本データ格納テーブルに付加情報を付加した場合を示している。図19に示すように、基本データ格納テーブル114に対応する拡張データ格納テーブル115は、「ノードID」、「親ノードID」、「階層パス」、「ノード名」、「ノード値」、「基本データ格納テーブル名」、「基本データエントリID」、「付加情報」が対応付けられている。
例えば、「ノードID」が「8」の拡張データは、「親ノードID」が「7」であり、「階層パス」が「/music/genre/」である。また、「ノード名」は、「genre」であり、「ノード値」は、「クラシック」である。さらに、「基本データ格納テーブル名」は、「music−list」であり、「基本データエントリID」は「2」である。
図19に示した拡張データ格納テーブル115では、階層パスが「/music/genre/」のノードは、例えば「ノードID」が「8」の行のノードである。そして、このノードの基本データエントリIDは、「2」である。基本データエントリIDが「2」の基本データに含まれるノード値のうち、「/music/title/kana/」のノード値は、図18の基本データ格納テーブル114より、「ドナウガワノサザナミ」である。
したがって、格納実行部18は、付加情報を作成する際に用いるノードのノード値として、「ドナウガワノサザナミ」を抽出する。そして、「ドナウガワノサザナミ」から2バイト分の情報として「ド」を抽出し、抽出した「ド」を付加情報とする。格納実行部18は、この「ド」を「ノードID」が「8」の行のノードに対応付けて、拡張データ格納テーブル115に格納する。
このように、本実施の形態では、所定階層のノードに対して別階層のノード(付加情報)を組み合わせて同一レコードに格納させるようユーザから付加定義情報によって指示されることによって、データ管理装置1は、所定のノードが格納されるレコードに、このノードとは異なる同一レコード内の他のノードの値の一部または全部を対応付けて格納する。これにより、組み合わせられた階層のノードに、当該階層のノードを格納するレコードのインデックスとしての役割を持たせることが可能となる。
つぎに、データ管理装置1に格納されたデータの検索処理について説明する。なお、図8に示した実施の形態1のデータ検索処理と同様の処理についてはその説明を省略する。拡張データ格納DB24(付加情報が付加された拡張データ格納テーブル115)や基本データ格納DB23に対して、例えば、/music/genre/=”クラシック”の検索条件で検索要求がなされると、この検索要求は検索要求入力部11から検索処理部15へ送られる。
検索処理部15は、階層がmusicの下のgenreで、その値が“クラシック”であるデータのセットを取得するために、/music/genre/の階層を格納先管理部19へ問い合わせる。
格納先管理部19は、検索処理部15から問い合わせのあった階層に一致する条件を格納先情報テーブル102から抽出し、抽出した基本データ格納テーブル名やカラム名を検索処理部15へ送る。この後、検索処理部15は、基本データ検索部21と拡張データ検索部22に、基本データの検索と拡張データの検索を行なわせる。
拡張データ格納DB24では、/music/genre/の階層が拡張データ格納DB24に格納されているので、拡張データ格納テーブル115から拡張データの検索が行われる。
拡張データ検索部22は、検索結果として複数の/music/genre/のノードを示すレコードを得ることができる。このとき、検索結果として得ることができるレコードの件数が多いと、この拡張データに対応する全ての基本データを基本データ格納テーブル114から取得する際に長時間を要する。また、得られた拡張データや基本データを例えば50音順にソートして、ユーザに提供するまでには長時間を要する。
そこで、本実施の形態では、所定の検索条件を追加することによって、データの検索処理を行なう。例えば、ア行で始まる曲名が必要な場合、以下に示す検索条件によってデータ検索を行なう。すなわち、拡張データ検索部22は、「/music/genre/=”クラシック”」かつ「/music/title/の先頭2バイト<”ア”」の検索条件によってデータ検索を行なう。
これにより、拡張データ検索部22は、拡張データ格納DB24内の拡張データ格納テーブル115から検索した、/music/genre/のノードを示すレコードの中から、ア行で始まる曲だけを取り出すことができる。
拡張データ検索部22は、拡張データの検索結果を50音順にソートするとともに、ソートした検索結果を検索処理部15に送る。図20は、ソート後の検索結果の一例を示す図である。同図に示すように検索結果テーブル116は、「ノードID」、「親ノードID」、「階層パス」、「ノード名」、「ノード値」、「基本データ格納テーブル名」、「基本データエントリID」、「付加情報」が対応付けられている。
例えば、「ノードID」が11のレコードとして、「親ノードID」=10、「階層パス」=/music/genre/、「ノード名」=genre、「ノード値=クラシック、「基本データ格納テーブル名」=music−list、「基本データエントリID」=7、「付加情報」=アが得られる。
拡張データ検索部22は、取得した検索結果を検索処理部15へ送り、検索処理部15が検索結果を検索結果出力部12へ送る。そして、検索結果出力部12から検出結果が出力される。ユーザは、その後、この検索結果に基づいて、基本データ格納DB23内の基本データ格納テーブル114から、拡張データに対応する基本データを取得すればよい。
なお、本実施の形態では、付加情報が1つの場合について説明したが、付加情報は1つに限らず複数であってもよい。また、付加情報は2バイトに限らず何れのサイズであってもよい。
このように実施の形態3によれば、拡張データ格納テーブルに付加情報を付加しているので、データの検索結果を迅速にソートすることが可能となり、データの条件検索を迅速に行なうことが可能になる。また、所定の条件検索が必要なノードに対してのみ付加情報を与えるので、拡張データ格納DB24のメモリサイズが冗長に大きくならずに済む。
以上のように、本発明に係るデータ管理装置は、XML文書の格納とデータ検索に適している。
本発明の実施の形態1に係るデータ管理装置の構成を示す図である。 データの格納処理手順を示すフローチャートである。 格納ルール条件情報の一例を示す図である。 格納先情報テーブルの一例を示す図である。 基本データ格納テーブルの構成の一例を示す図である。 格納対象となる文書の構成の一例を示す図である。 拡張データ格納テーブルの構成を示す図である。 データの検索処理手順を示すフローチャートである。 新たな情報テーブルを追加する際に設定される新たな格納ルール条件情報の一例を示す図である。 新たに生成する格納先情報テーブルの一例を示す図である。 新たに追加する基本データ格納テーブルの一例を示す図である。 新たに格納対象となる文書の構成の一例を示す図である。 新たに作成される拡張データ格納テーブルの構成を示す図である。 実施の形態3に係るデータ管理装置の構成を示す図である。 実施の形態3に係る格納ルール条件情報の一例を示す図である。 付加定義情報テーブルの構成の一例を示す図である。 付加情報を有した拡張データ格納テーブルの構成を示す図である。 基本データ格納テーブル名が「music−list」である基本データ格納テーブルの構成を示す図である。 図18に示した基本データ格納テーブルに対応する拡張データ格納テーブルの構成を示す図である。 ソート後の検索結果の一例を示す図である。
符号の説明
1 データ管理装置
11 検索要求入力部
12 検索結果出力部
13 格納ルール入力部
14 データ入力部
15 検索処理部
16 格納ルール記憶部
17 格納ルール判定処理部
18 格納実行部
19 格納先管理部
20 格納先情報記憶部
21 基本データ検索部
21 検索処理部
22 拡張データ検索部
23 基本データ格納DB
24 拡張データ格納DB
31 拡張データ付加情報記憶部
101,106,111 格納ルール条件情報
102,107 格納先情報テーブル
103,108 文書
104,109,114 基本データ格納テーブル
105,110,113,115 拡張データ格納テーブル
112 付加定義情報テーブル
116 検索結果テーブル

Claims (6)

  1. XML文書に含まれるデータを分割して、分割したデータをリレーショナルデータベースまたはXMLデータベースに格納するデータ管理装置において、
    分割されるデータの格納先に関する格納ルールに基づいて、前記XML文書内の各データを、予め設定された所定のデータ構造内に格納させる基本データまたは格納先のデータ構造が決められていない拡張データに設定し、前記基本データを前記リレーショナルデータベースに格納させるとともに、前記拡張データを前記XMLデータベースに格納させる格納実行部と、
    前記各基本データが格納される前記リレーショナルデータベース内の位置および前記各拡張データが格納される前記XMLデータベース内の位置を、格納先管理情報として記憶する格納先記憶部と、
    前記データの検索要求があった場合に、前記格納先管理情報に基づいて、前記リレーショナルデータベースおよび前記XMLデータベースから前記検索要求に対応する基本データおよび拡張データを検索する検索処理部と、
    を備えることを特徴とするデータ管理装置。
  2. 前記リレーショナルデータベースは、前記基本データを識別する基本データ識別情報を前記基本データに対応付けて格納するとともに、前記XMLデータベースは、前記拡張データに対応する基本データの前記基本データ識別情報を前記拡張データに対応付けて格納し、
    前記検索部は、前記基本データ識別情報を用いて、前記基本データおよび前記拡張データを検索することを特徴とする請求項1に記載のデータ管理装置。
  3. 前記検索部は、前記検索要求に対応する基本データの格納先が前記格納先管理情報に設定されている場合に、前記格納先管理情報に基づいて前記リレーショナルデータベースから前記検索要求に対応する基本データを検索し、その後、検索した基本データに対応付けられている基本データ識別情報に基づいて前記XMLデータベースから前記検索要求に対応する拡張データを検索することを特徴とする請求項2に記載のデータ管理装置。
  4. 前記検索部は、前記検索要求に対応する基本データの格納先が前記格納先管理情報に設定されていない場合に、前記検索要求に対応する基本データの格納先に基づいて前記XMLデータベースから前記検索要求に対応する拡張データを検索し、その後、検索した拡張データに対応付けられている基本データ識別情報に基づいて前記リレーショナルデータベースから前記検索要求に対応する基本データを検索することを特徴とする請求項2または3に記載のデータ管理装置。
  5. 前記格納ルールに基づいて、前記基本データを格納するデータテーブルを前記リレーショナルデータベース内に作成する基本データ格納テーブル作成部をさらに備え、
    前記格納実行部は、前記格納ルールおよび前記拡張データに基づいて、前記拡張データを格納するデータテーブルを前記XMLデータベース内に作成することを特徴とする請求項1〜4のいずれか1つに記載のデータ管理装置。
  6. 前記格納実行部は、前記拡張データに付加する情報を定義した付加定義情報に基づいて、前記拡張データのうちの一部のデータを抽出するとともに抽出した一部のデータを前記拡張データに付加して前記XMLデータベース内に格納させることを特徴とする請求項1〜5のいずれか1つに記載のデータ管理装置。
JP2007273429A 2007-10-22 2007-10-22 データ管理装置 Pending JP2009104276A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007273429A JP2009104276A (ja) 2007-10-22 2007-10-22 データ管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007273429A JP2009104276A (ja) 2007-10-22 2007-10-22 データ管理装置

Publications (1)

Publication Number Publication Date
JP2009104276A true JP2009104276A (ja) 2009-05-14

Family

ID=40705902

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007273429A Pending JP2009104276A (ja) 2007-10-22 2007-10-22 データ管理装置

Country Status (1)

Country Link
JP (1) JP2009104276A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8271433B2 (en) 2009-12-30 2012-09-18 Nokia Corporation Method and apparatus for providing automatic controlled value expansion of information
JP2016018366A (ja) * 2014-07-08 2016-02-01 株式会社東芝 データ処理装置およびデータ処理方法
JP2021103494A (ja) * 2019-12-25 2021-07-15 富士通株式会社 実行方法、情報処理装置及び実行プログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CSND200700073002; 出羽 奏太郎: 'DB2 9' 月刊ソリューションIT 第18巻,第11号, 20061101, p.54-63, 株式会社リックテレコム *
JPN6012033534; 出羽 奏太郎: 'DB2 9' 月刊ソリューションIT 第18巻,第11号, 20061101, p.54-63, 株式会社リックテレコム *
JPN6012033537; 山川 多美: 'ハイブリッド・データベースにおけるXMLデータモデリング' PROVISION 第14巻,第1号, 20070202, p.86〜91, 日本アイ・ビー・エム株式会社 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8271433B2 (en) 2009-12-30 2012-09-18 Nokia Corporation Method and apparatus for providing automatic controlled value expansion of information
JP2016018366A (ja) * 2014-07-08 2016-02-01 株式会社東芝 データ処理装置およびデータ処理方法
JP2021103494A (ja) * 2019-12-25 2021-07-15 富士通株式会社 実行方法、情報処理装置及び実行プログラム

Similar Documents

Publication Publication Date Title
US11853334B2 (en) Systems and methods for generating and using aggregated search indices and non-aggregated value storage
JP6006267B2 (ja) 索引キーを使用して検索を絞込むシステムおよび方法
KR100930455B1 (ko) 쿼리별 검색 컬렉션 생성 방법 및 시스템
JP5550669B2 (ja) 検索装置、検索方法およびプログラム
JP5152877B2 (ja) 文書ベースシステムにおける文書データ記憶方法およびその装置
JP2005521954A (ja) リレーショナルデータベースをクエリーする方法および装置
US10078672B2 (en) Search device, search method, and computer program product
CN102810114A (zh) 基于本体的个人计算机资源管理***
JP4247135B2 (ja) 構造化文書記憶方法、構造化文書記憶装置、構造化文書検索方法
JP2005190163A (ja) 構造化データ検索方法、構造化データ検索装置およびプログラム
JP2008198237A (ja) 構造化文書管理システム
US20080133574A1 (en) Method, program and device for retrieving symbol strings, and method, program and device for generating trie thereof
JP2009104276A (ja) データ管理装置
JP2005242416A (ja) 自然言語文の検索方法および検索装置
JP2016018279A (ja) 文書ファイル検索プログラム、文書ファイル検索装置、文書ファイル検索方法、文書情報出力プログラム、文書情報出力装置及び文書情報出力方法
JP2007133682A (ja) 全文検索システム、及び、その全文検索方法
JPH08235040A (ja) データファイル管理システム
JP6666312B2 (ja) 多次元データ管理システム及び多次元データ管理方法
JP6496286B2 (ja) 施設検索装置、施設検索方法、コンピュータプログラム及びコンピュータプログラムを記録した記録媒体
JP6753190B2 (ja) 文書検索装置及びプログラム
JP2009129202A (ja) データ処理装置、データ処理方法、および、プログラム
JP2009098829A (ja) 漫画のコマ検索装置
JP6361472B2 (ja) 対応情報生成プログラム、対応情報生成装置及び対応情報生成方法
KR20080052173A (ko) 자연어 분석을 통한 미디어 정보 검색 방법
JP2006163723A (ja) ドキュメント検索方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120703

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121106