JP4227033B2 - データベース統合参照装置、データベース統合参照方法およびデータベース統合参照プログラム - Google Patents

データベース統合参照装置、データベース統合参照方法およびデータベース統合参照プログラム Download PDF

Info

Publication number
JP4227033B2
JP4227033B2 JP2004012306A JP2004012306A JP4227033B2 JP 4227033 B2 JP4227033 B2 JP 4227033B2 JP 2004012306 A JP2004012306 A JP 2004012306A JP 2004012306 A JP2004012306 A JP 2004012306A JP 4227033 B2 JP4227033 B2 JP 4227033B2
Authority
JP
Japan
Prior art keywords
database
data
inquiry
query
integration
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.)
Expired - Fee Related
Application number
JP2004012306A
Other languages
English (en)
Other versions
JP2005208757A (ja
Inventor
泰彦 金政
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2004012306A priority Critical patent/JP4227033B2/ja
Priority to US10/876,917 priority patent/US20050160076A1/en
Publication of JP2005208757A publication Critical patent/JP2005208757A/ja
Application granted granted Critical
Publication of JP4227033B2 publication Critical patent/JP4227033B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

この発明は、複数のデータベースに対するデータ参照の問い合わせを受け付け、各データベースから問い合わせに係るデータを取得するデータベース統合参照装置、データベース統合参照方法およびデータベース統合参照プログラムに関する。
従来より、異なるマシンや異なる環境に複数の既存データベースがあり、それらに跨って関連するデータが分散している場合に、それらを統合された1つのデータベースとして参照できるようにするための技術として、新たにデータウェアハウスを構築し、そこに全てのデータを移してくるという手法があった。
ところが、この手法では、元のデータベースからデータウェアハウスへデータをコピーすることによるタイムラグが生じるので、元のデータベースのデータをリアルタイムに参照することができないという問題点があった。また、データウェアハウスは構築にコストと時間を要するところ、簡単には作り直すことができないので、ビジネスが短周期で変化してデータベース統合の要求が変わってしまうような場合に、それに迅速に対応することができないという問題点もあった。
このようなことから、複数のDB(データベース)に分散しているデータを物理的に集めるのではなく、データグリッド技術を利用し、データは各DBに配置したまま、ユーザから統合されたデータの参照要求があった時点でリアルタイムに各DBに問い合わせて必要なデータを取得し、それを組み立ててユーザに返すという手法も検討されている。すなわち、問い合わせ型データベース統合と呼ばれる手法であるが、例えば、非特許文献1や2には、複数の異種のDB(製造元やデータ構築手法が異なるDB)に対して、同一のアクセス手段でアクセスする問い合わせ型データベース統合が開示されている。
かかる問い合わせ型データベース統合では、ネットワークを経由してデータを獲得してくるので、レスポンス時間は遅くなるが、近年のネットワークの高速化によって実用性が増してきている。また、複数のDBに跨っていたデータは、性能問題を除けばあたかも全て1つのDB上にあるかのように利用できるようになる。すわわち、問い合わせ型データベース統合によれば、データウェアハウスにおけるデータのリアルタイム性の問題点も解決し、データベース自体に手を入れる必要が無いので、ビジネスの変化によるデータベース統合の要求変更にも迅速に対応できるようになる。
"IBM DB2 Information Integrator V8.1"、[online]、[平成16年1月16日検索]、インターネット<http://www-6.ibm.com/jp/Products/news/030522/gaiyo.html>
"OGSA-DAI"、[online]、[平成16年1月16日検索]、インターネット<http://www.ogsadai.org/>
しかしながら、上記した従来の問い合わせ型データベース統合技術は、データベースへのアクセス手段を統合しただけであり、データの格納構造自体は変わっていないので、ユーザは元のデータ格納構造を意識してデータにアクセスする必要があった。つまり、データ自体は既存のデータベースに格納されたものをそのまま取り出して表示しているだけであり、実際にはアクセスしたデータごとにビューがユーザに提供されてしまい、ユーザからは、図26に例示するように、各データベースに分散していたテーブルがあたかも1つのデータベース上にあるように見えるに過ぎないので、ユーザは実際のデータ分散を意識して問い合わせを行う必要があった。このため、多数のデータベースに跨って関連するデータを集めてくるのは容易ではなく、以下に列挙するような具体的な問題点があった。
すなわち、多数に分割されているデータを集めて組み立てることが容易でないのは単一データベース内の場合も同様であるが、単一データベース内の場合は、一定のポリシーに基づいてデータが格納されて統一性があるのに対し、複数のデータベースに跨る場合は、そのような統一性が無くなるので、問い合わせが一層困難であるという問題点があった。
また、複数のデータベースに跨る場合には、データベースのメタ情報の所在も別々になり、その形式も様々に異なるので、全てのデータベースに関して格納構造を把握することが難しくなり、問い合わせが極めて一層困難になるという問題点があった。
さらに、同種のデータが複数のデータベースに分かれて格納され、かつ、ある1つの値を持つデータに関してはそれらのいずれか一方に格納されているような場合があるが、この場合において参照したいデータを取得するためには、それら全てのデータベースにアクセスして(問い合わせて)データを探す必要があるので、データベース数が多くなるに従って問い合わせが困難になるという問題点があった。
このようなことから、アクセスしたデータごとに提供される個々のビューを1つに纏め上げる(データビューの統合)機能を上位アプリケーションにおいて個別に作り込む必要もあったが、上位アプリケーションの開発には工数が掛かるので、近年の企業再編や事業再編といった頻繁なビジネス変化に対応して、迅速に上位アプリケーションを変更することが依然として困難であるという問題点もあった。
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、ユーザにおいてデータの分散を意識することなく問い合わせを行うことが可能なデータベース統合参照装置、データベース統合参照方法およびデータベース統合参照プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、請求項1に係る発明は、複数のデータベースに対するデータ参照の問い合わせを受け付け、各データベースから問い合わせに係るデータを取得するデータベース統合参照装置であって、問い合わせ結果の出力に用いるタグ付き文書の構造、当該タグ付き文書中の各要素と各データベースの各要素との対応関係、並びに、各データベース間の各要素の対応関係が規定された統合用メタデータを記憶する統合用メタデータ記憶手段と、前記タグ付き文書に対する問い合わせ形式でデータ参照の問い合わせを受け付け、前記統合用メタデータを参照し、各データベースに対して必要な問い合わせを行ってデータを取得して、前記タグ付き文書の構造で問い合わせ結果を生成する問い合わせ処理手段と、を備え、前記問い合わせ処理手段は、前記各データベース間の各要素の対応関係を示す木構造に基づいて、最初の問い合わせを行った要素から上位の要素を順に辿りながら対応するデータを対応するデータベースから取得するように問い合わせを行い、さらに、最上位の要素を取得した後は、当該最上位の要素から下位の要素を全て辿りながら対応するデータを対応するデータベースから取得するように問い合わせを行うことを特徴とする。
また、請求項2に係る発明は、上記の発明において、前記問い合わせ処理手段は、前記データ参照の問い合わせ内容および前記データベースに係るメタデータを用いて、各データベースに対する問い合わせの結果として最もデータが絞り込めそうなデータベースを決定し、当該データベースに対して最初の問い合わせを行うことを特徴とする。
また、請求項に係る発明は、データベース統合参照装置が、複数のデータベースに対するデータ参照の問い合わせを受け付け、各データベースから問い合わせに係るデータを取得するデータベース統合参照方法であって、前記データベース統合参照装置が、問い合わせ結果の出力に用いるタグ付き文書の構造、当該タグ付き文書中の各要素と各データベースの各要素との対応関係、並びに、各データベース間の各要素の対応関係が規定された統合用メタデータを統合用メタデータ記憶手段に格納する統合用メタデータ格納工程と、前記データベース統合参照装置が、前記タグ付き文書に対する問い合わせ形式でデータ参照の問い合わせを受け付け、前記統合用メタデータを参照し、各データベースに対して必要な問い合わせを行ってデータを取得して、前記タグ付き文書の構造で問い合わせ結果を生成する問い合わせ処理工程と、を含み、前記問い合わせ処理工程において、前記データベース統合参照装置が、前記各データベース間の各要素の対応関係を示す木構造に基づいて、最初の問い合わせを行った要素から上位の要素を順に辿りながら対応するデータを対応するデータベースから取得するように問い合わせを行い、さらに、最上位の要素を取得した後は、当該最上位の要素から下位の要素を全て辿りながら対応するデータを対応するデータベースから取得するように問い合わせを行うことを特徴とする。
また、請求項に係る発明は、複数のデータベースに対するデータ参照の問い合わせを受け付け、各データベースから問い合わせに係るデータを取得する方法をコンピュータに実行させるデータベース統合参照プログラムであって、問い合わせ結果の出力に用いるタグ付き文書の構造、当該タグ付き文書中の各要素と各データベースの各要素との対応関係、並びに、各データベース間の各要素の対応関係が規定された統合用メタデータを統合用メタデータ記憶手段に格納する統合用メタデータ格納手順と、前記タグ付き文書に対する問い合わせ形式でデータ参照の問い合わせを受け付け、前記統合用メタデータを参照し、各データベースに対して必要な問い合わせを行ってデータを取得して、前記タグ付き文書の構造で問い合わせ結果を生成する問い合わせ処理手順と、をコンピュータに実行させ、前記問い合わせ処理手順は、前記各データベース間の各要素の対応関係を示す木構造に基づいて、最初の問い合わせを行った要素から上位の要素を順に辿りながら対応するデータを対応するデータベースから取得するように問い合わせを行い、さらに、最上位の要素を取得した後は、当該最上位の要素から下位の要素を全て辿りながら対応するデータを対応するデータベースから取得するように問い合わせを行うことを特徴とする。
請求項1、またはの発明によれば、ユーザはタグ付き文書というビューのみを意識すればよく、その各データがどのデータベースに格納されているかを知る必要がなくなる。つまり、ユーザにおいてデータの分散を意識することなく問い合わせを行うことが可能になる。
また、請求項2の発明によれば、問い合わせ順番を操作して結果データを絞り込んでいくことによって、データ転送量を減らして、問い合わせにかかる時間を短縮するとともに、ネットワークにかかる負担も軽減することが可能になる。
また、請求項1、3または4の発明によれば、タグ付き文書の構造定義や問い合わせの内容に関わらず、問い合わせ結果としてのタグ付き文書全体を洩れなく求めることが可能になるとともに、データベースへの問い合わせの回数を少なく抑えることが可能になる。
以下に添付図面を参照して、この発明に係るデータベース統合参照装置、データベース統合参照方法およびデータベース統合参照プログラムの実施例を詳細に説明する。なお、以下では、本発明に係るデータベース統合参照装置を備えて形成されるデータベース統合参照システムを実施例として、かかる実施例に係るシステムの概要および特徴を説明した後に、種々の実施例(実施例1および2)を説明する。
[システムの概要および特徴]
最初に、図1および図2を用いて、実施例に係るデータベース統合参照システムの概要および特徴を説明する。図1および図2は、実施例に係るデータベース統合参照システムの概要および特徴を説明するための図である。
図1に示すように、実施例に係るデータベース統合参照システムは、複数のデータベースとユーザ端末との間にデータベース統合参照装置が介在して形成され、概略的には、このデータベース統合参照装置が、複数のデータベースに対するデータ参照の問い合わせをユーザ端末から受け付け、各データベースから問い合わせに係るデータを取得し、問い合わせ結果をユーザ端末に返すというものである。
そして、かかるシステムのデータベース統合参照装置では、図1および図2に示すように、統合用メタデータの利用によって、複数のデータベースに分散しているデータを統合して1つの仮想的なタグ付き文書(例えば、XMLファイル)としてユーザに意識させ、そのデータに対してタグ付き文書に対する問い合わせ形式でデータ参照の問い合わせ(例えば、XQueryというXML問い合わせ言語で記述された問い合わせ)を受け付け、統合されたデータをXML形式で取り出すことを特徴とする。
より具体的には、データベース統合参照装置では、データグリッドのインフラとして業界標準である「Globus Toolkit 3+OGSA-DAI」を使用し、その上に、統合したリレーショナルDBのデータをXMLというモデルで提供するための統合問い合わせエンジンを構築し、分散しているデータをXMLファイルのようにハンドルすることで、データベース統合参照装置側でのデータビュー統合を実現する。
このようなことから、実施例に係るデータベース統合参照システムによれば、以下に列挙するように、リアルタイムなデータアクセス、上位アプリケーションの開発工数の大幅削減、自由度および拡張性が高いDB統合、段階的なメタデータ構築などが可能になる。
すなわち、本実施例では、分散しているデータをDWH(データウェアハウス)のように物理的に一箇所に集めるのではなく、既存のDBに分散して配置された状態のまま、問い合わせ時に必要なデータだけを獲得し、結果として統合的なデータビューを作り上げる。これによって、リアルタイムなデータアクセスが可能になる。
また、本実施例では、分散しているデータをXML形式のファイルに統合するので、そのXMLファイルに対してXQueryで問い合わせを行い、問い合わせ結果もXML形式で取り出すことができる。つまり、上位アプリケーション側に対して、XMLファイルによって統合されたデータビューを提供することができるので、上位アプリケーション側でデータビュー統合のための機能を作りこむ必要がなくなり、これによって、上位アプリケーションの開発工数の大幅削減が可能になる。
また、本実施例では、複数のリレーショナルDBのデータをリレーショナルモデルのまま統合するのではなく、モデル変換を行ってXMLファイルというビューで統合する。かかるXMLファイルの形式はリレーショナルモデルよりも自由度および拡張性が高いので、この統合されたXMLファイルに対して柔軟な使い方が可能になる。つまり、本実施例によるデータビューはXMLによって統合されているため、検索システムだけではなく、XMLに対応した様々なアプリケーションシステムを本実施例に係るシステム上に容易に構築することができるなど、自由度および拡張性が高いDB統合が可能になる。
また、本実施例では、複数の分散しているデータからどのような仮想XMLを構成するかを、統合用メタデータで自由に定義するが、その際、問い合わせに必要な情報のみで定義することができる。これによって、初めから全ての情報を定義しておく必要がなくなり、段階的に統合用メタデータを構築することが可能になる。
以下に、実施例1に係るデータベース統合参照システムとして、システムの全体構成を最初に説明した後に、システム内のデータベース統合参照装置の構成、データベース統合参照装置による問い合わせ処理の手順、問い合わせ順序の最適化手法を順に説明し、最後に実施例1の効果等を説明する。
[システムの全体構成]
最初に、図3を用いて、実施例1に係るデータベース統合参照システムの全体構成を説明する。図3は、実施例1に係るデータベース統合参照システムの全体構成を示すシステム構成図である。
同図に示すように、実施例1に係るデータベース統合参照システムは、ユーザ端末10と、複数のデータベース(受注DB11、商品DB12、在庫DBI13および在庫DB
II14)と、データベース統合参照装置20とを、LANやインターネットなどのネット
ワークを介して相互に通信可能に接続して構成される。
このうち、各データベースは、実施例1によって統合されるデータベースであり、リレーショナルデータベースなどの既知のデータベース装置でそれぞれ構成される。この実施例1では、図3に例示するように、受注DB11、商品DB12、在庫DBI13および
在庫DBII14の4つのデータベースにデータが分散されている例を挙げている。
ここで、受注DB11は、ある会社が受注した注文に係る情報を記憶するDBであり、DB内の注文伝票テーブル11aは、図4に例示するように、注文伝票本体ごとに「order_id(注文ID)、customer(顧客名)、supplier(供給業者名)、order_date(受注年月日)」の各要素のデータを相互に対応付けて構成される。同様に、受注DB11内の商品テーブル11bは、注文伝票内の商品ごとに「order_id(注文ID)、item_code(商品コード)、quantity(注文数量)」の各要素のデータを相互に対応付けて構成される。なお、1枚の注文伝票には複数の注文商品が記述されているので、注文伝票テーブル11aの1レコードに対応する商品テーブル11bのレコードは複数ある。
商品DB12は、上記の会社が取り扱っている商品に係る情報を記憶するDBであり、DB内の取扱商品テーブル12aは、図4に例示するように、取扱商品ごとに「code(商品コード)、name(商品名)」の各要素のデータを相互に対応付けて構成される。
在庫DBI13は、上記の取扱商品の在庫に係る情報を記憶するDBであり、DB内の
在庫テーブルI13aは、図4に例示するように、取扱商品ごとに「code(商品コード)
、quantity(在庫数量)」の各要素のデータを相互に対応付けて構成される。同様に、在庫DBII14も、上記の取扱商品の在庫に係る情報を記憶するDBであるが、DB内の在
庫テーブルII14aは、図4に例示するように、取扱商品ごとに「item_code(商品コー
ド)、item_quantity(在庫数量)」の各要素のデータを相互に対応付けて構成される。
ここで、上記の注文伝票上では、商品の種類は商品コードでしか記述されていないが、人間が注文伝票を見るときには商品名で表示された方が見やすい。そこで、商品DB12の取扱商品テーブル12aを用いて注文伝票の商品コードを商品名に変換したいとユーザが考えたような場合に、本実施例1によるデータベース統合参照システムを利用するメリットがある。
また、注文伝票を見ながらその注文を処理するときに、同時に在庫数も表示させて在庫を確認したいとユーザが考えたような場合にも、本実施例1によるデータベース統合参照システムを利用するメリットがある(なお、この場合には、各商品の在庫数を在庫DBから取ってくることになるが、各商品の在庫数は商品によって在庫DBI若しくは在庫DB
IIのどちらかに分かれて格納されているので両者に在庫数を問い合わせることになる)。
このように、ユーザは、上記した4つのデータベースに分散している1つの注文に関連するデータを、1つに纏めて参照したいような場合に、本実施例1によるデータベース統合参照システムを利用するメリットがある。
図3に戻って、ユーザ端末10は、データベース統合参照装置20を介して複数のデータベースに対するデータ参照の問い合わせを行うユーザの端末であり、既知のパーソナルコンピュータやワークステーション、PDA、あるいは携帯電話やPHSの如き移動体通信端末などで構成される。
そして、ユーザ端末10は、主として、図1や図2に例示したように、XQueryというXML問い合わせ言語で記述された問い合わせ(XQuery問い合わせ)をキーボードやマウス等を介してユーザに入力させる役割、入力されたXQuery問い合わせをデータベース統合参照装置20に送信する役割、データベース統合参照装置20からXML形式の問い合わせ結果を受信する役割、受信した問い合わせ結果をモニタ等に出力する役割などを有する。
なお、図2に例示したように、実施例1に係るデータベース統合参照システムによって、ユーザには、各注文に関する情報が1つに纏められて、それがorderタグで囲まれて、1枚の大きなXMLファイルの中に全ての注文が並んで格納されているように見える。ただし、これはあくまでも論理的なビューであって、データの実体は各データベースの中にしかない。そのような論理的なビューが存在すると思って、ユーザがデータベース統合参照装置20に問い合わせを行うと、該当する注文の分のXMLデータが返ってくる。
図3に戻って、データベース統合参照装置20は、ユーザ端末10から受け付けたデータ参照の問い合わせを処理する既知のサーバコンピュータであり、主として、ユーザ端末10からXQuery問い合わせを受信する役割、各データベースから問い合わせに係るデータを取得してXMLの問い合わせ結果を生成する役割、生成したXMLの問い合わせ結果をユーザ端末10に送信する役割などを有する。以下に、本実施例1の主たる特徴を担うデータベース統合参照装置20の構成を詳細に説明する。
[データベース統合参照装置の構成]
データベース統合参照装置20は、図3に例示するように、記憶部21と、制御部22とを備えて構成される。このうち、記憶部21は、制御部22による各種処理に必要なデータおよびプログラムを記憶する手段であり、特に本発明に密接に関連するものとしては、同図に例示するように、統合用メタデータ21aをリポジトリに記憶する。
かかる統合用メタデータ21aは、各データベースを統合するために必要な情報が規定されたものであるが、具体的には、図6〜図11に例示するように、仮想XMLスキーマ情報、データベース情報、並びに、要素間の関連付け情報が記載されて構成される。
より詳細には、仮想XMLスキーマ情報としては、図6に例示するように、複数のデータベースに跨る関連データを、どのようなフォーマットのXMLデータとしてユーザに見せるかという情報が規定される。また、データベース情報としては、図7〜図10に例示するように、XMLの中の各要素(図6参照)に、どのデータベースのどの要素が対応するのかという情報が規定される。さらに、要素間の関連付け情報としては、図11に例示するように、異なるテーブルの異なるレコード同士を関連付けて1つのXMLとする場合に、各テーブルのどのカラムでそれぞれ対応をとるか(関連付けるか)という情報が規定される。なお、図6〜図11に分けて例示した統合用メタデータは、1つの統合用メタデータであり、1つのXML形式のファイルである。
このような統合用メタデータ21aを記憶部21は予め記憶するが、かかる統合用メタデータは、システムの管理者等によるマッピング作業(図5参照)を通じて作成される。すなわち、図5に例示するマッピング例は、図4に例示した4つのデータベースのデータを、XMLの木構造にマッピングした例であるが、このようなマッピング作業をシステム管理者等が行うことで、統合用メタデータ21aには、図5に例示する内容と同内容の情報がXML形式で記述され、そして、ユーザには、統合されたデータが図5に例示するフォーマットのXMLデータとして見えることになる。
なお、データベースのデータをXMLの木構造にマッピングする手法(ルール)は以下の通りである。(1)ユーザには、データベースを跨って1つに組み合わされたデータが、1つのXMLの中にデータ数だけ反復して入っているように見える。(2)統合したいデータベースのデータを、テーブル単位でXMLのエレメントにマッピングする。(3)テーブルに対応するXMLのエレメントは、階層的に配置することができる。(4)テーブルに対応するXMLのエレメントのうち、階層構造上で上下に隣接するエレメント同士は、対応するテーブル同士でデータが関連付けできる必要がある。つまり、お互いのテーブル同士で、ある1つのカラム同士が同じ値を取らなければならない。(5)1つのXMLエレメントに対応するテーブルは、別個のデータベースの別個のテーブルを複数指定しても構わない。(6)データベースのカラムに対応するXMLのタグ名は、カラム名とは別の名前にしても構わない。
図3に戻って、データベース統合参照装置20の制御部22は、OS(Operating System)などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する処理部であり、特に本発明に密接に関連するものとしては、同図に例示するように、問い合わせパーザ部22aと、問い合わせ処理部22bと、アクセス処理部22cとを備える。
このうち、問い合わせパーザ部22aは、ユーザ端末10から受け付けたXQuery問い合わせを構文解析し、構文チェックを行った後に、問い合わせ内容を内部形式へ変換する処理部である。なお、構文規則に反する問い合わせについては、その旨のエラーメッセージをユーザ端末10に返信する。
問い合わせ処理部22bは、問い合わせパーザ部22aで変換されたXQuery問い合わせを実際に処理し、各データベースに対して必要な問い合わせを行ってデータを取得するとともに、XMLで問い合わせ結果を生成してユーザ端末10に返信する処理部である。すなわち、各データベースへどのような順番でどのような問い合わせを行ってデータを獲得するかを計画し(各データベースに対して問い合わせをするSQLを生成し)、それを実行する(生成したSQLをデータベースに投げて結果を得る)。そして、問い合わせた結果として各データベースから取得したデータを、最終的にユーザ端末10に返信するXMLデータへと組み立てる。なお、問い合わせ処理部22bによる具体的な処理内容については、図13等を用いて後に詳述する。
アクセス処理部22cは、問い合わせ処理部22bからデータベースへの問い合わせ要求が行われると、実際にデータベースへアクセスする処理部である。具体的には、実施例1では、複数の異種のデータベースにアクセスするために、図12に例示するような、従来型の問い合わせ型データベース統合である「Globus Toolkit 3 + OGSA-DAI」を利用してアクセス処理を実行する。
[問い合わせ処理の手順]
次に、図13〜図23を用いて、データベース統合参照装置20による問い合わせ処理の手順を説明する。図13は、実施例1による問い合わせ処理の手順を示すフローチャートであり、図14〜図23は、かかる問い合わせ処理手順の具体例を示す図である。
図13に例示するように、データベース統合参照装置20は、ユーザ端末10から図2に例示したようなXQuery問い合わせの入力があると(ステップS1301肯定)、XQuery問い合わせを構文解析し、構文チェックを行った後に、問い合わせ内容を内部形式へ変換する(ステップS1302)。なお、構文規則に反する場合には、その旨のエラーメッセージをユーザ端末10に返信する。
続いて、データベース統合参照装置20は、問い合わせに関係する統合用メタデータを記憶部21から読み込んで、問い合わせ対象となっているXMLの構造と、その各エレメントに対応するデータがどのデータベースに格納されているかを求める(ステップS1303)。
具体的には、図14に例示するように、図2に例示したようなXQuery問い合わせについては、「order-list.xml」に対応する統合用メタデータを記憶部21から読み出し、かかるXMLの構造と、その各エレメントに対応するデータが格納されているデータベースとを求めることで、図14に例示するような木構造で表現可能な情報を得る。
そして、データベース統合参照装置20は、問い合わせ順序の最適化として、ステップS1303で得たXML構造の各エレメントを、そのデータが格納されているデータベースごとに分けて、それぞれに対してユーザがXQuery問い合わせの中で指定した条件文を検討し、最もデータが絞り込めそうなデータベースを決定する(ステップS1304)。
具体的には、図15に例示するように、XQuery問い合わせに含まれる「nama="FMV-6000CL"」という条件と「quantity>=2」という条件について、商品テーブルと商品取扱テーブルのどちらに最初に問い合わせを行った方が問い合わせ結果としてのデータ量が少なくなるかを予測し、データ量が少なくなると予測されたテーブルに対する問い合わせを最初に行うことを決定する。なお、同図では、取扱商品テーブルに対して最初に問い合わせることを決定した例を示しているが、かかる問い合わせ順序の最適化手法については、後に詳述する。
その後、データベース統合参照装置20は、ステップS1304で決定された最初のデータベースに対して条件に合致するデータを問い合わせるためのSQL問い合わせを作成し(ステップS1305)、かかるSQL問い合わせを当該データベースに投げて、問い合わせ結果を得る(ステップS1306)。ただし、この時点でデータベースから求める値は、上位のエレメントと関連付けられているカラムだけでよい。
具体的には、図16に例示するように、「nama="FMV-6000CL"」という条件に合致するデータを商品DBの取扱商品テーブルに問い合わせるためのSQL問い合わせを生成して、これを商品DBに投げることで、商品DBの取扱商品テーブルから条件に合致するデータとして「code=034564」を含んだ問い合わせ結果を得る。
続いて、データベース統合参照装置20は、前のデータベースへの問い合わせ結果を使って、順番にXMLの木構造の中で上位のエレメントを求めるSQL問い合わせを生成し、かかるSQL問い合わせを該当のデータベースに投げて問い合わせ結果を得るという処理(ステップS1307およびS1308)を、XMLの木構造の最上位のエレメントが求まるまで行って、データベースへの問い合わせを開始したエレメントから、次々と上位のエレメントに対応するデータの値を求めていく(ステップS1309)。
かかる処理においては、前の問い合わせ結果との関連付けを、データ絞り込みの条件として用いるとともに、XQuery問い合わせでユーザが指定した条件があれば、それもデータ絞込みの条件に加える。また、上下で隣接するエレメント同士について、それに対応するテーブルが同じデータベースのものであれば、RDBMS(リレーショナル・データベース・マネージメント・システム)にジョイン処理を任せるために、1つのSQL問い合わせで纏めて問い合わせを行う。さらに、データベースから求める値は上位のエレメントと関連付けられているカラムだけでよいが、最上位のエレメントに達した場合は、その最上位のエレメントに対応する全てのカラムを求める。
具体的には、図17に例示するように、前の問い合わせ結果として得た「code=034564」の関連付けから、受注DBに対する問い合わせを次に行うことを決定した後、かかる「code=034564」という条件と、XQuery問い合わせでユーザが指定した条件で未だ反映されていない「quantity>=2」という条件に合致するデータを問い合わせるためのSQL問い合わせを生成する。
ただし、このSQL問い合わせの生成に際しては、同図に例示するように、関連付けに係る2つのエレメント「order_id」の両方が受注DB上のテーブルであるので、1つのSQLで同時に問い合わせるためのSQL問い合わせを生成する。そして、生成したSQL問い合わせを受注DBに投げることで、注文伝票テーブルから条件に合致するデータとして「(order_id、customer、supplier、order_date)=(121、AsianTraders、Fujitsu、2003-07-25)」を含んだ問い合わせ結果を得る。なお、同図に示す例では、最上位のエレメントに達しているので、ここでは、その最上位のエレメントに対応する全てのカラムを求めている。
続いて、データベース統合参照装置20は、XMLの最上位のエレメントが求まれば(ステップS1309肯定)、そこから下位のエレメントを順に全て求めるSQL問い合わせを生成し、かかるSQL問い合わせを該当のデータベースに投げて問い合わせ結果を得るという処理(ステップS1310およびS1311)を、XMLの木構造の最上位から下位の全てのエレメントが求まるまで行って、次々と下位のエレメントに対応するデータの値を求めていく(ステップS1312)。かかる処理に際しては、上位のエレメントの問い合わせ結果との関連付けを、データ絞込みの条件として指定する。また、データベースから求める値としては、エレメントに対応付けられている全てのカラムを求める。
具体的には、図18に例示するように、「order_id=121」という条件に合致するデータを受注DBの商品テーブルに問い合わせるためのSQL問い合わせを生成し、これを商品テーブルに投げることで、「(order_id、item_code、quantity)=(121、034564、2)、(121、087245、5)、(121、063200、10)」という問い合わせ結果を得る。続いて、図19に例示するように、上記の問い合わせ結果から「(code=034564)or(code=087245)or(code=063200)」という条件に合致するデータを商品DBの取扱商品テーブルに問い合わせるためのSQL問い合わせを生成し、これを取扱商品テーブルに投げることで、「(code、name)=(034564、FMV-6000CL)、(087245、FMV-6000CL2)、(063200、FMV6667CX5)」という問い合わせ結果を得る。
さらに、図20に例示するように、上記の問い合わせ結果から「(code=034564)or(code=087245)or(code=063200)」という条件に合致するデータを在庫DBIの在庫テ
ーブルIに問い合わせるためのSQL問い合わせを生成し、これを在庫テーブルIに投げ
ることで、「(code、quantity)=(034564、38)、(063200、22)」という問い合わせ結果を得る。また、これと同様に、図21に例示するように、「(item_code=034564)or(item_code=087245)or(item_code=063200)」という条件に合致するデータを在庫DBIIの在庫テーブルIIに問い合わせるためのSQL問い合わせを生成し、これを在庫テーブ
ルIIに投げることで、「(item_code、item_quantity)=(087245、3)」という問い合わせ結果を得る。
そして、データベース統合参照装置20は、上記してきた処理によって全てのエレメントのデータ値が求まれば(ステップS1312肯定)、図15に例示するように、XMLの木構造を上から辿りながら、得られたデータ値から問い合わせ結果のXMLを組み立てる(ステップS1313)。ここで、この時点で、未だユーザからのXQuery問い合わせで指定した問い合わせ条件の一部が反映されていない可能性もあるので、データベース統合参照装置20は、問い合わせ条件を満たさない解をチェックして最終結果のXMLから除外してXMLを組み立てる(ステップS1314)。その後、データベース統合参照装置20は、図23に例示するように、問い合わせ結果のXMLを生成して出力する(ステップS1315)。
上記した一連の処理を経ることによって、XQuery問い合わせを行ったユーザ端末10に対して、XML形式のデータが問い合わせ結果として返信される。なお、上記したステップS1307〜S1312で、一度最上位のエレメントまで上がってから、再び下位のエレメントを問い合わせし直しており、同じデータベースに二度問い合わせを行っている点で一見すると無駄なように思えるが、これは、そうしなければXMLデータの一部が欠けてしまう可能性があるからである。すなわち、例を挙げれば、図16では「FMV-6000CL」に対する「code」だけを求めているが、最終的な結果で必要なのは、図22に例示するように、「order_id」が「121」の注文伝票で注文された3つの商品の「code」と「name」である。そして、これは、一旦最上位のエレメントを求めて「order_id」が確定するまでは求めることができないからである。
[問い合わせ順序の最適化手法]
続いて、上記の問い合わせ処理手順で説明した問い合わせ順序の最適化手法(図13のステップS1304に係る処理)を詳細に説明する。問い合わせ型データベース統合が抱える潜在的な問題点として、データベースのデータをネットワーク経由で取得するので、ローカルにデータを保持している場合に比べて、データへのアクセス速度が遅くなり、ネットワーク負荷も大きくなる点が挙げられる。
そして、実施例1におけるデータベース統合参照装置20では、複数のデータベースから関連するデータを順番に取得していく場合に、最初に取得するデータはユーザの問い合わせで指定された条件によって絞り込み、以降に取得するデータは前に取得したデータとの関連付けとユーザの指定した条件の両方を用いて絞り込むことにしている。このため、データの絞込みが足りないと、データベースに問い合わせをした結果として大量のデータが返ってきてしまい、データ転送に時間を要するばかりか、ネットワーク負荷を増大させてしまう。
これを具体的に説明すると、図14に例示したように、ユーザからの問い合わせにはデータを絞り込むための条件が2つ書かれている。1つ目は「商品名がFMV-6000CLであること」であり、2つ目は「その商品の発注数が2つ以上であること」というものである。その一方で、商品名の情報は商品DBの取扱商品テーブルに格納されており、発注個数の情報は受注DBの商品テーブルに格納されている。このため、データベース統合参照装置20は、最初にどちらのデータベースに対してSQL問い合わせを発行するかを決定する必要がある。
ここで、最初の問い合わせの結果データが多いと、その結果データを用いて行う次の問い合わせの結果データも多くなり、ユーザに返される最終的な問い合わせ結果は同じでも、途中でデータベース統合参照装置20に集められるデータの量が増えてしまい、データ転送に時間がかかってユーザへの応答に時間がかかるばかりが、ネットワークの負荷も増大させてしまう。そこで、データベース統合参照装置20は、最初にどちらのデータベースに対してSQL問い合わせを発行すれば、その問い合わせの結果データを少なくすることができるかを検討した上で、最初に問い合わせを開始するデータベースを決定する。そして、これについては、各データベースからデータベース自身のメタデータ(統合用メタデータとは異なる。)を取得した後に、以下の(1)〜(4)の事項を考慮して行われる。
(1)データの冗長性に関する制約条件
データベースのメタデータを参照し、XQuery問い合わせで条件付けが行われているカラムが、そのテーブルの主キーになっていないか、またはユニーク制約が設定されていないかを確認する。そのいずれかであれば、そのカラムはデータの重複が無いので、データを絞り込める可能性が高くなるからである。
(2)データ数
データベースのメタデータを参照し、テーブル内のレコード数が多いか確認する。テーブル内のレコード数が多いと、問い合わせの結果として返ってくるレコードの数も多くなる可能性が高いからである。
(3)データの型と桁数
データベースのメタデータを参照し、カラムのデータ型が数字や真偽値などの種類の少ないものであったり、桁数が少なかったりしていないかを確認する。この場合には、そのカラムは重複するデータが多くなる可能性が高いので、問い合わせの結果として多くのレコードが返ってくる可能性が高いからである。
(4)ユーザの指定した条件式の条件指定の種類
XQuery問い合わせ内の条件式が等号で指定されているか、不等号で指定されいるかを確認する。等号で指定されている場合は、不等号で指定されている場合よりもデータを絞り込める可能性が高いからである。
データベース統合参照装置20は、上記した4つの条件をそれぞれ満たしているかどうかを調べ、その結果によって各問い合わせの条件について点数付けを行い、最も点数の高い条件に係るデータベースから問い合わせを開始する。なお、図15に示した例は、「nama="FMV-6000CL"」という条件を取扱商品テーブルに対して最初に問い合わせる方が、データを絞り込める可能性が高いと判定された場合の例である。
上記したような最適化手法によって問い合わせを開始するデータベースを決定した後は、上記の問い合わせ処理手順で説明したように、関連付け情報を利用して、一旦XMLの最上位のエレメントへ向けて次々と上隣のエレメントを求めてゆく。ここで、XQuery問い合わせ内の他の問い合わせ条件に対応するデータベースに対しても同時にSQL問い合わせを行って、それらの結果をジョインするという手法も考えられるが、その場合には、各データベースから返ってくる結果データが非常に多くなる可能性があるので、本実施例ではかかる手法を採用していない。
[実施例1による効果等]
上述してきたように、実施例1によれば、データベースへの共通アクセス手段を提供するだけでなく、そのさらに上位にタグ付き文書という形のビューを用意する。すなわち、ユーザには複数のデータベースに跨っている関連データ全体をタグ付き文書と仮想させ、そのタグ付き文書の一部を切り出す問い合わせを行った結果として、タグ付き文書が返るという形でデータの参照を行う。また、ユーザから問い合わせが行われると、予め用意されている統合用メタデータに基づいて、どのような順番でどのデータベースからどのような問い合わせでデータを獲得していけばよいかを判断し、それに基づいて必要なデータを獲得して、獲得されたデータをタグ付き文書として組み立ててユーザに返す。これによって、ユーザはデータの格納構造を気にする必要がなくなり、各データがどのデータベースに格納されているのかを全く意識せずに済むので、複数のデータベースがあたかも1つであるかのように扱うことが可能になる。
また、実施例1によれば、同種のデータが複数のデータベースに分かれて格納されていて、ある1つの値を持つデータに関していずれのデータベースに格納されているか分からないような場合においても、ユーザがタグ付き文書の問い合わせを行うと、データベース統合参照装置20が統合用メタデータに基づいてデータが格納されている可能性のあるデータベース全てに問い合わせを行い、データを自動的に見つけてくる。これによって、ユーザは複数のデータベースからデータを探す作業をする必要がなくなるので、複数のデータベースがあたかも1つであるかのように扱うことが可能になる。
また、実施例1によれば、データベースからデータを獲得する際に、データベースのメタ情報や問い合わせ内容を利用して、問い合わせ結果がなるべく少なくなる問い合わせ計画を作成し、その計画に基づいて各データベースから順番にデータを獲得してくる。このように、問い合わせ順番を操作して結果データを絞り込んでいくことによって、データ転送量を減らして、問い合わせにかかる時間を短縮するとともに、ネットワークにかかる負担も軽減することが可能になる。
また、実施例1によれば、問い合わせを開始するデータベースを決定した後に、タグ付き文書の木構造の中で、最初にデータ値を求めたエレメントから次々と上位のエレメントに対応するデータ値を求めていき、最上位のエレメントのデータ値が求まったら、次にそこから順番に下位のエレメントを辿りながら全て求めていく。そして、この手順は、タグ付き文書の構造の定義や問い合わせの内容に関わらず、常に同じである。これによって、タグ付き文書の構造定義や問い合わせの内容に関わらず、問い合わせ結果としてのタグ付き文書全体を洩れなく求めることが可能になるとともに、データベースへの問い合わせの回数を少なく抑えることが可能になる。
さて、これまで本発明の実施例1について説明したが、本発明は上述した実施例1以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる形態にて実施されてよいものである。そこで、以下では実施例2として、(1)タグ付き文書、(2)データベース、(3)統合用メタデータ、(4)アクセス処理、(5)システム構成等、(6)プログラム、にそれぞれ区分けして種々の異なる実施例を説明する。
(1)タグ付き文書
例えば、実施例1では、タグ付き文書としてXMLを利用する場合を説明したが、本発明はこれに限定されるものではなく、例えば、SGMLなど、他のタグ付き文書を利用するようにしてもよい。
また、実施例1では、XMLに対する問い合わせに、現在W3Cで標準化作業が進行中の問い合わせ言語「XQuery」を利用する場合を説明したが、本発明はこれに限定されるものではなく、例えば、XPathなど、他の問い合わせ言語を利用するようにしてもよい。
(2)データベース
また、実施例1では、リレーショナル型のデータベースを統合する場合を説明したが、本発明はこれに限定されるものではなく、他の型のデータベースを統合する場合にも本発明を同様に適用することができる。
(3)統合用メタデータ
また、実施例1では、一つの統合用メタデータを用意する場合を説明したが、本発明はこれに限定されるものではなく、データベースの統合の仕方に応じて複数の統合用メタデータを用意するようにしてもよい。例えば、問い合わせ結果の出力態様に応じて複数用意することなどが考えられる。
(4)アクセス処理
また、実施例1では、複数の異種のデータベースにアクセスするために、Globus Toolkit 3 + OGSA-DAIを利用する場合を説明したが、本発明はこれに限定されるものではなく、複数の異種のデータベースへどのようにして問い合わせを行うかは問わず、如何なる手法でアクセスしてもよい。
(5)システム構成等
また、図示した各装置(特に、データベース統合参照装置20)の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
(6)プログラム
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムを他の実施例として説明する。
図24は、他の実施例に係るコンピュータシステムの構成を示すシステム構成図であり、図25は、このコンピュータシステムにおける本体部の構成を示すブロック図である。図24に示すように、このコンピュータシステム100は、本体部101と、本体部101からの指示によって表示画面102aに画像などの情報を表示するためのディスプレイ102と、このコンピュータシステム100に種々の情報を入力するためのキーボード103と、ディスプレイ102の表示画面102a上の任意の位置を指定するためのマウス104とを備える。
また、このコンピュータシステム100における本体部101は、図25に示すように、CPU121と、RAM122と、ROM123と、ハードディスクドライブ(HDD)124と、CD−ROM109を受け入れるCD−ROMドライブ125と、フレキシブルディスク(FD)108を受け入れるFDドライブ126と、ディスプレイ102、キーボード103並びにマウス104を接続するI/Oインターフェース127と、ローカルエリアネットワークまたは広域エリアネットワーク(LAN/WAN)106に接続するLANインターフェース128とを備える。
さらに、このコンピュータシステム100には、インターネットなどの公衆回線107に接続するためのモデム105が接続されるとともに、LANインターフェース128およびLAN/WAN106を介して、他のコンピュータシステム(PC)111、サーバ112並びにプリンタ113などが接続される。
そして、このコンピュータシステム100は、所定の記録媒体に記録されたプログラムを読み出して実行することで上記した実施例と同様の機能を実現する。ここで、所定の記録媒体とは、フレキシブルディスク(FD)108、CD−ROM109、MOディスク、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」の他に、コンピュータシステム100の内外に備えられるハードディスクドライブ(HDD)124や、RAM122、ROM123などの「固定用の物理媒体」、さらに、モデム105を介して接続される公衆回線107や、他のコンピュータシステム111並びにサーバ112が接続されるLAN/WAN106などのように、プログラムの送信に際して短期にプログラムを保持する「通信媒体」など、コンピュータシステム100によって読み取り可能なプログラムを記録する、あらゆる記録媒体を含むものである。
すなわち、この他の実施例でいうプログラムは、上記した「可搬用の物理媒体」、「固定用の物理媒体」、「通信媒体」などの記録媒体に、コンピュータ読み取り可能に記録されるものであり、コンピュータシステム100は、このような記録媒体からプログラムを読み出して実行することで上記した実施例と同様の機能を実現する。なお、この他の実施例でいうプログラムは、コンピュータシステム100によって実行されることに限定されるものではなく、他のコンピュータシステム111またはサーバ112がプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
以上のように、本発明に係るデータベース統合参照装置、データベース統合参照方法およびデータベース統合参照プログラムは、複数のデータベースに対するデータ参照の問い合わせを受け付け、各データベースから問い合わせに係るデータを取得する場合に有用であり、特に、ユーザにデータの分散を意識させないようにすることに適する。
実施例に係るデータベース統合参照システムの概要および特徴を説明するための図である。 実施例に係るデータベース統合参照システムの概要および特徴を説明するための図である。 実施例1に係るデータベース統合参照システムの全体構成を示すシステム構成図である。 各DBに記憶される情報の構成例を示す図である。 XMLへのマッピング例を示す図である。 統合用メタデータ(特に、仮想XMLスキーム情報)の構成例を示す図である。 統合用メタデータ(特に、データベース情報)の構成例を示す図である。 統合用メタデータ(特に、データベース情報)の構成例を示す図である。 統合用メタデータ(特に、データベース情報)の構成例を示す図である。 統合用メタデータ(特に、データベース情報)の構成例を示す図である。 統合用メタデータ(特に、要素間の関係付け情報)の構成例を示す図である。 アクセス処理の手法を示す図である。 実施例1による問い合わせ処理の手順を示すフローチャートである。 問い合わせ処理手順の具体例を示す図である。 問い合わせ処理手順の具体例を示す図である。 問い合わせ処理手順の具体例を示す図である。 問い合わせ処理手順の具体例を示す図である。 問い合わせ処理手順の具体例を示す図である。 問い合わせ処理手順の具体例を示す図である。 問い合わせ処理手順の具体例を示す図である。 問い合わせ処理手順の具体例を示す図である。 問い合わせ処理手順の具体例を示す図である。 問い合わせ処理手順の具体例を示す図である。 他の実施例に係るコンピュータシステムの構成を示すシステム構成図である。 図24に示したコンピュータシステムにおける本体部の構成を示すブロック図である。 従来技術を説明するための図である。
符号の説明
10 ユーザ端末
11 受注DB
11a 注文伝票テーブル
11b 商品テーブル
12 商品DB
12a 取扱商品テーブル
13 在庫DBI
13a 在庫DBI
14 在庫DBII
14a 在庫テーブルII
20 データベース統合参照装置
21 記憶部
21a 統合用メタデータ
22 制御部
22a 問い合わせパーザ部
22b 問い合わせ処理部
22c アクセス処理部
100 コンピュータシステム
101 本体部
102 ディスプレイ
102a 表示画面
103 キーボード
104 マウス
105 モデム
106 LAN/WAN
107 公衆回線
108 FD
109 CD−ROM
111 PC
112 サーバ
113 プリンタ
121 CPU
122 RAM
123 ROM
124 HDD
125 CD−ROMドライブ
126 FDドライブ
127 I/Oインターフェース
128 LANインターフェース

Claims (4)

  1. 複数のデータベースに対するデータ参照の問い合わせを受け付け、各データベースから問い合わせに係るデータを取得するデータベース統合参照装置であって、
    問い合わせ結果の出力に用いるタグ付き文書の構造、当該タグ付き文書中の各要素と各データベースの各要素との対応関係、並びに、各データベース間の各要素の対応関係が規定された統合用メタデータを記憶する統合用メタデータ記憶手段と、
    前記タグ付き文書に対する問い合わせ形式でデータ参照の問い合わせを受け付け、前記統合用メタデータを参照し、各データベースに対して必要な問い合わせを行ってデータを取得して、前記タグ付き文書の構造で問い合わせ結果を生成する問い合わせ処理手段と、
    を備え
    前記問い合わせ処理手段は、前記各データベース間の各要素の対応関係を示す木構造に基づいて、最初の問い合わせを行った要素から上位の要素を順に辿りながら対応するデータを対応するデータベースから取得するように問い合わせを行い、さらに、最上位の要素を取得した後は、当該最上位の要素から下位の要素を全て辿りながら対応するデータを対応するデータベースから取得するように問い合わせを行うことを特徴とするデータベース統合参照装置。
  2. 前記問い合わせ処理手段は、前記データ参照の問い合わせ内容および前記データベースに係るメタデータを用いて、各データベースに対する問い合わせの結果として最もデータが絞り込めそうなデータベースを決定し、当該データベースに対して最初の問い合わせを行うことを特徴とする請求項1に記載のデータベース統合参照装置。
  3. データベース統合参照装置が、複数のデータベースに対するデータ参照の問い合わせを受け付け、各データベースから問い合わせに係るデータを取得するデータベース統合参照方法であって、
    前記データベース統合参照装置が、問い合わせ結果の出力に用いるタグ付き文書の構造、当該タグ付き文書中の各要素と各データベースの各要素との対応関係、並びに、各データベース間の各要素の対応関係が規定された統合用メタデータを統合用メタデータ記憶手段に格納する統合用メタデータ格納工程と、
    前記データベース統合参照装置が、前記タグ付き文書に対する問い合わせ形式でデータ参照の問い合わせを受け付け、前記統合用メタデータを参照し、各データベースに対して必要な問い合わせを行ってデータを取得して、前記タグ付き文書の構造で問い合わせ結果を生成する問い合わせ処理工程と、
    を含み、
    前記問い合わせ処理工程において、前記データベース統合参照装置が、前記各データベース間の各要素の対応関係を示す木構造に基づいて、最初の問い合わせを行った要素から上位の要素を順に辿りながら対応するデータを対応するデータベースから取得するように問い合わせを行い、さらに、最上位の要素を取得した後は、当該最上位の要素から下位の要素を全て辿りながら対応するデータを対応するデータベースから取得するように問い合わせを行うことを特徴とするデータベース統合参照方法。
  4. 複数のデータベースに対するデータ参照の問い合わせを受け付け、各データベースから問い合わせに係るデータを取得する方法をコンピュータに実行させるデータベース統合参照プログラムであって、
    問い合わせ結果の出力に用いるタグ付き文書の構造、当該タグ付き文書中の各要素と各データベースの各要素との対応関係、並びに、各データベース間の各要素の対応関係が規定された統合用メタデータを統合用メタデータ記憶手段に格納する統合用メタデータ格納手順と、
    前記タグ付き文書に対する問い合わせ形式でデータ参照の問い合わせを受け付け、前記統合用メタデータを参照し、各データベースに対して必要な問い合わせを行ってデータを取得して、前記タグ付き文書の構造で問い合わせ結果を生成する問い合わせ処理手順と、
    をコンピュータに実行させ
    前記問い合わせ処理手順は、前記各データベース間の各要素の対応関係を示す木構造に基づいて、最初の問い合わせを行った要素から上位の要素を順に辿りながら対応するデータを対応するデータベースから取得するように問い合わせを行い、さらに、最上位の要素を取得した後は、当該最上位の要素から下位の要素を全て辿りながら対応するデータを対応するデータベースから取得するように問い合わせを行うことを特徴とするデータベース統合参照プログラム。
JP2004012306A 2004-01-20 2004-01-20 データベース統合参照装置、データベース統合参照方法およびデータベース統合参照プログラム Expired - Fee Related JP4227033B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004012306A JP4227033B2 (ja) 2004-01-20 2004-01-20 データベース統合参照装置、データベース統合参照方法およびデータベース統合参照プログラム
US10/876,917 US20050160076A1 (en) 2004-01-20 2004-06-25 Method and apparatus for referring to database integration, and computer product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004012306A JP4227033B2 (ja) 2004-01-20 2004-01-20 データベース統合参照装置、データベース統合参照方法およびデータベース統合参照プログラム

Publications (2)

Publication Number Publication Date
JP2005208757A JP2005208757A (ja) 2005-08-04
JP4227033B2 true JP4227033B2 (ja) 2009-02-18

Family

ID=34747325

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004012306A Expired - Fee Related JP4227033B2 (ja) 2004-01-20 2004-01-20 データベース統合参照装置、データベース統合参照方法およびデータベース統合参照プログラム

Country Status (2)

Country Link
US (1) US20050160076A1 (ja)
JP (1) JP4227033B2 (ja)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7873649B2 (en) * 2000-09-07 2011-01-18 Oracle International Corporation Method and mechanism for identifying transaction on a row of data
TWI289261B (en) * 2002-09-11 2007-11-01 Hon Hai Prec Ind Co Ltd System and method for dynamically generating a HTTP query
US7440954B2 (en) * 2004-04-09 2008-10-21 Oracle International Corporation Index maintenance for operations involving indexed XML data
US7398265B2 (en) * 2004-04-09 2008-07-08 Oracle International Corporation Efficient query processing of XML data using XML index
US7603347B2 (en) * 2004-04-09 2009-10-13 Oracle International Corporation Mechanism for efficiently evaluating operator trees
US7516121B2 (en) * 2004-06-23 2009-04-07 Oracle International Corporation Efficient evaluation of queries using translation
EP1759315B1 (en) * 2004-06-23 2010-06-30 Oracle International Corporation Efficient evaluation of queries using translation
JP4899295B2 (ja) * 2004-07-01 2012-03-21 富士通株式会社 メタデータエディタプログラム、メタデータエディタ装置およびメタデータエディタ方法
US8566300B2 (en) * 2004-07-02 2013-10-22 Oracle International Corporation Mechanism for efficient maintenance of XML index structures in a database system
US7668806B2 (en) 2004-08-05 2010-02-23 Oracle International Corporation Processing queries against one or more markup language sources
US8463801B2 (en) * 2005-04-04 2013-06-11 Oracle International Corporation Effectively and efficiently supporting XML sequence type and XQuery sequence natively in a SQL system
US20060235839A1 (en) * 2005-04-19 2006-10-19 Muralidhar Krishnaprasad Using XML as a common parser architecture to separate parser from compiler
US7949941B2 (en) * 2005-04-22 2011-05-24 Oracle International Corporation Optimizing XSLT based on input XML document structure description and translating XSLT into equivalent XQuery expressions
US8166059B2 (en) * 2005-07-08 2012-04-24 Oracle International Corporation Optimization of queries on a repository based on constraints on how the data is stored in the repository
US20070067726A1 (en) * 2005-09-16 2007-03-22 Microsoft Corporation Content sharing user interface for mobile devices
US7933632B2 (en) * 2005-09-16 2011-04-26 Microsoft Corporation Tile space user interface for mobile devices
US7873356B2 (en) * 2005-09-16 2011-01-18 Microsoft Corporation Search interface for mobile devices
US20070067738A1 (en) * 2005-09-16 2007-03-22 Microsoft Corporation Extensible, filtered lists for mobile device user interface
JP4530977B2 (ja) * 2005-11-29 2010-08-25 三菱電機株式会社 遠隔監視システム
JPWO2007083371A1 (ja) * 2006-01-18 2009-06-11 富士通株式会社 データ統合装置、データ統合方法およびデータ統合プログラムを記録したコンピュータ読み取り可能な記録媒体
JP4822889B2 (ja) * 2006-03-20 2011-11-24 富士通株式会社 データベース統合参照プログラム、データベース統合参照方法及びデータベース統合参照装置
JP2007280238A (ja) * 2006-04-11 2007-10-25 Fujitsu Fip Corp データ表示定義情報作成装置、データ表示装置、データ表示定義情報作成方法、データ表示方法およびそれらの装置の実現に用いられるプログラム
US7499909B2 (en) * 2006-07-03 2009-03-03 Oracle International Corporation Techniques of using a relational caching framework for efficiently handling XML queries in the mid-tier data caching
JP2008041082A (ja) * 2006-07-12 2008-02-21 Hitachi Ltd 処理装置及びプログラム
US7739219B2 (en) 2006-09-08 2010-06-15 Oracle International Corporation Techniques of optimizing queries using NULL expression analysis
JP4212615B2 (ja) 2006-09-28 2009-01-21 株式会社東芝 構造化文書検索システム、構造化文書検索方法、検索装置、および文書管理装置
JP5056384B2 (ja) * 2006-12-21 2012-10-24 富士通株式会社 検索プログラム、方法及び装置
JP2008234464A (ja) * 2007-03-22 2008-10-02 Nec Fielding Ltd 商品検索システム及びデータベース
ITRM20070161A1 (it) * 2007-03-27 2008-09-28 Uni Del Salento Metodo e formalismo per inviare istruzioni a database distribuiti realizzato mediante programma per computer
JP5458480B2 (ja) 2007-08-08 2014-04-02 富士通株式会社 タグ付き文書データ問い合わせ処理システムに対する問い合わせ画面生成装置
JP5136133B2 (ja) * 2007-08-29 2013-02-06 富士通株式会社 統合ルール作成支援プログラム、統合ルール作成支援システムおよび統合ルール作成支援方法
JP5238219B2 (ja) 2007-10-29 2013-07-17 株式会社東芝 情報処理システム及びパイプライン処理制御方法
US8032485B2 (en) 2008-02-01 2011-10-04 American Express Travel Related Services Company, Inc. Rapid caching and data delivery system and method
US20090210508A1 (en) * 2008-02-15 2009-08-20 Tommy S.R.L Methods and systems for providing information associated with a consumer good
JP5060345B2 (ja) * 2008-02-29 2012-10-31 株式会社東芝 データベース処理装置、情報処理方法及びプログラム
US8620880B2 (en) 2008-05-30 2013-12-31 Nec Corporation Database system, method of managing database, and computer-readable storage medium
JP5392254B2 (ja) 2008-05-30 2014-01-22 日本電気株式会社 データベースシステム、データベース管理方法、データベース構造およびコンピュータプログラム
JP2010165170A (ja) * 2009-01-15 2010-07-29 Fujitsu Ltd 検索処理方法、システム、及びプログラム
JP5471086B2 (ja) * 2009-07-02 2014-04-16 富士通株式会社 情報統合装置、情報統合方法および情報統合プログラム
JP5430339B2 (ja) 2009-10-19 2014-02-26 株式会社ワコム 位置検出装置及び位置指示器
US8176074B2 (en) * 2009-10-28 2012-05-08 Sap Ag Methods and systems for querying a tag database
JP5172931B2 (ja) 2010-10-25 2013-03-27 株式会社東芝 検索装置、検索方法および検索プログラム
JP2011222045A (ja) * 2011-07-26 2011-11-04 Fujitsu Ltd データベース統合参照プログラム
JP2011258225A (ja) * 2011-08-10 2011-12-22 Fujitsu Ltd データ統合装置、データ統合方法およびデータ統合プログラムを記録したコンピュータ読み取り可能な記録媒体
US9286303B1 (en) * 2011-12-22 2016-03-15 Emc Corporation Unified catalog service
JP6328078B2 (ja) * 2015-07-22 2018-05-23 株式会社東芝 データベースシステムおよびデータベースシステム用プログラム
CN108573026B (zh) * 2018-03-14 2021-01-19 上海数据交易中心有限公司 一种数据流通方法及装置、存储介质、服务器
JP7421443B2 (ja) 2020-08-11 2024-01-24 株式会社日立製作所 データ移行方法、データ移行システム、およびノード

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6421656B1 (en) * 1998-10-08 2002-07-16 International Business Machines Corporation Method and apparatus for creating structure indexes for a data base extender
US20020116371A1 (en) * 1999-12-06 2002-08-22 David Dodds System and method for the storage, indexing and retrieval of XML documents using relation databases
US7072896B2 (en) * 2000-02-16 2006-07-04 Verizon Laboratories Inc. System and method for automatic loading of an XML document defined by a document-type definition into a relational database including the generation of a relational schema therefor
US6567816B1 (en) * 2000-03-07 2003-05-20 Paramesh Sampatrai Desai Method, system, and program for extracting data from database records using dynamic code
US6571233B2 (en) * 2000-12-06 2003-05-27 International Business Machines Corporation Optimization of SQL queries using filtering predicates
US6732095B1 (en) * 2001-04-13 2004-05-04 Siebel Systems, Inc. Method and apparatus for mapping between XML and relational representations
US6662175B1 (en) * 2001-05-08 2003-12-09 Ncr Corporation Semantic query optimization using value correlation
US6732096B1 (en) * 2001-07-30 2004-05-04 Ncr Corporation Optimizing an aggregate join query
AU2002334721B2 (en) * 2001-09-28 2008-10-23 Oracle International Corporation An index structure to access hierarchical data in a relational database system
US7047253B1 (en) * 2001-09-28 2006-05-16 Oracle Interntional Corporation Mechanisms for storing content and properties of hierarchically organized resources
US6950815B2 (en) * 2002-04-23 2005-09-27 International Business Machines Corporation Content management system and methodology featuring query conversion capability for efficient searching
US7162470B2 (en) * 2002-06-07 2007-01-09 Oracle International Corporation Contextual search interface for business directory services
US7162473B2 (en) * 2003-06-26 2007-01-09 Microsoft Corporation Method and system for usage analyzer that determines user accessed sources, indexes data subsets, and associated metadata, processing implicit queries based on potential interest to users
US7013311B2 (en) * 2003-09-05 2006-03-14 International Business Machines Corporation Providing XML cursor support on an XML repository built on top of a relational database system
US7529728B2 (en) * 2003-09-23 2009-05-05 Salesforce.Com, Inc. Query optimization in a multi-tenant database system
US7634498B2 (en) * 2003-10-24 2009-12-15 Microsoft Corporation Indexing XML datatype content system and method

Also Published As

Publication number Publication date
US20050160076A1 (en) 2005-07-21
JP2005208757A (ja) 2005-08-04

Similar Documents

Publication Publication Date Title
JP4227033B2 (ja) データベース統合参照装置、データベース統合参照方法およびデータベース統合参照プログラム
JP4822889B2 (ja) データベース統合参照プログラム、データベース統合参照方法及びデータベース統合参照装置
US8886617B2 (en) Query-based searching using a virtual table
US7231386B2 (en) Apparatus, method, and program for retrieving structured documents
US8484210B2 (en) Representing markup language document data in a searchable format in a database system
US6704739B2 (en) Tagging data assets
US20020103829A1 (en) Method, system, program, and data structures for managing structured documents in a database
US20090077625A1 (en) Associating information related to components in structured documents stored in their native format in a database
US9477729B2 (en) Domain based keyword search
US6915303B2 (en) Code generator system for digital libraries
US7287029B1 (en) Tagging data assets
Abramowicz et al. Filtering the Web to feed data warehouses
US7596577B2 (en) Methods and systems for specifying a user interface for an application
JP3786233B2 (ja) 情報検索方法および情報検索システム
Yu et al. Metadata management system: design and implementation
KR20020066151A (ko) 개방형 gis 기반의 공간정보 유통시스템 및 방법
JP4289022B2 (ja) 構造化文書処理方法及び装置及び構造化文書処理プログラム及び構造化文書処理プログラムを格納した記憶媒体
JP2004192657A (ja) 情報検索システム、情報検索方法および情報検索用プログラムを記録した記録媒体
Taylor SQL All-in-one for Dummies
JP2001067369A (ja) 情報検索システム、情報検索方法および情報検索用プログラムを記録した記録媒体
JP2011222045A (ja) データベース統合参照プログラム
JP2009015511A (ja) メタデータ管理装置、プログラムおよびメタデータ管理方法
US20050267881A1 (en) Methods and systems for data storage
Pokorný XML in enterprise systems
JP2004348479A (ja) 検索装置、検索方法、検索プログラム、および検索プログラム記録媒体

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080717

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080729

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080929

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081125

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081127

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111205

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4227033

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111205

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121205

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121205

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131205

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees