(57)【特許請求の範囲】
【請求項１】
複数の分類項目を階層的に関連付けた階層構造をもち、各分類項目は当該分類項目の上位階層の分類項目の属性を含む属性をもち、各分類項目には、それぞれが当該分類項目のもつ属性のそれぞれに対応する値で構成される複数のコンテンツデータが登録されている第１のデータベースと、
前記複数の分類項目のうちの選択された第１の分類項目に登録されている複数のコンテンツデータを、予め定められた一定数以内のコンテンツデータからなる複数のグループに分けて、当該複数のグループのうちの選択された１つのグループに含まれるコンテンツデータの第１のテーブルを表示する表示手段と、
それぞれが複数の項目のそれぞれに対応する値で構成される複数のレコードデータの第２のテーブルを記憶する記憶手段と、
前記第１の分類項目がもつ複数の属性のうちの１つである第１の属性と、前記複数の項目のうちの１つである第１の項目とを結合条件として指定する指定手段と、
前記第１のテーブル中のコンテンツデータと前記第２のテーブル中の前記複数のレコードデータのうち、前記第１の属性に対応する値と前記第１の項目に対応する値とが一致するコンテンツデータとレコードデータとを結合して、それぞれが前記第１の分類項目の属性と前記複数の項目のそれぞれに対応する値で構成される複数の結合データの第３のテーブルを生成する生成手段と、
を具備したことを特徴とするデータ処理装置。
【請求項２】
前記指定手段は、
前記第１の分類項目がもつ複数の属性のなかから、前記複数の項目のうちのいずれかと同じ名称あるいは識別子をもつ属性を求めて、当該同じ名称あるいは識別子をもつ属性と項目の一覧を表示する手段と、
前記一覧から前記第１の属性と前記第１の項目とを指定する手段と、
を具備したことを特徴とする請求項１記載のデータ処理装置。
【請求項３】
前記第１の分類項目がもつ複数の属性のうち、所望の複数の属性を選択する第１の選択手段と、
前記表示手段は、前記第１の分類項目がもつ複数の属性のうち、前記第１の選択手段で選択された前記所望の複数の属性のそれぞれに対応する値のみを前記第１のテーブル中に表示し、
前記生成手段は、前記第１のテーブル中に表示された前記所望の複数の属性からなるコンテンツデータと前記第２のテーブル中の前記複数のレコードデータとから、前記第３のテーブルを生成することを特徴とする請求項１記載のデータ処理装置。
【請求項４】
前記第１のテーブル中の前記コンテンツデータのうち、所望の複数のコンテンツデータを選択する第２の選択手段と、
前記生成手段は、前記第２の選択手段で選択された前記所望の複数のコンテンツデータと前記第２のテーブル中の前記複数のレコードデータとから、前記第３のテーブルを生成することを特徴とする請求項１記載のデータ処理装置。
【請求項５】
前記第１のテーブル中の前記複数の属性のうち所望の複数の属性を選択する第３の選択手段と、
前記第２のテーブル中の前記複数の項目のうち所望の複数の項目を選択する第４の選択手段と、
前記生成手段は、前記複数の属性のうち前記第３の選択手段で選択された前記所望の複数の属性からなるコンテンツデータと、前記複数の項目のうち前記第４の選択手段で選択された前記所望の複数の項目からなるレコードデータとから、前記第３のテーブルを生成することを特徴とする請求項１記載のデータ処理装置。
【請求項６】
前記記憶手段は、前記第１の階層構造に、前記複数の分類項目とは異なる他の分類項目を追加して、当該他の分類項目に前記複数のレコードデータを記憶し、前記表示手段で、第１の階層構造と共に階層構造の形で表示することを特徴とする請求項１記載のデータ処理装置。
【請求項７】
前記第１の階層構造とは異なる第２の階層構造をもつ第２のデータベースから、ネットワークを介して前記第２のテーブルを取得する取得手段を具備し、
前記記憶手段は、前記取得手段で取得した前記第２のテーブルを記憶することを特徴とする請求項１記載のデータ処理装置。
【請求項８】
前記生成手段で前記第３のテーブルを生成する際に用いた前記結合条件を記憶する記憶手段をさらに具備し、
前記指定手段は、
前記記憶手段で記憶された前記結合条件を表示する手段と、表示された結合条件のなから所望の結合条件を選択する手段とを具備したことを特徴とする請求項１記載のデータ処理装置。
【請求項９】
前記生成手段で前記第３のテーブルを生成する際に用いた前記結合条件を記憶する記憶手段をさらに具備し、
前記指定手段は、前記記憶手段で記憶された前記結合条件のうち、前記第１の分類項目と同じかあるいは上位にある階層の分類項目がもつ属性を含む結合条件を表示する手段と、表示された結合条件のなかから所望の結合条件を選択する手段とを具備したことを特徴とする請求項１記載のデータ処理装置。
【請求項１０】
前記指定手段は、
前記第１のテーブル中の前記複数の属性のうち、当該第１のテーブル中の前記複数のコンテンツデータのそれぞれを識別することのできる情報を値としてもつ属性を前記第１の属性として指定するための手段と、
前記第２のテーブル中の前記複数の項目のうち、当該第２のテーブル中の前記複数のレコードデータのそれぞれを識別することのできる情報を値としてもつ属性を前記第１の項目として指定するための手段と
を具備したことを特徴とする請求項１記載のデータ処理装置。
【請求項１１】
複数の分類項目を階層的に関連付けた階層構造をもち、各分類項目は当該分類項目の上位階層の分類項目の属性を含む属性をもち、各分類項目には、それぞれが当該分類項目のもつ属性のそれぞれに対応する値で構成される複数のコンテンツデータが登録されているデータベースと、
前記複数の分類項目のうちの選択された第１の分類項目に登録されている複数のコンテンツデータを、予め定められた一定数以内のコンテンツデータからなる複数のグループに分けて、当該複数のグループのうちの選択された１つのグループに含まれるコンテンツデータの第１のテーブルを表示する手段と、
前記複数の分類項目のうちの選択された第２の分類項目に登録されている複数のコンテンツデータを、予め定められた一定数以内のコンテンツデータからなる複数のグループに分けて、当該複数のグループのうちの選択された第２のグループに含まれるコンテンツデータの第２のテーブルを表示する手段と、
前記第１の分類項目がもつ複数の属性と、前記第２の分類項目がもつ複数の属性のうち、共通する属性を求める手段と、
前記共通する属性のうちの少なくとも１つを指定する指定手段と、
前記指定手段で指定された属性に対応する値が一致する、前記第１のテーブル中のコンテンツデータと前記第２のテーブル中のコンテンツデータとを結合して、それぞれが前記第１の分類項目がもつ属性と前記第２の分類項目がもつ属性のそれぞれに対応する値で構成される複数の結合データを表す第３のテーブルを生成する手段と、
を具備したことを特徴とするデータ処理装置。
【請求項１２】
複数の分類項目を階層的に関連付けた階層構造をもち、各分類項目は当該分類項目の上位階層の分類項目の属性を含む属性をもち、各分類項目には、それぞれが当該分類項目のもつ属性のそれぞれに対応する値で構成される複数のコンテンツデータが登録されている第１のデータベースから、前記複数の分類項目のうちの選択された第１の分類項目に登録されている複数のコンテンツデータを取得する第１のステップと、
前記第１のステップで取得した前記複数のコンテンツデータを、予め定められた一定数以内のコンテンツデータからなる複数のグループに分けて、当該複数のグループのうちの選択された１つのグループに含まれるコンテンツデータの第１のテーブルを表示する第２のステップと、
それぞれが複数の項目のそれぞれに対応する値で構成される複数のレコードデータの第２のテーブルを記憶する記憶手段から、前記第２のテーブルを取得する第３のステップと、
前記第１の分類項目がもつ複数の属性のうちの１つである第１の属性と、前記複数の項目のうちの１つである第１の項目とを指定する第４のステップと、
前記第１のテーブル中のコンテンツデータと前記第２のテーブル中の前記複数のレコードデータとのうち、前記第１の属性に対応する値と前記第１の項目に対応する値とが一致するコンテンツデータとレコードデータとを結合して、それぞれが前記第１の分類項目の属性と前記複数の項目のそれぞれに対応する値で構成される複数の結合データを表す第３のテーブルを生成する第５のステップと、
を有することを特徴とするデータ処理方法。
【請求項１３】
複数の分類項目を階層的に関連付けた階層構造をもち、各分類項目は当該分類項目の上位階層の分類項目の属性を含む属性をもち、各分類項目には、それぞれが当該分類項目のもつ属性のそれぞれに対応する値で構成される複数のコンテンツデータが登録されているデータベースから、前記複数の分類項目のうちの選択された第１の分類項目に登録されている複数のコンテンツデータを取得する第１のステップと、
前記第１のステップで取得した前記複数のコンテンツデータを、予め定められた一定数以内のコンテンツデータからなる複数のグループに分けて、当該複数のグループのうちの選択された１つのグループに含まれるコンテンツデータの第１のテーブルを表示する第２のステップと、
前記データベースから、前記複数の分類項目のうちの選択された第２の分類項目に登録されている複数のコンテンツデータを取得する第３のステップと、
前記第３のステップで取得した前記複数のコンテンツデータを、予め定められた一定数以内のコンテンツデータからなる複数のグループに分けて、当該複数のグループのうちの選択された第２のグループに含まれるコンテンツデータの第２のテーブルを表示する第４のステップと、
前記第１の分類項目がもつ複数の属性と、前記第２の分類項目がもつ複数の属性のうち、共通する属性を求める第５のステップと、
前記共通する属性のうちの少なくとも１つを指定する第６のステップと、
前記第６のステップで指定された属性に対応する値が一致する、前記第１のテーブル中のコンテンツデータと前記第２のテーブル中のコンテンツデータとを結合して、それぞれが前記第１の分類項目がもつ属性と前記第２の分類項目がもつ属性のそれぞれに対応する値で構成される複数の結合データを表す第３のテーブルを生成する第７のステップと、
を有することを特徴とするデータ処理方法。
【請求項１４】
コンピュータに、
複数の分類項目を階層的に関連付けた階層構造をもち、各分類項目は当該分類項目の上位階層の分類項目の属性を含む属性をもち、各分類項目には、それぞれが当該分類項目のもつ属性のそれぞれに対応する値で構成される複数のコンテンツデータが登録されている第１のデータベースから、前記複数の分類項目のうちの選択された第１の分類項目に登録されている複数のコンテンツデータを取得する第１のステップと、
前記第１のステップで取得した前記複数のコンテンツデータを、予め定められた一定数以内のコンテンツデータからなる複数のグループに分けて、当該複数のグループのうちの選択された１つのグループに含まれるコンテンツデータの第１のテーブルを表示する第２のステップと、
それぞれが複数の項目のそれぞれに対応する値で構成される複数のレコードデータの第２のテーブルを記憶する記憶手段から、前記第２のテーブルを取得する第３のステップと、
前記第１の分類項目がもつ複数の属性のうちの１つである第１の属性と、前記複数の項目のうちの１つである第１の項目とを指定する第４のステップと、
前記第１のテーブル中のコンテンツデータと前記第２のテーブル中の前記複数のレコードデータとのうち、前記第１の属性に対応する値と前記第１の項目に対応する値とが一致するコンテンツデータとレコードデータとを結合して、それぞれが前記第１の分類項目の属性と前記複数の項目のそれぞれに対応する値で構成される複数の結合データを表す第３のテーブルを生成する第５のステップと、
を実行させるプログラム。
【請求項１５】
コンピュータに、
複数の分類項目を階層的に関連付けた階層構造をもち、各分類項目は当該分類項目の上位階層の分類項目の属性を含む属性をもち、各分類項目には、それぞれが当該分類項目のもつ属性のそれぞれに対応する値で構成される複数のコンテンツデータが登録されているデータベースから、前記複数の分類項目のうちの選択された第１の分類項目に登録されている複数のコンテンツデータを取得する第１のステップと、
前記第１のステップで取得した前記複数のコンテンツデータを、予め定められた一定数以内のコンテンツデータからなる複数のグループに分けて、当該複数のグループのうちの選択された１つのグループに含まれるコンテンツデータの第１のテーブルを表示する第２のステップと、
前記データベースから、前記複数の分類項目のうちの選択された第２の分類項目に登録されている複数のコンテンツデータを取得する第３のステップと、
前記第３のステップで取得した前記複数のコンテンツデータを、予め定められた一定数以内のコンテンツデータからなる複数のグループに分けて、当該複数のグループのうちの選択された第２のグループに含まれるコンテンツデータの第２のテーブルを表示する第４のステップと、
前記第１の分類項目がもつ複数の属性と、前記第２の分類項目がもつ複数の属性のうち、共通する属性を求める第５のステップと、
前記共通する属性のうちの少なくとも１つを指定する第６のステップと、
前記第６のステップで指定された属性に対応する値が一致する、前記第１のテーブル中のコンテンツデータと前記第２のテーブル中のコンテンツデータとを結合して、それぞれが前記第１の分類項目がもつ属性と前記第２の分類項目がもつ属性のそれぞれに対応する値で構成される複数の結合データを表す第３のテーブルを生成する第７のステップと、
を実行させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、階層型データベースに関する。
【０００２】
【従来の技術】
オブジェクト指向データベース（ＯＯＤＢ）やオブジェクト・リレーショナル型データベース（ＯＲＤＢ）を代表とする下位が上位分類の属性を継承する階層構造を持つデータベースにおいては、継承に従って下位の分類では属性が累増する構造を持つ。この上位の属性を下位に継承することを通常「インヘリタンス」と呼ばれている（例えば、非特許文献１参照）。
【０００３】
オブジェクト指向データベースの文献においては、階層中の分類は「クラス」と呼ばれることが多い。一方、オブジェクト・リレーショナル型データベース（ＯＲＤＢ）においては、継承を許したテーブルがこれに相当し、上下関係をもつテーブル間において、上位のテーブルから下位のテーブルへ属性、すなわち上位テーブルを構成するコラムのヘッダー情報が下位テーブルへ継承される。ここでは、その両者を含めて「階層型データベース」と称す。各階層の分類に属する同じ属性種を持つデータを「インスタンス」あるいは「コンテンツデータ」と呼び、その集合をデータの「ポピュレーション」と呼ぶ。
【０００４】
インターネット上で、製品情報を電子的に提供する電子カタログシステムを実装するための国際規格としてＩＳＯ１３５８４（Ｐａｒｔｓ  Ｌｉｂｒａｒｙ）がある。これも階層型データベースの１つである。ＩＳＯ１３５８４では電子カタログをスキーマとコンテンツで構成し、これらを統一したデータ構造を与えることで、製品情報の共有・再利用を目指している。
【０００５】
ＩＳＯ１３５８４で定義しているスキーマでは、製品分類は「製品クラス」を単一木構造で階層的に表現されている。各「製品クラス」はそれぞれ「属性項目」を持つようになっており、ある「製品クラス」の「属性項目」は下位の「製品クラス」に継承される。また、「製品クラス」および「属性項目」は一意に特定できるようそれぞれ「ＢＳＵコード」とよばれるユニークなＩＤをつけるようになっている。一方、コンテンツの部分はこのスキーマに定義された属性項目にそれぞれの製品固有の属性値を埋め込んだテーブルとして表現される。
【０００６】
ＩＳＯ１３５８４が電子カタログとしてのフレームワークを提供している一方で、実際のスキーマについての国際標準化も進められており、ＩＥＣ６１３６０では電気・電子分野でのスキーマの上位階層部分、つまり「製品クラス」と「属性項目」についての一般的な部分の標準化を推進している。これにより、各社の製品カタログ作成者は、ＩＥＣ６１３６０からの下位展開として独自の詳細な「製品クラス」と「属性項目」を決め、各自のコンテンツを作成することができる。このように作成されたコンテンツを電子カタログの利用者は「製品クラス」の分類階層を辿り、属性値を参照して自分に必要な製品を絞り込んでいき、所望の製品を検索することが可能となる。近年、これらの流れをうけてＩＳＯ１３５８４に準拠したシステムがいくつか開発されようになってきている。
【０００７】
リレーショナルデータベースやＯＲＤＢでは表間の演算の１つに結合演算（ＪＯＩＮ）を用意しているが、階層型データベースにおいても、この演算は可能である。一般に、結合演算（ＪＯＩＮ）は単純でも、行数×行数のループが発生する非常に時間のかかる演算であるため、Ｗｅｂ型のデータベースシステム等でユーザに結合演算（ＪＯＩＮ）を提供するには、演算数が制御できず、演算処理数が膨大な、システムに負荷がかかる結合演算（ＪＯＩＮ）が発生する恐れがあった。
【０００８】
【非特許文献１】
Object-Oriented Concepts, Databases, and Applications, Edited by Won Kim, 1989, ACM Press
【０００９】
【発明が解決しようとしている課題】
このように従来は、複数の分類項目を階層的に関連付けた階層構造をもつ階層型データベースでは、当該階層構造を構成する分類項目に登録されたコンテンツデータのテーブルと、同じあるいは他のデータベースに記憶されているテーブルとを結合する際、演算処理数を制御していないために、システムに負荷がかかるような結合演算（ＪＯＩＮ）が発生するという問題点があった。
【００１０】
そこで、本発明は、上記問題点に鑑み、階層型データベースに記憶されているコンテンツデータのテーブルと他のテーブルとの結合演算の演算処理数を制御し、また結合演算の条件入力の補助を行うデータ処理装置および方法を提供することを目的とする。
【００１１】
【課題を解決するための手段】
本発明は、（ａ）複数の分類項目を階層的に関連付けた階層構造をもち、各分類項目は当該分類項目の上位階層の分類項目の属性を含む属性をもち、各分類項目には、それぞれが当該分類項目のもつ属性のそれぞれに対応する値で構成される複数のコンテンツデータが登録されている第１のデータベースから、前記複数の分類項目のうちの選択された第１の分類項目に登録されている複数のコンテンツデータを取得し、（ｂ）前記第１のステップで取得した前記複数のコンテンツデータを、予め定められた一定数以内のコンテンツデータからなる複数のグループに分けて、当該複数のグループのうちの選択された１つのグループに含まれるコンテンツデータの第１のテーブルを表示し、（ｃ）それぞれが複数の項目のそれぞれに対応する値で構成される複数のレコードデータの第のテーブルを記憶する記憶手段から、前記第２のテーブルを取得し、（ｄ）前記第１の分類項目がもつ複数の属性のうちの１つである第１の属性と、前記複数の項目のうちの１つである第１の項目とを指定し、（ｅ）前記第１のテーブル中のコンテンツデータと前記第２のテーブル中の前記複数のレコードデータとのうち、前記第１の属性に対応する値と前記第１の項目に対応する値とが一致するコンテンツデータとレコードデータとを結合して、それぞれが前記第１の分類項目の属性と前記複数の項目のそれぞれに対応する値で構成される複数の結合データを表す第３のテーブルを生成することを特徴とする。本発明によれば、結合演算操作の対象となるコンテンツデータの数を予め絞り込むことにより、結合演算の処理時間の短縮が図れる。
【００１２】
また、前記第１の分類項目がもつ複数の属性のなかから、前記複数の項目のうちのいずれかと同じ名称あるいは識別子をもつ属性を求めて、当該同じ名称あるいは識別子をもつ属性と項目の一覧を表示し、前記一覧から前記第１の属性と前記第１の項目とを（結合条件として）指定することにより、結合演算時に必要な結合条件を容易に指定することができる。
【００１３】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照して説明する。
【００１４】
（第１の実施形態）
図１は、本実施形態に係るシステム全体の構成例を示したもので、例えば製品のスペックなどのデータを内部データ記憶部１に記憶するサーバ装置５０と、当該サーバ装置５０と所定のネットワークで接続される複数の（ここでは、２つの）データベース（第１の外部データベース（第１の外部ＤＢ）５１、第２の外部データベース（第２の外部ＤＢ）５２）とユーザ端末ＴＥから構成されている。
【００１５】
第１及び第２の外部ＤＢ５１、５２には、それぞれ、データ更新が頻繁に行われる各製品についての在庫情報や、売価情報が記憶されている。在庫や売価などは、製品スペックとは異なり頻繁に更新されるなどの理由により、内部データ記憶部１内のデータ（内部データ）とは別個に管理されている。第１の外部ＤＢ５１の識別子を「ｅｘ＿ｄａｔａｂａｓｅ０１」、第２の外部ＤＢ５２の識別子を「ｅｘ＿ｄａｔａｂａｓｅ０２」とする。
【００１６】
第１の外部ＤＢ５１、第２の外部ＤＢ５２に記憶されているデータ（外部データ）は、サーバ装置５０の外部データ取得部９により取得される。そして、外部データ処理部１４は、外部データの辞書データにクラスを付与し（外部データが内部データと同様階層構造を有する場合には、当該階層構造を構成する各項目に、それぞれに対応するクラスを付与し、外部データがテーブル形式のものであるときには当該テーブルにクラスを付与する）、外部データ中の各項目（あるいは属性）にＢＳＵのような一意な属性識別子を付与するとともに、各項目の値（あるいは属性値）のデータ型を判定し、その結果をサーバ装置５０の外部データ記憶部２に記憶する。
【００１７】
内部データ記憶部１と外部データ記憶部２は、階層型データベースを構成するものである。
【００１８】
階層型データベースは、複数の分類項目を階層的に関連付けた階層構造をもち、各分類項目は当該分類項目の上位階層の分類項目が持つ属性を含む属性をもち、各分類項目には当該分類項目の属性の集合に含まれる属性をもつコンテンツデータが登録されている。
【００１９】
上記階層構造を構成する分類項目と分類項目間の親子関係と、各分類項目の属性などの各階層構造に関する情報、すなわち、スキーマデータや、各分類項目の属性に関する情報が辞書データである。
【００２０】
内部データ記憶部１は、上記辞書データを記憶する辞書データ記憶部１ａと、上記コンテンツデータを記憶するコンテンツデータ記憶部１ｂとから構成される。
【００２１】
コンテンツデータ記憶部１ｂには、ある分類項目の属性の集合に含まれる属性をもつコンテンツデータが、辞書データ記憶部１ａに記憶されている当該分類項目に対応付けて記憶されている。コンテンツデータ記憶部１ｂに記憶されている複数の属性のそれぞれに対応する値で構成されている１つのコンテンツデータをレコードデータとも呼ぶ。
【００２２】
図２は、内部データ記憶部１に構成されている階層型データベースの階層構造を概略的に示したものである。図２に示すように、階層型データベースは、「ｒｏｏｔ」ノード１００をルートノードとし、このルートノード１００に、その子ノードとして「電子部品」という分類項目のノード１０１などが関連付けられている。「電子部品」ノード１０１には、その子ノードとして「ＰＣ本体」，周辺機器という分類項目のノード１０２，１０３が関連付けられ、さらに、「ＰＣ本体」ノード１０２に、その子ノードとして「ノートＰＣ」、「デスクトップＰＣ」という分類項目のノード１０５，１０６が関連付けられ、「周辺機器」ノード１０３に、「メモリ」、「抵抗器」、「マウス」という分類項目のノード１０７〜１０９が関連付けられた階層構造を有している。
【００２３】
すなわち、「電子部品」は、「ＰＣ本体」、「周辺機器」という２つの分類項目に細分化され、「ＰＣ本体」は「ノートＰＣ」、「デスクトップＰＣ」という２つの分類項目に細分化され、「周辺機器」は「メモリ」、「抵抗器」、「マウス」という３つの分類項目に細分化されていることを表している。
【００２４】
この階層的に関連付けられた各分類項目（これらをクラスとも呼ぶ）は、それぞれ固有の属性（点線で囲まれた部分）が定められている。各分類項目は、階層構造における当該分類項目の上位階層の分類項目の属性を継承する。例えば、ノード１０５の「ノートＰＣ」のもつ属性は、ノード１０５自身の固有の属性の他、ノード１０１の「電子部品」とノード１０２の「ＰＣ本体」それぞれの固有の属性を継承する。すなわち、「ノートＰＣ」は、ノード１０１の「電子部品」に定義されている属性（「品名」、「メーカ名」、「製品コード」、「標準価格」「インターフェース」）と、ノード１０２の「ＰＣ本体」に定められた属性（「ＣＰＵ」、「標準メモリ容量」、「ＨＤＤ容量」）と、ノード１０５の「ノートＰＣ」に定められた属性（「ポインティングデバイス」、「バッテリタイプ」）を有する。
【００２５】
このようなデータモデルは、部品ライブラリの交換フォーマットの国際標準であるＩＳＯ１３５８４／Ｐａｒｔｓ  Ｌｉｂｒａｒｙ（ＰＬＩＢ）で用いられているものと基本的に同じである。なおＰＬＩＢでは、各分類、属性を識別するコード体系として、世の中で一意なコードであることを保証したＢＳＵコード（属性識別子）を名称とは別に用いる。しかしここでは説明の簡単のために分類名称、属性名称に日本語の名称を用いることにしたが、この制限が本発明をＰＬＩＢへ適用することを妨げるものではない。
【００２６】
図２に示した各分類項目には、当該分類項目がもつ属性（当該分類項目に固有の属性と、当該分類項目の上位階層の分類項目から承継した属性）のそれぞれに対応する値で構成されたコンテンツデータが登録されている。
【００２７】
図３は、図２に示した階層型データベースに登録されているコンテンツデータの具体例を示したものである。図３には、ノード１０５の分類項目「ノートＰＣ」に登録されたコンテンツデータのテーブル「ＴＢ０１」を示している。
【００２８】
分類項目「ノートＰＣ」に登録されている図３に示すようなレコードデータは、それぞれ、ノード１０１の「電子部品」に定められた属性（「品名」、「メーカ名」、「製品コード」、「標準価格」、「インターフェース」）と、ノード１０２の「ＰＣ本体」に定められた属性（「ＣＰＵ」、「標準メモリ容量」、「ＨＤＤ容量」）と、ノード１０５の「ノートＰＣ」に定められた属性（「バッテリタイプ」、「ポインティングデバイス」）のそれぞれに対応する値で構成されている。
【００２９】
第１の外部ＤＢ５１は、上記のような階層型データベースであり、主に、各製品の在庫数が格納されている。図４は、第１の外部ＤＢ５１に構成されている階層型データベースの階層構造の一部を概略的に示したものである。図４に示すように、この階層型データベースは、「ｒｏｏｔ」ノードをルートノードとし、このルートノードに、その子ノードとして「Ｔ社在庫」や「Ｓ社在庫」という分類項目のノードなどが関連付けられている。「Ｔ社在庫」ノードには、その子ノードとして「ＰＣ本体在庫」などの分類項目のノードが関連付けられ、さらに、「ＰＣ本体在庫」ノードに、その子ノードとして、「ノートＰＣ在庫」、「デスクトップＰＣ在庫」という分類項目のノードが関連付けられた階層構造を有している。
【００３０】
図４に示した各分類項目には、当該分類項目がもつ属性（当該分類項目に固有の属性と、当該分類項目の上位階層の分類項目から承継した属性）のそれぞれに対応する値で構成されたコンテンツデータが登録されている。
【００３１】
図５は、図４に示した階層型データベースに登録されているコンテンツデータの具体例を示したものである。図５には、「ノートＰＣ在庫」（ＣＬＳ１０３）という分類項目に登録されたコンテンツデータのテーブル「ｔａｂｌｅ０１」を示している。
【００３２】
分類項目「ノートＰＣ在庫」（ＣＬＳ１０３）に登録されている図５に示すようなレコードデータは、それぞれ、分類項目「ＲＯＯＴ」に定められた属性（「製品コード」、「在庫数」、「入荷予定台数」）のそれぞれに対応する値で構成されている。
【００３３】
第２の外部ＤＢ５２は、主に各製品の売価を記憶するためのリレーショナルデータベース（ＲＤＢ）である。図６は、第２の外部ＤＢ５２に登録されているテーブルの一例を示したものである。図６に示すテーブル（ｔａｂｌｅ１０１）には、それぞれが「品名」「製品コード」「売価」といった各項目についての値で構成されている複数のレコードデータが登録されている。
【００３４】
ここで、本実施形態に係るシステムの機能について、図７を参照して簡単に説明する。内部データ記憶部１から読み出され、処理対象としてユーザにより選択されたコンテンツデータが、例えば図７（ａ）に示す製品スペック表であるとする。
【００３５】
ユーザは、図７（ａ）に示した製品についての在庫状況を知りたい場合に、第１の外部ＤＢ５１に記憶されている、例えば図７（ｃ）に示すようなコンテンツデータ、すなわち在庫表を指定したとする。すると、本システムは、図７（ａ）に示した製品スペック表と図７（ｃ）に示した在庫表を結合（ｊｏｉｎ）してからユーザへ提供する。ユーザは、この結合演算に用いる結合条件として、製品スペック表上の項目と在庫表の項目のうち、同じ項目とみなすものを指定する。すなわち、ここでは、図７（ａ）に示す製品スペック表上の製品型番と図７（ｂ）に示す在庫表上の製品型番とが同じ項目であるとする結合条件を与える（この場合の結合条件を、製品スペック表．製品型番＝在庫表．製品型番と表す）。この結合条件を用いて製品スペック表と在庫表とを結合した結果を図７（ｄ）に示す。製品スペック表上のレコードデータと在庫表上のレコードデータのうち、「製品型番」の項目に対応する値が双方とも同じであるレコードデータ間を結合する。すなわち、どちらの表においても出現する「Ｋ１２３４５」と「Ａ２２２２２」の行を結合することにより、図７（ｄ）に示すようなテーブルが生成される。
【００３６】
また、ユーザは、図７（ａ）に示した製品についての売価を知りたい場合に、第２の外部ＤＢ５２に記憶されている、例えば図７（ｂ）に示すようなテーブル、すなわち売価表を指定したとする。すると、本システムは、図７（ａ）に示した製品スペック表と図７（ｂ）に示した売価表を結合（ｊｏｉｎ）してからユーザへ提供する。ユーザは、この結合演算に用いる結合条件として、製品スペック表上の項目と売価表の項目のうち、同じ項目とみなすものを指定する。すなわち、ここでは、製品スペック表上の製品型番と売価表上の製品型番とが同じ項目であるとする結合条件を与える（この場合の結合条件を、製品スペック表．製品型番＝売価表．製品型番と表す）。この結合条件を用いて製品スペック表と売価表とを結合した結果を図７（ｅ）に示す。製品スペック表と売価の「製品型番」の項目の値として、どちらの表においても出現する「Ｋ１２３４５」と「ＤＤＥＦ００２」の行（レコードデータ）同士を結合することにより、図７（ｅ）に示すようなテーブルが生成される。
【００３７】
本システムの内部データ記憶部１の各分類項目に登録されるコンテンツデータは、例えば電子部品等では、数千、数万のオーダーを想定している。すなわち、ユーザがユーザ端末ＴＥから、図２に示した構造を有する階層型データベース中の「ノートＰＣ」という分類項目を指定した場合、この分類項目に登録されているテーブルＴＢ０１のすべてのコンテンツデータをまとめて、ユーザ端末ＴＥへ配信すると、データ量が膨大であるため、送信に時間がかかりすぎる。また、これら全てのコンテンツデータのテーブルと、第１あるいは第２の外部ＤＢに記憶されているテーブルとの間で上記のような結合演算を行うには、演算数の制御が重要である。そこで、本システムでは、ユーザに指定された分類項目に登録されていえるコンテンツデータを、予め定められた数以内のコンテンツデータのグループ単位でユーザに提示する。そして、このユーザに提示したグループ単位あるいはさらにユーザがこのグループ単位から絞り込んだコンテンツデータの単位で、結合演算の要求があったときに結合演算の処理を行う。すなわち、結合演算を行う前に予め結合演算対象のデータ数を絞り込む（データ数を必要最小限に抑える）ようになっている。
【００３８】
ユーザの側の立場から考慮した場合でも、ある分類項目に登録されているコンテンツデータの全てについて、在庫数や売価などが必要であるという要求は少なく、ユーザが所望するコンテンツデータについてのみ在庫数や売価がわかれば、充分であるといえる。
【００３９】
階層型データベース上の分類項目に登録されているテーブルＴＢ０１は、リレーショナルデータベースと異なり、表示順が一意に保証されている。そこで、例えば、図２に示した構造を有する階層型データベース中の「ノートＰＣ」という分類に３００個を超える数のコンテンツデータが登録されている場合、それを１００個ずつに分割する。そして、まず最初の１００個のコンテンツデータからなるテーブルを、ユーザ端末ＴＥに送信する。ユーザ端末ＴＥにおけるコンテンツデータのテーブルの表示例を図８に示す。図８では、サーバ装置５０から送信された最初の１００個のコンテンツデータが表示されている。
【００４０】
図８でボタン２０１を選択することにより、サーバ装置５０からは、次の１００個のコンテンツデータのテーブルがユーザ端末ＴＥに送信されて、ユーザ端末ＴＥに表示される。
【００４１】
なお、ユーザは、内部データ記憶部１に記憶されているコンテンツデータを要求する際には、上記のように、単に分類項目（クラス）を（検索条件として）指定するだけでなく、属性の値や所望のキーワードなどを検索条件として指定することで、当該指定したクラスに登録されているコンテンツデータのうち、さらに上記検索条件を満たすようなコンテンツデータを得ることができる。このように、絞り込みをかけた結果においても、ユーザに提示する際には、予め定められた数（例えば、上記のように１００個）以内のコンテンツデータのグループ単位で提示される。
【００４２】
このように、ある分類項目に登録されているコンテンツデータのうち、ユーザに提示したグループ内のコンテンツデータを表示するテーブルを結合演算部１１での結合演算の処理対象とする。また、ユーザに提示されたグループ内のコンテンツデータのうち、さらに、図９に示すように、ユーザによりコンテンツデータが選択されたときには、この選択されたコンテンツデータのみを結合演算の処理対象とする。このように結合演算を行う際に、予め結合演算の対象となるコンテンツデータの数を限定することは、コンテンツデータを限定せずに結合演算するのに比べて、演算処理が少なくて済むため非常に重要である。
【００４３】
図１のサーバ装置５０は、ユーザ端末ＴＥからの要求に応じて、製品スペックを内部データ記憶部１から読み出してユーザ端末ＴＥに提供する。
【００４４】
サーバ装置５０は、この内部データ記憶部１の他に、外部データ記憶部２、外部ＤＢ接続情報記憶部３、結合履歴記憶部４、結合データ記憶部５を有し、さらに、第１の指定部６、呈示部７、第２の指定部８、外部データ取得部９、検索条件入力部１０、結合演算部１１、結合データ出力部１２，検索部１３を有する。以下、図１１に示すフローチャートを参照して、図１のサーバ装置５０の各構成部について説明する。
【００４５】
まず、ステップＳ１において、第１の指定部６から内部データ記憶部１に記憶された内部データを指定する。第１の指定部６は、内部データ記憶部１に記憶されたデータのうち、所望のクラスのコンテンツデータを指定したり、内部データ記憶部１から所望のコンテンツデータのテーブルを検索するための検索条件などを入力するためのものである。検索条件としては、所望の分類項目や属性の値、キーワードなどである。
【００４６】
検索部１３は、第１の指定部６から入力された検索条件などを基に、内部データ記憶部１からコンテンツデータを検索する。例えば、上記検索条件にマッチしたクラスを検索して、当該クラスに登録されているコンテンツデータ（ここでは、テーブル形式で登録されているとする）を読み出して呈示部７へ渡す。
【００４７】
呈示部７は、検索部１３で検索されたコンテンツデータを、例えば、予め定められた数（例えば、上記のように１００個）以内のコンテンツデータのグループ単位にユーザに呈示する。呈示部７で現在ユーザに提示しているグループに含まれるコンテンツデータからなるテーブルが結合演算部１１での結合演算の処理対象となる。
【００４８】
次に、ステップＳ２において、第２の指定部８から外部データを指定する。第２の指定部８は、外部データベースとしての例えば、第１、第２の外部ＤＢ５１、５２に記憶されているデータ（ここでは、テーブル形式で記憶されているものとする）を指定するためのもので、ユーザは、呈示部７により呈示されたコンテンツデータに関連する外部データを指定する。
【００４９】
外部ＤＢ接続情報記憶部３には、外部データ取得部９が外部データベース、例えば第１、第２の外部ＤＢ５１、５２に接続するために必要なＵＲＬなどの接続情報が記憶されている。外部ＤＢ接続情報記憶部３には、例えば、図１０に示すように、第１、第２の外部ＤＢ５１，５２のそれぞれについて、そこに記憶されている情報の種別と、外部ＤＢの識別子と接続情報（例えば、ＩＰ、ホスト名、ポート番号、また当該接続先データベースに存在する結合演算を行うテーブル名など）がテーブル形式で記憶されている。
【００５０】
外部データ取得部９は、この外部ＤＢ接続情報記憶部３に記憶された図１０に示したようなテーブルを参照して、外部データベースにネットワークを介して接続し、外部データの辞書データを取得する。外部データ取得部９で取得された外部データの辞書データは、外部データ記憶部２に記憶される。なお、第２の指定部８で指定された外部データの辞書データが、既に外部データ記憶部２に記憶されているときには、外部ＤＢのスキーマ変更などが発生した場合等、再取得が必要な場合を除き、外部データベースにアクセスすることはない。なお、外部データの辞書データとは、外部ＤＢに存在するテーブル名および、そのテーブルを構成する属性項目名及びデータ型、キー情報を表す。外部ＤＢが階層型データベースの場合には、階層関係、分類項目名、分類項目識別子、属性項目識別子、テーブル識別子なども含む。
【００５１】
外部データ記憶部２は、外部データを記憶するための階層型データベースである。外部データを外部データ記憶部２に記憶する際には、外部データ処理部１４は、外部データの辞書データにクラスを付与し、外部データ中の各項目（あるいは属性）にＢＳＵのような一意な属性識別子を付与するとともに、各項目の値（あるいは属性値）のデータ型を判定する。
【００５２】
第２の指定部８は、外部データ記憶部２から、指定された外部データを読み出すと、これを結合条件入力部１０へ渡す。
【００５３】
次に、ステップＳ３において、呈示部７で呈示された内部データのテーブル（ここでは、第１のテーブルと呼ぶ）と、第２の指定部８で指定した外部データのテーブル（ここでは、第２のテーブルと呼ぶ）を結合するための結合条件を設定する。
【００５４】
結合条件入力部１０は、上記２つのテーブルを結合するための結合条件を入力するために、結合条件入力画面をユーザ端末ＴＥやサーバ装置５０のディスプレイ装置などに表示するものである。このため結合条件入力部１０は、第２のテーブル中の各項目（あるいは各属性）や、第１のテーブル中の各属性を表示するとともに、第２のテーブル中の各項目名（あるいは各属性名）と、第１のテーブル中の各属性名とを照合し、両者が一致する場合には、両者を対応付けてユーザ端末ＴＥやサーバ装置５０のディスプレイ装置に表示する。また、結合条件入力部１０により入力された結合条件により結合演算を行う内部データのテーブルと、外部データのテーブルと、両者を結合する際に用いた結合条件を含む履歴情報（結合履歴）を結合履歴記憶部４に記憶する。ステップＳ４では、結合実行の指示が入力されると（例えば、図１８の「結合実行」ボタンＢ１０６がユーザにより選択されると）、呈示部７で現在呈示されている、結合演算の処理対象である一定数のコンテンツデータからなる第１のテーブルと、第２の指定部８で指定した外部データのテーブル、すなわち、第２のテーブルとを、結合条件入力部１０で入力された結合条件を用いて結合する。
【００５５】
結合演算部１１は、結合条件入力部１０で入力された結合条件を基に、第１のテーブルと第２のテーブルとの間で結合演算を行う。この結合演算は、リレーショナルデータベースにおいてよく用いられる結合演算（ＪＯＩＮ）と同様である。
【００５６】
次に、図１２に示すフローチャートを参照して、図１１のステップＳ１の処理動作についてより詳細に説明する。
【００５７】
第１の指定部６は、例えば、図１３に示すように、階層型データベース１に記憶されている階層構造を表すツリー（ユーザ端末ＴＥやサーバ装置５０のディスプレイ装置に）を表示する。例えば、ツリーから分類項目（クラス）「ノートＰＣ」を選択すると、当該分類項目に登録されているコンテンツデータのテーブルの一覧１３０１が表示される。このテーブルの一覧１３０１から、所望のテーブル（例えば、ＴＢ０１）をユーザが選択し（例えば、チェックボックスにチェックを入力し）、更にユーザが「コンテンツ表示」ボタン「Ｂ１１」を選択すると（ステップＳ１０１）、検索部１３は、内部データ記憶部１から、当該選択したテーブルに含まれている属性のうち、選択可能な属性を取出す。提示部７は、例えば、図１４に示すような当該選択可能な属性のリストを表示する。図１４に示したリストからユーザは、所望の属性を選択する（ステップＳ１０２）。この例では図１４に示すように、テーブルＴＢ０１に登録されているコンテンツデータのもつ属性のうちチェックボックスにチェックの入った属性がユーザにより選択された属性である。次に、このリストの表示画面上に設けられている「ＯＫ」ボタンＢ１４をユーザが選択すると、検索部１３は、内部データ記憶部１から、テーブルＴＢ０１のステップＳ１０２で選択された属性に対応する部分のみ（図１５参照）を読み出し、呈示部７に渡す。呈示部７は、図１５に示すテーブル中のコンテンツデータを予め定められた所定数（たとえば、ここでは１００個）以内のコンテンツデータからなるグループに分け（ステップＳ１０３）、先頭のグループに含まれるコンテンツデータを表すテーブルを図８に示したように表示する（ステップＳ１０４）。この呈示されたコンテンツデータのテーブル（第１のテーブル）を、結合演算の処理対象とする。また、必要があれば、この第１のテーブル上のコンテンツデータのうち、さらに、図９に示すように、ユーザにより選択されたコンテンツデータ（行）のみを結合演算の処理対象として選択する（ステップＳ１０５）。
【００５８】
次に、図１６に示すフローチャートを参照して、図１１のステップＳ２の処理動作について更に詳細に説明する。
【００５９】
図９に示すような第１のテーブルのコンテンツデータを表示する画面に設けられた「結合演算の実行」ボタンＢ１をユーザが選択することにより、第１の指定部６は、当該システム内の内部データ記憶部１に記憶されている内部データの辞書データを読み出すとともに、第２の指定部８は、外部データ記憶部２に記憶されている外部データを読み出し、図１８に示すような階層化された分類項目およびコンテンツデータを上記画面に表示する。図１８のラジオボタンＢ１０７は、分類項目を識別子（ＢＳＵ）で表示するか、名称で表示するかを選択するためのものである。また、ボタンＢ１０８のような、分類項目やコンテンツデータ名称（テーブル名称）、結合条件名称などを検索するための画面を呼び出し、ユーザのテーブル選択、検索条件選択を助けるための図１８に示すボタンＢ１０８を設けてもよい。さらに、ボタンＢ１０１により、ツリー上に内部データの表示に加えて、外部データの表示／非表示を切り替えることができてもよい。
【００６０】
図１９および図２０は、結合演算相手のデータを内部データおよび外部データの２つのツリーに分離して表示する例である。例えば、図１９でタブＢ１０９がユーザにより選択されると、呈示部７は、外部データの画面（図２０）に切り替える。このようにして、画面を分けることにより、これから結合演算を行う相手テーブルが、内部データか外部データかをより明確にユーザに提示することができる。
【００６１】
例えば、図１８に示すような画面から外部データを表示する際には、外部データ取得部９は、外部ＤＢ接続情報記憶部３に記録されている接続情報に対応する外部データ（辞書データを含む）が既に外部データ記憶部２に記憶されているか検索する。外部データ記憶部２に当該外部データが記憶されており（ステップＳ１１１〜ステップＳ１１２）、且つ外部データを外部ＤＢのスキーマ変更等の理由により、外部ＤＢから再取得する必要がある場合には（ステップＳ１１３）、外部ＤＢに接続して外部データを更新する。
【００６２】
また、外部データ記憶部２に当該外部データが記憶されており（ステップＳ１１２）、且つ外部ＤＢを再取得する必要がない場合には（ステップＳ１１３）、外部データ記憶部に保存されている外部データを利用する。
【００６３】
一方、外部データ記憶部２に、当該外部データが記憶されていないときには（ステップＳ１１２）、外部ＤＢ接続情報記憶部３に記憶されている接続情報を参照し、当該接続情報に記載されている外部データベースが存在するか否かを調べる。この調べた結果、存在するときには（ステップＳ１１４）、当該外部データベースの接続情報を用いて当該外部データベースにアクセスして、外部データを取得する（ステップＳ１１５）。
【００６４】
外部データベースから取得した外部データは、外部データ記憶部２に格納するが、この際、当該外部データは、階層構造をもたない場合（ステップＳ１１６）、内部データ記憶部１に記憶されている階層構造を模した階層構造に従って記憶される（ステップＳ１１７〜ステップＳ１１９）。
【００６５】
例えば、第１の外部ＤＢ５１には、図４に示した階層構造（スキーマデータ）と、当該階層構造を構成する項目に登録されているテーブルが記憶されているが、これらが外部データ取得部９により取得されるとする。すると、外部データ処理部１４は、外部データにクラス（クラス識別子）を付与し（ステップＳ１１７）、外部データ中の各項目（あるいは属性名）にシステム内で一意な属性識別子を付与するとともに（ステップＳ１１８）、各項目の値（あるいは属性値）のデータ型を判定して、当該項目あるいは属性に付与する（ステップＳ１１９）。
【００６６】
この結果、ステップＳ１２０では、図２０に示すように、内部データ記憶部１に記憶されている木構造と同様に外部データを記憶するようになっている。すなわち、第１の外部ＤＢ５１や第２の外部ＤＢ５２に格納されている外部データに対応するような階層構造を格納する。
【００６７】
例えば、階層構造をもつ第１の外部ＤＢ５１に記憶されている外部データを外部データ記憶部２に格納する場合には、ノード４０１に、当該外部データの階層構造を移植する形で格納する。この際、当該外部データの階層構造を構成する各クラスのもつ属性には、ＢＳＵのような一意な属性識別子を付与するとともに、当該外部データのスキーマデータで定義されている各属性値のデータ型を取得して記憶する。  また、第２の外部ＤＢ５２に記憶されているテーブル形式の外部データを外部データ記憶部２に格納する場合には、ノード４０２に、当該テーブル登録する。この際、ノード４０２に対応するクラスに当該外部データのもつ項目を属性としてもたせ、各属性にＢＳＵのような一意な属性識別子を付与するとともに、各属性値のデータ型を取得して記憶する。
【００６８】
なお、ステップＳ１２３で、ユーザが指定した種別のデータを記憶する外部データベースに関する情報が外部ＤＢ接続情報記憶部３に記憶されておらず、新たな外部データベースを追加するときには、直接外部データベースを指定するようにしてもよい（ステップ１２５）。例えば、図１８に示すような「外部ＤＢ情報の追加／編集」ボタンＢ１０５を押すと、図２１に示すような外部データベースに関する情報を入力するための入力画面が表示され、この画面上で、所望の外部データベースの識別子や、ＩＰやホスト名などの接続情報、テーブル名称やテーブルタイプなどのテーブル情報などを入力すると、外部ＤＢ接続情報記憶部３に記憶される（ステップＳ１２５）。この後、外部データ取得部９は、当該情報を用いて、当該所望の外部ＤＢへアクセスし、外部データを取得する、前述同様にして、取得した外部データを外部データ記憶部２へ記憶する（ステップＳ１１４〜ステップＳ１２０）。
【００６９】
第２の指定部８は、外部データ記憶部２から外部データを読み出し、例えば、図１８に示すような画面を表示する（ステップＳ１２２）。図１８に示した画面には、当該システム内で取り扱うすべての辞書ツリー（階層構造に模した外部データも含む）のルートノード３００「ｕｎｉｖｅｒｓａｌ  ｒｏｏｔ」を設け、その子ノードとして、内部データの全ての辞書ツリーの親ノードであるノード３０１「ｉｎｔｅｒｎａｌ  ｄａｔａｂａｓｅ」を設け、その子ノードとして、内部データから取得した階層木（辞書ツリー）を表示する。第１の外部ＤＢ５１および第２の外部ＤＢ５２から取得した外部データに対応する辞書ツリーは、ノード３００の子ノード３０２「ｅｘｔｅｒｎａｌ  ｄａｔａｂａｓｅ」の子ノードとして、それぞれ、ノード３０３「ｅｘ＿ｄａｔａｂａｓｅ０１」、ノード３０４「ｅｘ＿ｄａｔａｂａｓｅ０２」として表示されている。当該部分木を構成する分類項目のいずれかに登録されているコンテンツデータのテーブルの識別子（ここでは、例えば、ｔａｂｌｅ０１、ｔａｂｌｅ１０１など）を選択することで、所望のテーブルを選択する（ステップＳ１２４）。このようにして選択されたテーブルが第２のテーブルである。
【００７０】
次に、図１７に示すフローチャートを参照して、図１１のステップＳ３の処理動作について更に詳細に説明する。例えば、図１８のボタンＢ１０２が押され新規結合条件の作成が要求された場合（ステップＳ１３１）、結合条件入力部１０は、第１のテーブル中の各属性名と、第２のテーブル中の各項目名（属性名）とを照合して、第１のテーブル中の属性と同じ名称あるいは識別子の項目（属性）を第２のテーブル中の項目（属性）から探す（ステップＳ１３２）。そして、第１のテーブル中の各属性と、第２のテーブル中の各項目（各属性）を表示するとともに、名称あるいは識別子が同じである属性と項目（属性）はそれらの対応が明らかになるように例えば、図２２に示すような画面を表示する（ステップＳ１３３）。
【００７１】
図２２では、内部データのテーブルがＴＢ０１であり、外部データのテーブルが、第２の外部ＤＢ５１に記憶されているテーブルｔａｂｌｅ０１である場合を示している。この場合、テーブルｔａｂｌｅ０１中の項目は、「製品コード」、「在庫数」、「入荷予定日」といった項目があるが、このうち、「製品コード」は、第１のテーブルであるテーブルＴＢ０１にも存在する。そこで、図２２では、第２のテーブル中の「製品コード」を、第１のテーブル中の「製品コード」とを同じ行で表示している。これらは属性の識別子（ＢＳＵ）が同じであることにより、同じ属性とみなしている。
【００７２】
これにより、ユーザは面倒な結合条件を自分で設定することなく、用意されている候補の中から選択し設定することができる。階層型データベースでは、上位クラスの属性を下位クラスで継承するという特徴をもっているため、上位クラスで登録されている結合条件は、通常、下位クラスにも当てはまる。ツリー上に表示することにより、結合条件として登録されているクラスそのものだけではなく、その下位に位置するクラスに対しても、同じ結合条件を用いて結合する相手表として容易に選択することが可能となる。
【００７３】
通常のリレーショナルデータベースにおける表の間で、属性名称が一致、尚且つデータ型が一致していても、属性の一致の完全な保証は行われない。しかしながら、本システムにおける階層型データベースにおいては、属性が一意な識別子（ＢＳＵ）によって管理されていること、また上位階層で定義した識別子をもった属性（プロパティ）を下位階層で継承しているため、その属性が定義されているクラスより下位のクラスにおいては、一致した属性を持つことが保証されている。これを利用し、図２２に示す画面では、結合を行うための属性に、表の間で一致している属性をデフォルトでユーザに提示し、ユーザが結合条件をより容易に記述できるような入力補助を行うことが可能である。
【００７４】
図２２に示した画面上に表示された、第１のテーブルと第２のテーブルとの間で一致する項目名、属性名から、結合条件として用いるものを選択する（ステップＳ１３３）。例えば、図２２では、第１のテーブル中の属性「製品コード」と第２のテーブル中の属性「製品コード」とが一致しているので、これを結合条件として指定する場合には、ユーザは「詳細条件」ボタンＢ２３を押す。
【００７５】
あるいは、図２３のように、第１のテーブルの属性と、同一とすべき且つ、データ型等を考慮した場合でも同一とすることが可能な第２のテーブル中の項目（属性）の候補をプルダウンメニューで表示し、ユーザが個々に設定することも可能である（ステップＳ１３４）。必要であれば、結合のためにマッピングした各属性に対して、属性の結合条件の入力を行ってもよい（ステップＳ１３５）。通常は、属性の値が一致するものを結合する（等価結合）。
【００７６】
さらに、必要であれば、結合タイプを選択することも可能である（ステップＳ１３６）。本実施形態では、第１のテーブルを起点として考えているため、通常の結合演算では、左外部結合を既定値として設定することを想定しているが、例えば、図２２に示す画面上で「結合タイプの設定」ボタンＢ２４を選択すると、図２４に示すような画面が表示され、結合のタイプを選択することも可能である。この画面上で、第１のテーブルに第２のテーブルを結合する際に、どのように結合するかを設定する。例えば、図２４に示す例では、第１のテーブルを右におき、第２のテーブルと外部結合を行うという内容の設定がなされている。
【００７７】
さらに、第１のテーブル中の複数の属性と第２のテーブル中の複数の属性のうち、結合演算の対象となる属性を選択するようにしてもよい（ステップＳ１３７）。例えば、図２２に示す画面上で、結合演算の対象とする属性に対応する「表示」項目欄にユーザがチェックを入力する。これにより、結合演算時のデータ数をさらに低減することができる。このようにして作成された結合条件は、図２２の「確定」ボタンＢ２１を選択すると、この画面上での設定内容を保存するか否かを問い合わせるメッセージが表示される（ステップＳ１３８）。ユーザが「保存する」を選択したときには、当該画面上での設定内容に、名前をつけ、結合履歴として結合履歴記憶部４に記憶される（ステップＳ１３９）。
【００７８】
さらに、結合履歴から結合条件を選択し、再利用することもできる。すなわち、図１８に表示されている第２のテーブルに対して保存されている結合条件（ここでは、例えば、結合条件０１、結合条件０２など）を選択された状態で、ボタンＢ１０３が押される（ステップＳ１４０）と、結合条件入力部１０は、結合履歴記憶部４に記憶されている図２５に示したような結合履歴から、選択された結合条件を読み出し、これを表示する（ステップＳ１４１）。
【００７９】
結合履歴記憶部４は、過去に結合演算を行った際に用いた結合条件を結合履歴として記憶するためのもので、各結合条件を、当該結合履歴（結合条件）を識別するための識別情報と、当該結合条件の名称、当該結合条件を適用した第１のテーブルと第２のテーブル、当該結合条件を適用して結合演算を行った結果得られるデータのうち表示対象として指定された属性、あるいは、結合演算対象として指定された属性とその条件、結合タイプなどが記録されている。
【００８０】
ユーザは、表示された結合条件をそのまま今回の結合条件として用いることもできる。表示された結合条件を変更するか、あるいは、再利用して新規の結合条件を作成する場合には（ステップＳ１４２）、前述と同様に、結合条件入力作業を行う（ステップＳ１３４〜Ｓ１３７）。このようにして編集した結合条件は、ユーザにより図２２に示すボタンＢ２１が押されると、同様に名前を付けて結合履歴記憶部４に記憶される。
【００８１】
またこのようにして、結合履歴記憶部４に記憶された結合条件は、ユーザにより図１８に示すボタンＢ１０４が押される（ステップＳ１４３）ことにより、削除することも可能である（ステップＳ１４４）。図１１のステップＳ４において、第１のテーブルと第２のテーブルとの間の結合演算の実行指示が入力されると、結合演算部１１は、両テーブルの結合演算を実行する。すなわち、結合条件入力部１０で入力された結合条件や結合タイプを基に、呈示部１７で現在呈示されている一定数（例えば、ここでは１００個）のコンテンツデータのテーブル（第１のテーブル）と、外部データのテーブル（第２のテーブル）との間で結合演算を行う。
【００８２】
結合演算は、図７で説明したように、両テーブルについて、検索条件として指定された属性や項目に対応する値をサーチし、第１のテーブル上のレコードデータと第２のテーブル上のレコードデータのうち、検索条件として指定された属性や項目に対応する値が双方とも同じであるレコードデータ間を結合して、たとえば、図７（ｄ）や図７（ｅ）に示すような結合テーブルを作成する。
【００８３】
結合演算部１１は、結合演算の結果得られた新たなテーブルを結合データ記憶部５に記憶するとともに、結合データ出力部１２へ出力する。結合データ出力部１２は、受け取った結合データを要求元のユーザ端末ＴＥに送信したり、サーバ装置５０のディスプレイ装置などに表示する。要求元のユーザ端末ＴＥは、受信した結合データを、所定のディスプレイに表示する。
【００８４】
以上説明したように、上記第１の実施形態によれば、内部データを記憶する階層型データベースから所望のクラスのコンテンツデータを予め定められた所定数以内のコンテンツデータからなる複数のグループに分け、このグループ単位で表示するとともに、このグループ単位で他のレコードデータのテーブルと結合するため、結合演算対象のデータ数が削減される。この結果、結合演算処理の負荷が少なくなる。グループ内のコンテンツデータのうち、ユーザにより選択されたコンテンツデータを結合演算処理の対象とすることで、処理対象のデータ数をより削減することができる。
【００８５】
内部データを記憶する階層型データベースとは異なる分類体系、階層構造の外部データベースから取得する外部データも、内部データを記憶する階層型データベースの階層構造の一部として記憶することにより、図１８に示すように、内部データのテーブルと結合させる他方のクラスあるいはテーブルをＧＵＩ上で表示されたツリー上で選択することができる。
【００８６】
内部データのテーブル（上記第１のテーブル）上の属性項目のうち、外部データのテーブル（上記第２のテーブル）上の属性項目のいずれかと同じ名称あるいは識別子をもつ属性項目を求めて、例えば、図２２に示すように、当該同じ名称あるいは識別子をもつ属性項目の一覧を表示することにより、第１のテーブルと第２のテーブルとの間で結合演算を行う際に用いる結合条件を容易に設定することができる。
【００８７】
なお、図２２に示すような、テーブルの属性項目の一覧の表示された結合条件設定画面をクラス・オペレーション・ページと呼ぶ。
【００８８】
結合演算に用いた結合条件を結合履歴として記憶しておき、これを、これから行う結合演算で用いる結合条件を入力（設定）する際に用いることにより、結合条件を容易に設定することができる。
【００８９】
なお、結合演算（ＪＯＩＮ）の対象となるクラスの演算の順番を指定し、この演算の順番を保存しておいて、ＧＵＩ上からユーザが選択して現在表示しているクラスについて既に登録された結合条件を読み出して結合演算を行うようにしてもよい。
【００９０】
また、結合演算（ＪＯＩＮ）の対象となるクラスの演算の順番を指定し、この演算の順番を保存しておいて、その演算対象となりうる全てのクラスついて、ＧＵＩ上からユーザが選択して表示しているクラス、またはその上位クラスに関係する既に登録された結合条件を読み出し、これを結合演算に用いるようにしてもよい。結合演算（ＪＯＩＮ）において、結合テーブルの順番を指定することにより、演算処理時間の短縮に有効であることが知られている。従って、結合順番を記憶しておくことは、演算処理時間を短縮するために非常に重要である。
【００９１】
さらに、結合演算（ＪＯＩＮ）の対象となる他のクラスとの間に、全く同一の名称あるいは識別子を持つ属性がない場合でも、属性値のデータ型が同一であるならば同一の属性であるとみなし、これらを対応付けて図２２に示したようにユーザに呈示するようにしてもよい。
【００９２】
（第２の実施形態）
上記第１の実施形態では、内部データのテーブル（第１のテーブル）を外部データのテーブル（第２のテーブル）とを結合する場合について説明したが、同様の手法が内部データの２つのテーブル間を結合する場合についても適用可能である。第１の実施形態と異なる部分についてのみ説明する。
【００９３】
以下、図２６に示すフローチャートを参照して説明する。
【００９４】
まず、ステップＳ２０１では、図１２のフローチャートに示したように、第１の指定部６において、内部データ記憶部１から、所望のコンテンツデータのテーブルを指定する。すなわち、ステップ２０１では、内部データ記憶部１に記憶されている階層構造を構成する分類項目（クラス）のうちの１つ（ここでは、第１の分類項目と呼ぶ）を指定し、当該分類項目に登録されているコンテンツデータのテーブルを選択する（ステップＳ１０１）。呈示部７は、当該テーブル中のコンテンツデータを予め定められた所定数（たとえば、ここでは１００個）以内のコンテンツデータからなるグループに分け（ステップＳ１０２）、先頭のグループに含まれるコンテンツデータを表すテーブルを図８に示したように表示する（ステップＳ１０３）。この呈示されたコンテンツデータのテーブル（第１のテーブル）を、結合演算の処理対象とする。また、必要があれば、この第１のテーブル上のコンテンツデータのうち、さらに、図９に示すように、選択されたコンテンツデータ（行）のみを結合演算の処理対象として選択する（ステップＳ１０４）。ここまでがステップＳ２０１で行われる。  次に、上記ステップＳ２０１と同様にして、第１の指定部６で、内部データ記憶部１から、当該第１のテーブルに結合する第２のテーブルを指定する（ステップＳ２０２）。すなわち、ステップ２０２では、内部データ記憶部１に記憶されている階層構造を構成する分類項目（クラス）のうちの他の１つ（ここでは、第２の分類項目と呼ぶ）を指定し、当該分類項目に登録されているコンテンツデータのテーブルを選択する（ステップＳ１０１）。呈示部７は、当該テーブル中のコンテンツデータを予め定められた所定数（たとえば、ここでは１００個）以内のコンテンツデータからなるグループに分け（ステップＳ１０２）、先頭のグループに含まれるコンテンツデータを表すテーブルを図８に示したように表示する（ステップＳ１０３）。この呈示されたコンテンツデータのテーブル（第２のテーブル）を、結合演算の処理対象とする。また、必要があれば、この第２のテーブル上のコンテンツデータのうち、さらに、図９に示すように、選択されたコンテンツデータ（行）のみを結合演算の処理対象として選択する（ステップＳ１０４）。ここまでがステップＳ２０２で行われる。
【００９５】
次に、図１７のフローチャートと同様にして、結合条件の設定を行う（ステップＳ２０３）。
【００９６】
図２６のステップＳ２０４において、第１のテーブルと第２のテーブルとの間の結合演算の実行指示が入力されると、結合演算部１１は、両テーブルの結合演算を実行する。
【００９７】
結合演算の結果得られた新たなテーブルは結合データ記憶部５に記憶するとともに、結合データ出力部１２から要求元のユーザ端末ＴＥやサーバ装置５０のディスプレイ装置などに表示される（ステップＳ２０５）。
【００９８】
（第３の実施形態）
なお、ここでは、上記第１の実施形態とは異なる部分についてのみ説明する。
【００９９】
ＲＤＢテーブル間で結合演算（ＪＯＩＮ）を行う場合、２つのテーブル間で結合条件として指定する属性項目の値が、多対多で対応（たとえば一致）する場合、その対応する数が多いほど演算数が多くなる。したがって、演算数が少なくなるような結合演算を行うためには、できるだけ２つのテーブルで対応する値が少なくなるような属性項目を指定すればよい。
【０１００】
テーブルのキー属性は、テーブルの中のレコードを一意に識別するためのものである。キー属性は、複数でも可能であり、複数の場合には、その組み合わせの値で一意にレコードを識別する。したがって、両テーブルのキー属性を、結合条件としてユーザに最初に提示して、結合条件としての選択を促すことにより、演算数を制御することが可能である。
【０１０１】
ここで、図２７、図２８を参照して説明する。
【０１０２】
図２７は、マウスのコンテンツデータ例であり、図２８はノートＰＣのコンテンツデータ例である。両者は、マウスの「インターフェース」とノートＰＣの「マウスインターフェース」を結合条件として結合することが可能である。結合条件を「マウス．インターフェース＝ノートＰＣ．マウスインターフェース」として結合演算を行った場合よりも、マウスのキー属性である「製品コード」を含んだ結合条件、「マウス．製品コード＝ノートＰＣ．推奨マウス製品コード」のほうが、処理時間が少なくて済む。
【０１０３】
すなわち、結合条件を「マウス．インターフェース＝ノートＰＣ．マウスインターフェース」として結合演算を行った場合には、例えば、図２７のマウスのコンテンツデータのうち、製品コード「ＭＲ００１」のコンテンツデータのインターフェースは「ＵＳＢ」であるので、図２８のノートＰＣのコンテンツデータのうち、「ＵＳＢ」を属性「マウスイターフェース」の値としてもつ製品コード「Ｄｙｎａ１００」「Ｄｙｎａ１０１」「Ｄｙｎａ１０２」「Ｄｙｎａ１０３」「Ｄｙｎａ１０４」の５つのコンテンツデータのそれぞれが、製品コード「ＭＲ００１」のマウスのコンテンツデータと結合して、５つの結合されたコンテンツデータが生成される。図２７のマウスのコンテンツデータのうち、製品コード「ＭＲ００２」のコンテンツデータに対しても、同様にして、図２８のノートＰＣのコンテンツデータのうち、製品コード「Ｄｙｎａ１００」「Ｄｙｎａ１０１」「Ｄｙｎａ１０２」「Ｄｙｎａ１０３」「Ｄｙｎａ１０４」の５つのコンテンツデータのそれぞれが結合して、５つの結合されたコンテンツデータが生成される。図２７のマウスのコンテンツデータのうち、製品コード「ＭＲ００３」や「ＭＩＲ００２」のコンテンツデータに対しても、同様にして、それぞれ５つの結合されたコンテンツデータが生成される。
【０１０４】
これに対し、マウスのキー属性である「製品コード」と、ノードＰＣの属性「「推奨マウス製品コード」を用いた結合条件「マウス．製品コード＝ノートＰＣ．推奨マウス製品コード」で、結合演算を行った場合には、例えば、図２７の製品コード「ＭＲ００１」のマウスのコンテンツデータに対して、図２８のノートＰＣのコンテンツデータのうち当該「ＭＲ００１」を属性「推奨マウス製品コード」の値としてもつコンテンツデータは、製品コード「Ｄｙｎａ１００」と「Ｄｙｎａ１０１」の２つのコンテンツデータであるので、これらを製品コード「ＭＲ００１」のマウスのコンテンツデータにそれぞれを結合して、２つの結合されたコンテンツデータが生成される。また、図２７の製品コード「ＭＲ００２」のマウスのコンテンツデータに対して、図２８のノートＰＣのコンテンツデータのうち当該「ＭＲ００２」を属性「推奨マウス製品コード」の値としてもつコンテンツデータは、製品コード「Ｄｙｎａ１０２」と「Ｄｙｎａ１０３」の２つのコンテンツデータであるので、これらを製品コード「ＭＲ００２」のマウスのコンテンツデータにそれぞれを結合して、２つの結合されたコンテンツデータが生成される。
【０１０５】
他のマウスのコンテンツデータに対しても同様で、１つのマウスのコンテンツデータに結合させるノートＰＣのコンテンツデータの数を小さくすることができる。このように、２つのテーブルを結合する際の結合条件として、各テーブル中で同じ値をもつコンテンツデータの数がより少ない（好ましくは、１つのみであるような）属性（例えば、各コンテンツデータのそれぞれを識別することができるような情報を値としてもつ、例えば「製品コード」のような属性（これをキー属性と呼ぶ））を用いることで、結合演算対象のデータ数を削減することができる。このように、結合条件入力部１０は、外部データと内部データの２つのテーブルのそれぞれからキー属性を求めて、それらを図２２に示すように、ユーザに提示する。図２２では、第１のテーブル中の属性と第２のテーブル中の属性のうち、キー属性の属性に対しては、「キー」欄に「○」が表示されている。キー属性を結合条件として指定するように、ユーザに対して推奨することにより、結合演算数が少なくなるような結合条件の指定を行わせることができる。推奨の方法は、図２２のように、結合条件入力画面を表示する際に、キー属性どうしをあらかじめ結合条件としてシステムが与える他、キー属性が結合条件として選ばれていない場合には、結合条件決定の際（例えば、図２２では「ＯＫ」ボタンＢ２１が押された際）、警告メッセージを出し、ユーザに結合条件として指定するように促すなども考えられる。
【０１０６】
また、結合条件としては、等結合（等価結合）のほか、非等価結合も入力可能である。例えば、第１のテーブル中のキー属性である「製品コード」と、当該属性に対応する第２のテーブル中の属性であって、当該第２のテーブル中のキー属性とからなる結合条件を指定する場合には、第１のテーブルの属性と第２のテーブルの属性を結合条件として指定したことによって、図２２に示すアクティブになった「詳細条件」ボタンＢ２３をユーザが押すことによって指定可能とすればよい。
【０１０７】
（第４の実施形態）
なお、ここでは、上記第１の実施形態とは異なる部分についてのみ説明する。
【０１０８】
階層構造を持つデータベースにおいては、上位の製品分類で定義された属性項目を下位の分類が継承する特性をもっている。したがって、ある製品分類で定義した結合条件（結合履歴）をその下位の分類において適応することが可能である。
【０１０９】
例えば、図２の「ＰＣ本体」ノード１０２に図２９に示すようなテーブル「ＴＢ１０」が登録され、「ノートＰＣ」ノード１０５に図３に示したようなテーブル「ＴＢ０１」が登録され、「デスクトップＰＣ」ノード１０６に図３０に示すようなテーブル「ＴＢ１１」が登録されているとする。図２９に示すテーブル「ＴＢ１０」はスキーマのみが定義されたテーブルであるが、コンテンツデータが登録されていても構わない。
【０１１０】
また、第１の外部ＤＢ５１に構成されている階層型データベースの階層構造の一部を概略的に示した図４において、「ＰＣ本体在庫」ノードに図３１に示すようなテーブル「ｔａｂｌｅ００」が登録され、「ノートＰＣ在庫」ノードに図５に示したようなテーブル「ｔａｂｌｅ０１」が登録され、「デスクトップＰＣ在庫」ノードに図３２に示すようなテーブル「ｔａｂｌｅ０２」が登録されているとする。図３１の「ｔａｂｌｅ００」は、スキーマのみが定義されたテーブルであるが、コンテンツデータが登録されていても構わない。
【０１１１】
図２の「ＰＣ本体」ノード１０２のテーブル「ＴＢ１０」と、図４の「ＰＣ本体在庫」ノードのテーブル「ｔａｂｌｅ００」を結合演算して、ＰＣの在庫を求めるための、結合条件（履歴）を登録しておく。結合条件は、図２５の「結合条件００３：在庫チェックテンプレート」とする。すなわち、結合条件は、「ＴＢ１０」の属性「ＰＲＰ００３：製品コード」に対応する値と、「ｔａｂｌｅ００」の属性「ＰＲＰ００３：製品コード」に対応する値が同じであるものを結合（ＪＯＩＮ）し、（「表示プロパティ」の欄で指定されている）属性「ＰＲＰ００３：製品コード」と「ＰＲＰ１０１：在庫数」について、その値を表示するというものである。
【０１１２】
例えば、図３３に示すような外部データと結合条件の選択画面において、「継承結合条件の表示」ボタンＢ３０をユーザが選択すると、承継結合条件「結合条件００３：在庫チェックテンプレート」が表示される。この結合条件は、テーブル「ＴＢ１０」とテーブル「ｔａｂｌｅ００」を結合する際に用いる結合条件であるから、結合条件００３：在庫チェックテンプレート」で用いる属性は、テーブル「ＴＢ１０」とテーブル「ｔａｂｌｅ００」のそれぞれの分類項目の下位分類に継承されている。すなわち、テーブル「ｔａｂｌｅ００」の登録されている図４の「ＰＣ本体在庫」ノードの子ノードである「ノートＰＣ在庫」ノードに登録されているテーブル「ｔａｂｌｅ０１」と、テーブル「ＴＢ１０」の登録されている図２の「ＰＣ本体」ノード１０２の子ノードである「ノートＰＣ」ノード１０５に登録されているテーブル「ＴＢ０１」とを結合する際に用いる結合条件としても利用できるため、図３３では、テーブル「ｔａｂｌｅ０１」の結合条件としても表示される。
【０１１３】
このように、上位の分類で行ったテーブル間の結合演算で用いた結合条件を利用することにより、より効率的に結合演算を行うための条件入力が簡単となる。
【０１１４】
上位から継承した結合条件を利用する際の手順を説明する。まず、図１１のステップＳ１におて、図１３に示すような画面上で内部データのテーブル（第１のテーブル）を指定した後（例えば、テーブル「ＴＢ０１」を指定する）、ステップＳ２では、図３３に示すような画面上で、外部データのテーブル（第２のテーブル）を指定する（例えば、テーブル「ｔａｂｌｅ０１」を指定する）。ステップＳ３では、結合条件を設定する。図１７のステップＳ１４０〜ステップＳ１４１の処理動作が、図３４に示す処理動作に対応する。
【０１１５】
図３３に示す画面上のボタン３０をユーザが選択すると（図３４のステップＳ１５１）、第２の指定部８は、結合履歴記憶部４に記憶されている結合履歴から、上記第１のテーブルが属するクラスあるいは上位クラスに登録されているテーブルと、上記第２のテーブルが属するクラスあるいは上位クラスに登録されているテーブルとを結合する際に用いた結合条件（ここでは、例えば、「結合条件００３：在庫チェックテンプレート」）を読み出し、これを図３３に示すように表示する（図３４のステップＳ１５２）。
【０１１６】
（まとめ）
以上説明したように、上記第１〜第４の実施形態によれば、階層型データベースに登録されているコンテンツデータのテーブルと他のテーブルとの結合演算の演算処理数を削減するとともに、結合演算条件の入力が容易に行える。
【０１１７】
本発明の実施の形態に記載した本発明の手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フレキシブルディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、半導体メモリなどの記録媒体に格納して頒布することもできる。
【０１１８】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【０１１９】
【発明の効果】
以上説明したように、本発明によれば、階層型データベースに記憶されているコンテンツデータのテーブルと他のテーブルとの結合演算の演算処理数を制御し、簡単に結合演算条件の入力が行えるＧＵＩを提供することができる。
【図面の簡単な説明】
【図１】  本発明の実施形態にかかるシステム全体の構成例を示した図。
【図２】  内部データ記憶部１に構成されている階層型データベースの階層構造を概略的に示した図。
【図３】  階層型データベースに登録されているコンテンツデータの具体例を示した図。
【図４】  第１の外部ＤＢに格納されている階層構造の一部を概略的に示した図。
【図５】  図４に示した階層型データベースに登録されているコンテンツデータの具体例を示した図。
【図６】  第２の外部ＤＢに登録されているテーブルの一例を示した図。
【図７】  サーバ装置の処理動作の概略を説明するための図。
【図８】  コンテンツデータのテーブルの表示例を示した図。
【図９】  コンテンツデータのテーブルの表示例を示した図。
【図１０】  外部ＤＢ接続情報記憶部に記憶されている情報の一例を示した図。
【図１１】  サーバ装置の処理動作の概略を説明するためのフローチャート。
【図１２】  内部データを指定するための処理動作を説明するためのフローチャート。
【図１３】  内部データを指定するための画面の一例を示した図。
【図１４】  指定された内部テータのもつ複数の属性から所望の属性を選択するための画面の一例を示した図。
【図１５】  指定された内部データのテーブルの一表示例を示した図。
【図１６】  外部データを指定するための処理動作を説明するためのフローチャート。
【図１７】  結合条件を設定するための処理動作を説明するためのフローチャート。
【図１８】  外部データを指定するための画面の一例を示した図。
【図１９】  内部データを指定するための画面の一例を示した図。
【図２０】  外部データを指定するための画面の他の例を示した図。
【図２１】  外部データベースに関する情報を入力するための入力画面の一例を示した図。
【図２２】  結合条件入力画面の一例を示した図。
【図２３】  結合条件入力画面の一例を示した図。
【図２４】  結合タイプの設定画面の一例を示した図。
【図２５】  結合履歴の一例を示した図。
【図２６】  本発明の第２の実施形態にかかるサーバ装置の処理動作を説明するためのフローチャート。
【図２７】  結合演算対象のテーブルの（マウスのコンテンツデータのテーブル）の一例を示した図。
【図２８】  結合演算対象のテーブルの（ノートＰＣのコンテンツデータのテーブル）の一例を示した図。
【図２９】  図２の「ＰＣ本体」ノードに登録されているテーブル「ＴＢ１０」の一例を示した図。
【図３０】  図２の「デスクトップＰＣ」ノードに登録されているテーブル「ＴＢ１１」の一例を示した図。
【図３１】  図４の「ＰＣ本体在庫」ノードに登録されているテーブル「ｔａｂｌｅ００」の一例を示した図。
【図３２】  図４の「デスクトップＰＣ在庫」ノードに登録されているテーブル「ｔａｂｌｅ０２」の一例を示した図。
【図３３】  外部データと結合条件の選択画面の一表示例を示した図。
【図３４】  上位から継承した結合条件を利用する際の処理手順を説明するためのフローチャート。
【符号の説明】
１…内部データ記憶部、２…外部データ記憶部、３…外部ＤＢ接続情報記憶部、４…結合履歴記憶部、５…結合データ記憶部、６…第１の指定部、７…呈示部、８…第２の指定部、９…外部データ取得部、１０…結合条件入力部、１１…結合演算部、１２…結合データ出力部、１３…検索部、１４…外部データ処理部、５１…第１の外部データベース、５２…第２の外部データベース、ＴＥ…ユーザ端末。
【図１】
0003660667.tif 000002
【図２】
0003660667.tif 000003
【図３】
0003660667.tif 000004
【図４】
0003660667.tif 000005
【図５】
0003660667.tif 000006
【図６】
0003660667.tif 000007
【図７】
0003660667.tif 000008
【図８】
0003660667.tif 000009
【図９】
0003660667.tif 000010
【図１０】
0003660667.tif 000011
【図１１】
0003660667.tif 000012
【図１２】
0003660667.tif 000013
【図１３】
0003660667.tif 000014
【図１４】
0003660667.tif 000015
【図１５】
0003660667.tif 000016
【図１６】
0003660667.tif 000017
【図１７】
0003660667.tif 000018
【図１８】
0003660667.tif 000019
【図１９】
0003660667.tif 000020
【図２０】
0003660667.tif 000021
【図２１】
0003660667.tif 000022
【図２２】
0003660667.tif 000023
【図２３】
0003660667.tif 000024
【図２４】
0003660667.tif 000025
【図２５】
0003660667.tif 000026
【図２６】
0003660667.tif 000027
【図２７】
0003660667.tif 000028
【図２８】
0003660667.tif 000029
【図２９】
0003660667.tif 000030
【図３０】
0003660667.tif 000031
【図３１】
0003660667.tif 000032
【図３２】
0003660667.tif 000033
【図３３】
0003660667.tif 000034
【図３４】
0003660667.tif 000035