JP3660667B2 - データ処理装置、データ処理方法およびプログラム - Google Patents
データ処理装置、データ処理方法およびプログラム Download PDFInfo
- Publication number
- JP3660667B2 JP3660667B2 JP2003203063A JP2003203063A JP3660667B2 JP 3660667 B2 JP3660667 B2 JP 3660667B2 JP 2003203063 A JP2003203063 A JP 2003203063A JP 2003203063 A JP2003203063 A JP 2003203063A JP 3660667 B2 JP3660667 B2 JP 3660667B2
- Authority
- JP
- Japan
- Prior art keywords
- content data
- item
- attribute
- data
- items
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
- G06F16/2445—Data retrieval commands; View definitions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24558—Binary matching operations
- G06F16/2456—Join operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/289—Object oriented databases
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は、階層型データベースに関する。
【0002】
【従来の技術】
オブジェクト指向データベース(OODB)やオブジェクト・リレーショナル型データベース(ORDB)を代表とする下位が上位分類の属性を継承する階層構造を持つデータベースにおいては、継承に従って下位の分類では属性が累増する構造を持つ。この上位の属性を下位に継承することを通常「インヘリタンス」と呼ばれている(例えば、非特許文献1参照)。
【0003】
オブジェクト指向データベースの文献においては、階層中の分類は「クラス」と呼ばれることが多い。一方、オブジェクト・リレーショナル型データベース(ORDB)においては、継承を許したテーブルがこれに相当し、上下関係をもつテーブル間において、上位のテーブルから下位のテーブルへ属性、すなわち上位テーブルを構成するコラムのヘッダー情報が下位テーブルへ継承される。ここでは、その両者を含めて「階層型データベース」と称す。各階層の分類に属する同じ属性種を持つデータを「インスタンス」あるいは「コンテンツデータ」と呼び、その集合をデータの「ポピュレーション」と呼ぶ。
【0004】
インターネット上で、製品情報を電子的に提供する電子カタログシステムを実装するための国際規格としてISO13584(Parts Library)がある。これも階層型データベースの1つである。ISO13584では電子カタログをスキーマとコンテンツで構成し、これらを統一したデータ構造を与えることで、製品情報の共有・再利用を目指している。
【0005】
ISO13584で定義しているスキーマでは、製品分類は「製品クラス」を単一木構造で階層的に表現されている。各「製品クラス」はそれぞれ「属性項目」を持つようになっており、ある「製品クラス」の「属性項目」は下位の「製品クラス」に継承される。また、「製品クラス」および「属性項目」は一意に特定できるようそれぞれ「BSUコード」とよばれるユニークなIDをつけるようになっている。一方、コンテンツの部分はこのスキーマに定義された属性項目にそれぞれの製品固有の属性値を埋め込んだテーブルとして表現される。
【0006】
ISO13584が電子カタログとしてのフレームワークを提供している一方で、実際のスキーマについての国際標準化も進められており、IEC61360では電気・電子分野でのスキーマの上位階層部分、つまり「製品クラス」と「属性項目」についての一般的な部分の標準化を推進している。これにより、各社の製品カタログ作成者は、IEC61360からの下位展開として独自の詳細な「製品クラス」と「属性項目」を決め、各自のコンテンツを作成することができる。このように作成されたコンテンツを電子カタログの利用者は「製品クラス」の分類階層を辿り、属性値を参照して自分に必要な製品を絞り込んでいき、所望の製品を検索することが可能となる。近年、これらの流れをうけてISO13584に準拠したシステムがいくつか開発されようになってきている。
【0007】
リレーショナルデータベースやORDBでは表間の演算の1つに結合演算(JOIN)を用意しているが、階層型データベースにおいても、この演算は可能である。一般に、結合演算(JOIN)は単純でも、行数×行数のループが発生する非常に時間のかかる演算であるため、Web型のデータベースシステム等でユーザに結合演算(JOIN)を提供するには、演算数が制御できず、演算処理数が膨大な、システムに負荷がかかる結合演算(JOIN)が発生する恐れがあった。
【0008】
【非特許文献1】
Object-Oriented Concepts, Databases, and Applications, Edited by Won Kim, 1989, ACM Press
【0009】
【発明が解決しようとしている課題】
このように従来は、複数の分類項目を階層的に関連付けた階層構造をもつ階層型データベースでは、当該階層構造を構成する分類項目に登録されたコンテンツデータのテーブルと、同じあるいは他のデータベースに記憶されているテーブルとを結合する際、演算処理数を制御していないために、システムに負荷がかかるような結合演算(JOIN)が発生するという問題点があった。
【0010】
そこで、本発明は、上記問題点に鑑み、階層型データベースに記憶されているコンテンツデータのテーブルと他のテーブルとの結合演算の演算処理数を制御し、また結合演算の条件入力の補助を行うデータ処理装置および方法を提供することを目的とする。
【0011】
【課題を解決するための手段】
本発明は、(a)複数の分類項目を階層的に関連付けた階層構造をもち、各分類項目は当該分類項目の上位階層の分類項目の属性を含む属性をもち、各分類項目には、それぞれが当該分類項目のもつ属性のそれぞれに対応する値で構成される複数のコンテンツデータが登録されている第1のデータベースから、前記複数の分類項目のうちの選択された第1の分類項目に登録されている複数のコンテンツデータを取得し、(b)前記第1のステップで取得した前記複数のコンテンツデータを、予め定められた一定数以内のコンテンツデータからなる複数のグループに分けて、当該複数のグループのうちの選択された1つのグループに含まれるコンテンツデータの第1のテーブルを表示し、(c)それぞれが複数の項目のそれぞれに対応する値で構成される複数のレコードデータの第のテーブルを記憶する記憶手段から、前記第2のテーブルを取得し、(d)前記第1の分類項目がもつ複数の属性のうちの1つである第1の属性と、前記複数の項目のうちの1つである第1の項目とを指定し、(e)前記第1のテーブル中のコンテンツデータと前記第2のテーブル中の前記複数のレコードデータとのうち、前記第1の属性に対応する値と前記第1の項目に対応する値とが一致するコンテンツデータとレコードデータとを結合して、それぞれが前記第1の分類項目の属性と前記複数の項目のそれぞれに対応する値で構成される複数の結合データを表す第3のテーブルを生成することを特徴とする。本発明によれば、結合演算操作の対象となるコンテンツデータの数を予め絞り込むことにより、結合演算の処理時間の短縮が図れる。
【0012】
また、前記第1の分類項目がもつ複数の属性のなかから、前記複数の項目のうちのいずれかと同じ名称あるいは識別子をもつ属性を求めて、当該同じ名称あるいは識別子をもつ属性と項目の一覧を表示し、前記一覧から前記第1の属性と前記第1の項目とを(結合条件として)指定することにより、結合演算時に必要な結合条件を容易に指定することができる。
【0013】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照して説明する。
【0014】
(第1の実施形態)
図1は、本実施形態に係るシステム全体の構成例を示したもので、例えば製品のスペックなどのデータを内部データ記憶部1に記憶するサーバ装置50と、当該サーバ装置50と所定のネットワークで接続される複数の(ここでは、2つの)データベース(第1の外部データベース(第1の外部DB)51、第2の外部データベース(第2の外部DB)52)とユーザ端末TEから構成されている。
【0015】
第1及び第2の外部DB51、52には、それぞれ、データ更新が頻繁に行われる各製品についての在庫情報や、売価情報が記憶されている。在庫や売価などは、製品スペックとは異なり頻繁に更新されるなどの理由により、内部データ記憶部1内のデータ(内部データ)とは別個に管理されている。第1の外部DB51の識別子を「ex_database01」、第2の外部DB52の識別子を「ex_database02」とする。
【0016】
第1の外部DB51、第2の外部DB52に記憶されているデータ(外部データ)は、サーバ装置50の外部データ取得部9により取得される。そして、外部データ処理部14は、外部データの辞書データにクラスを付与し(外部データが内部データと同様階層構造を有する場合には、当該階層構造を構成する各項目に、それぞれに対応するクラスを付与し、外部データがテーブル形式のものであるときには当該テーブルにクラスを付与する)、外部データ中の各項目(あるいは属性)にBSUのような一意な属性識別子を付与するとともに、各項目の値(あるいは属性値)のデータ型を判定し、その結果をサーバ装置50の外部データ記憶部2に記憶する。
【0017】
内部データ記憶部1と外部データ記憶部2は、階層型データベースを構成するものである。
【0018】
階層型データベースは、複数の分類項目を階層的に関連付けた階層構造をもち、各分類項目は当該分類項目の上位階層の分類項目が持つ属性を含む属性をもち、各分類項目には当該分類項目の属性の集合に含まれる属性をもつコンテンツデータが登録されている。
【0019】
上記階層構造を構成する分類項目と分類項目間の親子関係と、各分類項目の属性などの各階層構造に関する情報、すなわち、スキーマデータや、各分類項目の属性に関する情報が辞書データである。
【0020】
内部データ記憶部1は、上記辞書データを記憶する辞書データ記憶部1aと、上記コンテンツデータを記憶するコンテンツデータ記憶部1bとから構成される。
【0021】
コンテンツデータ記憶部1bには、ある分類項目の属性の集合に含まれる属性をもつコンテンツデータが、辞書データ記憶部1aに記憶されている当該分類項目に対応付けて記憶されている。コンテンツデータ記憶部1bに記憶されている複数の属性のそれぞれに対応する値で構成されている1つのコンテンツデータをレコードデータとも呼ぶ。
【0022】
図2は、内部データ記憶部1に構成されている階層型データベースの階層構造を概略的に示したものである。図2に示すように、階層型データベースは、「root」ノード100をルートノードとし、このルートノード100に、その子ノードとして「電子部品」という分類項目のノード101などが関連付けられている。「電子部品」ノード101には、その子ノードとして「PC本体」,周辺機器という分類項目のノード102,103が関連付けられ、さらに、「PC本体」ノード102に、その子ノードとして「ノートPC」、「デスクトップPC」という分類項目のノード105,106が関連付けられ、「周辺機器」ノード103に、「メモリ」、「抵抗器」、「マウス」という分類項目のノード107〜109が関連付けられた階層構造を有している。
【0023】
すなわち、「電子部品」は、「PC本体」、「周辺機器」という2つの分類項目に細分化され、「PC本体」は「ノートPC」、「デスクトップPC」という2つの分類項目に細分化され、「周辺機器」は「メモリ」、「抵抗器」、「マウス」という3つの分類項目に細分化されていることを表している。
【0024】
この階層的に関連付けられた各分類項目(これらをクラスとも呼ぶ)は、それぞれ固有の属性(点線で囲まれた部分)が定められている。各分類項目は、階層構造における当該分類項目の上位階層の分類項目の属性を継承する。例えば、ノード105の「ノートPC」のもつ属性は、ノード105自身の固有の属性の他、ノード101の「電子部品」とノード102の「PC本体」それぞれの固有の属性を継承する。すなわち、「ノートPC」は、ノード101の「電子部品」に定義されている属性(「品名」、「メーカ名」、「製品コード」、「標準価格」「インターフェース」)と、ノード102の「PC本体」に定められた属性(「CPU」、「標準メモリ容量」、「HDD容量」)と、ノード105の「ノートPC」に定められた属性(「ポインティングデバイス」、「バッテリタイプ」)を有する。
【0025】
このようなデータモデルは、部品ライブラリの交換フォーマットの国際標準であるISO13584/Parts Library(PLIB)で用いられているものと基本的に同じである。なおPLIBでは、各分類、属性を識別するコード体系として、世の中で一意なコードであることを保証したBSUコード(属性識別子)を名称とは別に用いる。しかしここでは説明の簡単のために分類名称、属性名称に日本語の名称を用いることにしたが、この制限が本発明をPLIBへ適用することを妨げるものではない。
【0026】
図2に示した各分類項目には、当該分類項目がもつ属性(当該分類項目に固有の属性と、当該分類項目の上位階層の分類項目から承継した属性)のそれぞれに対応する値で構成されたコンテンツデータが登録されている。
【0027】
図3は、図2に示した階層型データベースに登録されているコンテンツデータの具体例を示したものである。図3には、ノード105の分類項目「ノートPC」に登録されたコンテンツデータのテーブル「TB01」を示している。
【0028】
分類項目「ノートPC」に登録されている図3に示すようなレコードデータは、それぞれ、ノード101の「電子部品」に定められた属性(「品名」、「メーカ名」、「製品コード」、「標準価格」、「インターフェース」)と、ノード102の「PC本体」に定められた属性(「CPU」、「標準メモリ容量」、「HDD容量」)と、ノード105の「ノートPC」に定められた属性(「バッテリタイプ」、「ポインティングデバイス」)のそれぞれに対応する値で構成されている。
【0029】
第1の外部DB51は、上記のような階層型データベースであり、主に、各製品の在庫数が格納されている。図4は、第1の外部DB51に構成されている階層型データベースの階層構造の一部を概略的に示したものである。図4に示すように、この階層型データベースは、「root」ノードをルートノードとし、このルートノードに、その子ノードとして「T社在庫」や「S社在庫」という分類項目のノードなどが関連付けられている。「T社在庫」ノードには、その子ノードとして「PC本体在庫」などの分類項目のノードが関連付けられ、さらに、「PC本体在庫」ノードに、その子ノードとして、「ノートPC在庫」、「デスクトップPC在庫」という分類項目のノードが関連付けられた階層構造を有している。
【0030】
図4に示した各分類項目には、当該分類項目がもつ属性(当該分類項目に固有の属性と、当該分類項目の上位階層の分類項目から承継した属性)のそれぞれに対応する値で構成されたコンテンツデータが登録されている。
【0031】
図5は、図4に示した階層型データベースに登録されているコンテンツデータの具体例を示したものである。図5には、「ノートPC在庫」(CLS103)という分類項目に登録されたコンテンツデータのテーブル「table01」を示している。
【0032】
分類項目「ノートPC在庫」(CLS103)に登録されている図5に示すようなレコードデータは、それぞれ、分類項目「ROOT」に定められた属性(「製品コード」、「在庫数」、「入荷予定台数」)のそれぞれに対応する値で構成されている。
【0033】
第2の外部DB52は、主に各製品の売価を記憶するためのリレーショナルデータベース(RDB)である。図6は、第2の外部DB52に登録されているテーブルの一例を示したものである。図6に示すテーブル(table101)には、それぞれが「品名」「製品コード」「売価」といった各項目についての値で構成されている複数のレコードデータが登録されている。
【0034】
ここで、本実施形態に係るシステムの機能について、図7を参照して簡単に説明する。内部データ記憶部1から読み出され、処理対象としてユーザにより選択されたコンテンツデータが、例えば図7(a)に示す製品スペック表であるとする。
【0035】
ユーザは、図7(a)に示した製品についての在庫状況を知りたい場合に、第1の外部DB51に記憶されている、例えば図7(c)に示すようなコンテンツデータ、すなわち在庫表を指定したとする。すると、本システムは、図7(a)に示した製品スペック表と図7(c)に示した在庫表を結合(join)してからユーザへ提供する。ユーザは、この結合演算に用いる結合条件として、製品スペック表上の項目と在庫表の項目のうち、同じ項目とみなすものを指定する。すなわち、ここでは、図7(a)に示す製品スペック表上の製品型番と図7(b)に示す在庫表上の製品型番とが同じ項目であるとする結合条件を与える(この場合の結合条件を、製品スペック表.製品型番=在庫表.製品型番と表す)。この結合条件を用いて製品スペック表と在庫表とを結合した結果を図7(d)に示す。製品スペック表上のレコードデータと在庫表上のレコードデータのうち、「製品型番」の項目に対応する値が双方とも同じであるレコードデータ間を結合する。すなわち、どちらの表においても出現する「K12345」と「A22222」の行を結合することにより、図7(d)に示すようなテーブルが生成される。
【0036】
また、ユーザは、図7(a)に示した製品についての売価を知りたい場合に、第2の外部DB52に記憶されている、例えば図7(b)に示すようなテーブル、すなわち売価表を指定したとする。すると、本システムは、図7(a)に示した製品スペック表と図7(b)に示した売価表を結合(join)してからユーザへ提供する。ユーザは、この結合演算に用いる結合条件として、製品スペック表上の項目と売価表の項目のうち、同じ項目とみなすものを指定する。すなわち、ここでは、製品スペック表上の製品型番と売価表上の製品型番とが同じ項目であるとする結合条件を与える(この場合の結合条件を、製品スペック表.製品型番=売価表.製品型番と表す)。この結合条件を用いて製品スペック表と売価表とを結合した結果を図7(e)に示す。製品スペック表と売価の「製品型番」の項目の値として、どちらの表においても出現する「K12345」と「DDEF002」の行(レコードデータ)同士を結合することにより、図7(e)に示すようなテーブルが生成される。
【0037】
本システムの内部データ記憶部1の各分類項目に登録されるコンテンツデータは、例えば電子部品等では、数千、数万のオーダーを想定している。すなわち、ユーザがユーザ端末TEから、図2に示した構造を有する階層型データベース中の「ノートPC」という分類項目を指定した場合、この分類項目に登録されているテーブルTB01のすべてのコンテンツデータをまとめて、ユーザ端末TEへ配信すると、データ量が膨大であるため、送信に時間がかかりすぎる。また、これら全てのコンテンツデータのテーブルと、第1あるいは第2の外部DBに記憶されているテーブルとの間で上記のような結合演算を行うには、演算数の制御が重要である。そこで、本システムでは、ユーザに指定された分類項目に登録されていえるコンテンツデータを、予め定められた数以内のコンテンツデータのグループ単位でユーザに提示する。そして、このユーザに提示したグループ単位あるいはさらにユーザがこのグループ単位から絞り込んだコンテンツデータの単位で、結合演算の要求があったときに結合演算の処理を行う。すなわち、結合演算を行う前に予め結合演算対象のデータ数を絞り込む(データ数を必要最小限に抑える)ようになっている。
【0038】
ユーザの側の立場から考慮した場合でも、ある分類項目に登録されているコンテンツデータの全てについて、在庫数や売価などが必要であるという要求は少なく、ユーザが所望するコンテンツデータについてのみ在庫数や売価がわかれば、充分であるといえる。
【0039】
階層型データベース上の分類項目に登録されているテーブルTB01は、リレーショナルデータベースと異なり、表示順が一意に保証されている。そこで、例えば、図2に示した構造を有する階層型データベース中の「ノートPC」という分類に300個を超える数のコンテンツデータが登録されている場合、それを100個ずつに分割する。そして、まず最初の100個のコンテンツデータからなるテーブルを、ユーザ端末TEに送信する。ユーザ端末TEにおけるコンテンツデータのテーブルの表示例を図8に示す。図8では、サーバ装置50から送信された最初の100個のコンテンツデータが表示されている。
【0040】
図8でボタン201を選択することにより、サーバ装置50からは、次の100個のコンテンツデータのテーブルがユーザ端末TEに送信されて、ユーザ端末TEに表示される。
【0041】
なお、ユーザは、内部データ記憶部1に記憶されているコンテンツデータを要求する際には、上記のように、単に分類項目(クラス)を(検索条件として)指定するだけでなく、属性の値や所望のキーワードなどを検索条件として指定することで、当該指定したクラスに登録されているコンテンツデータのうち、さらに上記検索条件を満たすようなコンテンツデータを得ることができる。このように、絞り込みをかけた結果においても、ユーザに提示する際には、予め定められた数(例えば、上記のように100個)以内のコンテンツデータのグループ単位で提示される。
【0042】
このように、ある分類項目に登録されているコンテンツデータのうち、ユーザに提示したグループ内のコンテンツデータを表示するテーブルを結合演算部11での結合演算の処理対象とする。また、ユーザに提示されたグループ内のコンテンツデータのうち、さらに、図9に示すように、ユーザによりコンテンツデータが選択されたときには、この選択されたコンテンツデータのみを結合演算の処理対象とする。このように結合演算を行う際に、予め結合演算の対象となるコンテンツデータの数を限定することは、コンテンツデータを限定せずに結合演算するのに比べて、演算処理が少なくて済むため非常に重要である。
【0043】
図1のサーバ装置50は、ユーザ端末TEからの要求に応じて、製品スペックを内部データ記憶部1から読み出してユーザ端末TEに提供する。
【0044】
サーバ装置50は、この内部データ記憶部1の他に、外部データ記憶部2、外部DB接続情報記憶部3、結合履歴記憶部4、結合データ記憶部5を有し、さらに、第1の指定部6、呈示部7、第2の指定部8、外部データ取得部9、検索条件入力部10、結合演算部11、結合データ出力部12,検索部13を有する。以下、図11に示すフローチャートを参照して、図1のサーバ装置50の各構成部について説明する。
【0045】
まず、ステップS1において、第1の指定部6から内部データ記憶部1に記憶された内部データを指定する。第1の指定部6は、内部データ記憶部1に記憶されたデータのうち、所望のクラスのコンテンツデータを指定したり、内部データ記憶部1から所望のコンテンツデータのテーブルを検索するための検索条件などを入力するためのものである。検索条件としては、所望の分類項目や属性の値、キーワードなどである。
【0046】
検索部13は、第1の指定部6から入力された検索条件などを基に、内部データ記憶部1からコンテンツデータを検索する。例えば、上記検索条件にマッチしたクラスを検索して、当該クラスに登録されているコンテンツデータ(ここでは、テーブル形式で登録されているとする)を読み出して呈示部7へ渡す。
【0047】
呈示部7は、検索部13で検索されたコンテンツデータを、例えば、予め定められた数(例えば、上記のように100個)以内のコンテンツデータのグループ単位にユーザに呈示する。呈示部7で現在ユーザに提示しているグループに含まれるコンテンツデータからなるテーブルが結合演算部11での結合演算の処理対象となる。
【0048】
次に、ステップS2において、第2の指定部8から外部データを指定する。第2の指定部8は、外部データベースとしての例えば、第1、第2の外部DB51、52に記憶されているデータ(ここでは、テーブル形式で記憶されているものとする)を指定するためのもので、ユーザは、呈示部7により呈示されたコンテンツデータに関連する外部データを指定する。
【0049】
外部DB接続情報記憶部3には、外部データ取得部9が外部データベース、例えば第1、第2の外部DB51、52に接続するために必要なURLなどの接続情報が記憶されている。外部DB接続情報記憶部3には、例えば、図10に示すように、第1、第2の外部DB51,52のそれぞれについて、そこに記憶されている情報の種別と、外部DBの識別子と接続情報(例えば、IP、ホスト名、ポート番号、また当該接続先データベースに存在する結合演算を行うテーブル名など)がテーブル形式で記憶されている。
【0050】
外部データ取得部9は、この外部DB接続情報記憶部3に記憶された図10に示したようなテーブルを参照して、外部データベースにネットワークを介して接続し、外部データの辞書データを取得する。外部データ取得部9で取得された外部データの辞書データは、外部データ記憶部2に記憶される。なお、第2の指定部8で指定された外部データの辞書データが、既に外部データ記憶部2に記憶されているときには、外部DBのスキーマ変更などが発生した場合等、再取得が必要な場合を除き、外部データベースにアクセスすることはない。なお、外部データの辞書データとは、外部DBに存在するテーブル名および、そのテーブルを構成する属性項目名及びデータ型、キー情報を表す。外部DBが階層型データベースの場合には、階層関係、分類項目名、分類項目識別子、属性項目識別子、テーブル識別子なども含む。
【0051】
外部データ記憶部2は、外部データを記憶するための階層型データベースである。外部データを外部データ記憶部2に記憶する際には、外部データ処理部14は、外部データの辞書データにクラスを付与し、外部データ中の各項目(あるいは属性)にBSUのような一意な属性識別子を付与するとともに、各項目の値(あるいは属性値)のデータ型を判定する。
【0052】
第2の指定部8は、外部データ記憶部2から、指定された外部データを読み出すと、これを結合条件入力部10へ渡す。
【0053】
次に、ステップS3において、呈示部7で呈示された内部データのテーブル(ここでは、第1のテーブルと呼ぶ)と、第2の指定部8で指定した外部データのテーブル(ここでは、第2のテーブルと呼ぶ)を結合するための結合条件を設定する。
【0054】
結合条件入力部10は、上記2つのテーブルを結合するための結合条件を入力するために、結合条件入力画面をユーザ端末TEやサーバ装置50のディスプレイ装置などに表示するものである。このため結合条件入力部10は、第2のテーブル中の各項目(あるいは各属性)や、第1のテーブル中の各属性を表示するとともに、第2のテーブル中の各項目名(あるいは各属性名)と、第1のテーブル中の各属性名とを照合し、両者が一致する場合には、両者を対応付けてユーザ端末TEやサーバ装置50のディスプレイ装置に表示する。また、結合条件入力部10により入力された結合条件により結合演算を行う内部データのテーブルと、外部データのテーブルと、両者を結合する際に用いた結合条件を含む履歴情報(結合履歴)を結合履歴記憶部4に記憶する。ステップS4では、結合実行の指示が入力されると(例えば、図18の「結合実行」ボタンB106がユーザにより選択されると)、呈示部7で現在呈示されている、結合演算の処理対象である一定数のコンテンツデータからなる第1のテーブルと、第2の指定部8で指定した外部データのテーブル、すなわち、第2のテーブルとを、結合条件入力部10で入力された結合条件を用いて結合する。
【0055】
結合演算部11は、結合条件入力部10で入力された結合条件を基に、第1のテーブルと第2のテーブルとの間で結合演算を行う。この結合演算は、リレーショナルデータベースにおいてよく用いられる結合演算(JOIN)と同様である。
【0056】
次に、図12に示すフローチャートを参照して、図11のステップS1の処理動作についてより詳細に説明する。
【0057】
第1の指定部6は、例えば、図13に示すように、階層型データベース1に記憶されている階層構造を表すツリー(ユーザ端末TEやサーバ装置50のディスプレイ装置に)を表示する。例えば、ツリーから分類項目(クラス)「ノートPC」を選択すると、当該分類項目に登録されているコンテンツデータのテーブルの一覧1301が表示される。このテーブルの一覧1301から、所望のテーブル(例えば、TB01)をユーザが選択し(例えば、チェックボックスにチェックを入力し)、更にユーザが「コンテンツ表示」ボタン「B11」を選択すると(ステップS101)、検索部13は、内部データ記憶部1から、当該選択したテーブルに含まれている属性のうち、選択可能な属性を取出す。提示部7は、例えば、図14に示すような当該選択可能な属性のリストを表示する。図14に示したリストからユーザは、所望の属性を選択する(ステップS102)。この例では図14に示すように、テーブルTB01に登録されているコンテンツデータのもつ属性のうちチェックボックスにチェックの入った属性がユーザにより選択された属性である。次に、このリストの表示画面上に設けられている「OK」ボタンB14をユーザが選択すると、検索部13は、内部データ記憶部1から、テーブルTB01のステップS102で選択された属性に対応する部分のみ(図15参照)を読み出し、呈示部7に渡す。呈示部7は、図15に示すテーブル中のコンテンツデータを予め定められた所定数(たとえば、ここでは100個)以内のコンテンツデータからなるグループに分け(ステップS103)、先頭のグループに含まれるコンテンツデータを表すテーブルを図8に示したように表示する(ステップS104)。この呈示されたコンテンツデータのテーブル(第1のテーブル)を、結合演算の処理対象とする。また、必要があれば、この第1のテーブル上のコンテンツデータのうち、さらに、図9に示すように、ユーザにより選択されたコンテンツデータ(行)のみを結合演算の処理対象として選択する(ステップS105)。
【0058】
次に、図16に示すフローチャートを参照して、図11のステップS2の処理動作について更に詳細に説明する。
【0059】
図9に示すような第1のテーブルのコンテンツデータを表示する画面に設けられた「結合演算の実行」ボタンB1をユーザが選択することにより、第1の指定部6は、当該システム内の内部データ記憶部1に記憶されている内部データの辞書データを読み出すとともに、第2の指定部8は、外部データ記憶部2に記憶されている外部データを読み出し、図18に示すような階層化された分類項目およびコンテンツデータを上記画面に表示する。図18のラジオボタンB107は、分類項目を識別子(BSU)で表示するか、名称で表示するかを選択するためのものである。また、ボタンB108のような、分類項目やコンテンツデータ名称(テーブル名称)、結合条件名称などを検索するための画面を呼び出し、ユーザのテーブル選択、検索条件選択を助けるための図18に示すボタンB108を設けてもよい。さらに、ボタンB101により、ツリー上に内部データの表示に加えて、外部データの表示/非表示を切り替えることができてもよい。
【0060】
図19および図20は、結合演算相手のデータを内部データおよび外部データの2つのツリーに分離して表示する例である。例えば、図19でタブB109がユーザにより選択されると、呈示部7は、外部データの画面(図20)に切り替える。このようにして、画面を分けることにより、これから結合演算を行う相手テーブルが、内部データか外部データかをより明確にユーザに提示することができる。
【0061】
例えば、図18に示すような画面から外部データを表示する際には、外部データ取得部9は、外部DB接続情報記憶部3に記録されている接続情報に対応する外部データ(辞書データを含む)が既に外部データ記憶部2に記憶されているか検索する。外部データ記憶部2に当該外部データが記憶されており(ステップS111〜ステップS112)、且つ外部データを外部DBのスキーマ変更等の理由により、外部DBから再取得する必要がある場合には(ステップS113)、外部DBに接続して外部データを更新する。
【0062】
また、外部データ記憶部2に当該外部データが記憶されており(ステップS112)、且つ外部DBを再取得する必要がない場合には(ステップS113)、外部データ記憶部に保存されている外部データを利用する。
【0063】
一方、外部データ記憶部2に、当該外部データが記憶されていないときには(ステップS112)、外部DB接続情報記憶部3に記憶されている接続情報を参照し、当該接続情報に記載されている外部データベースが存在するか否かを調べる。この調べた結果、存在するときには(ステップS114)、当該外部データベースの接続情報を用いて当該外部データベースにアクセスして、外部データを取得する(ステップS115)。
【0064】
外部データベースから取得した外部データは、外部データ記憶部2に格納するが、この際、当該外部データは、階層構造をもたない場合(ステップS116)、内部データ記憶部1に記憶されている階層構造を模した階層構造に従って記憶される(ステップS117〜ステップS119)。
【0065】
例えば、第1の外部DB51には、図4に示した階層構造(スキーマデータ)と、当該階層構造を構成する項目に登録されているテーブルが記憶されているが、これらが外部データ取得部9により取得されるとする。すると、外部データ処理部14は、外部データにクラス(クラス識別子)を付与し(ステップS117)、外部データ中の各項目(あるいは属性名)にシステム内で一意な属性識別子を付与するとともに(ステップS118)、各項目の値(あるいは属性値)のデータ型を判定して、当該項目あるいは属性に付与する(ステップS119)。
【0066】
この結果、ステップS120では、図20に示すように、内部データ記憶部1に記憶されている木構造と同様に外部データを記憶するようになっている。すなわち、第1の外部DB51や第2の外部DB52に格納されている外部データに対応するような階層構造を格納する。
【0067】
例えば、階層構造をもつ第1の外部DB51に記憶されている外部データを外部データ記憶部2に格納する場合には、ノード401に、当該外部データの階層構造を移植する形で格納する。この際、当該外部データの階層構造を構成する各クラスのもつ属性には、BSUのような一意な属性識別子を付与するとともに、当該外部データのスキーマデータで定義されている各属性値のデータ型を取得して記憶する。 また、第2の外部DB52に記憶されているテーブル形式の外部データを外部データ記憶部2に格納する場合には、ノード402に、当該テーブル登録する。この際、ノード402に対応するクラスに当該外部データのもつ項目を属性としてもたせ、各属性にBSUのような一意な属性識別子を付与するとともに、各属性値のデータ型を取得して記憶する。
【0068】
なお、ステップS123で、ユーザが指定した種別のデータを記憶する外部データベースに関する情報が外部DB接続情報記憶部3に記憶されておらず、新たな外部データベースを追加するときには、直接外部データベースを指定するようにしてもよい(ステップ125)。例えば、図18に示すような「外部DB情報の追加/編集」ボタンB105を押すと、図21に示すような外部データベースに関する情報を入力するための入力画面が表示され、この画面上で、所望の外部データベースの識別子や、IPやホスト名などの接続情報、テーブル名称やテーブルタイプなどのテーブル情報などを入力すると、外部DB接続情報記憶部3に記憶される(ステップS125)。この後、外部データ取得部9は、当該情報を用いて、当該所望の外部DBへアクセスし、外部データを取得する、前述同様にして、取得した外部データを外部データ記憶部2へ記憶する(ステップS114〜ステップS120)。
【0069】
第2の指定部8は、外部データ記憶部2から外部データを読み出し、例えば、図18に示すような画面を表示する(ステップS122)。図18に示した画面には、当該システム内で取り扱うすべての辞書ツリー(階層構造に模した外部データも含む)のルートノード300「universal root」を設け、その子ノードとして、内部データの全ての辞書ツリーの親ノードであるノード301「internal database」を設け、その子ノードとして、内部データから取得した階層木(辞書ツリー)を表示する。第1の外部DB51および第2の外部DB52から取得した外部データに対応する辞書ツリーは、ノード300の子ノード302「external database」の子ノードとして、それぞれ、ノード303「ex_database01」、ノード304「ex_database02」として表示されている。当該部分木を構成する分類項目のいずれかに登録されているコンテンツデータのテーブルの識別子(ここでは、例えば、table01、table101など)を選択することで、所望のテーブルを選択する(ステップS124)。このようにして選択されたテーブルが第2のテーブルである。
【0070】
次に、図17に示すフローチャートを参照して、図11のステップS3の処理動作について更に詳細に説明する。例えば、図18のボタンB102が押され新規結合条件の作成が要求された場合(ステップS131)、結合条件入力部10は、第1のテーブル中の各属性名と、第2のテーブル中の各項目名(属性名)とを照合して、第1のテーブル中の属性と同じ名称あるいは識別子の項目(属性)を第2のテーブル中の項目(属性)から探す(ステップS132)。そして、第1のテーブル中の各属性と、第2のテーブル中の各項目(各属性)を表示するとともに、名称あるいは識別子が同じである属性と項目(属性)はそれらの対応が明らかになるように例えば、図22に示すような画面を表示する(ステップS133)。
【0071】
図22では、内部データのテーブルがTB01であり、外部データのテーブルが、第2の外部DB51に記憶されているテーブルtable01である場合を示している。この場合、テーブルtable01中の項目は、「製品コード」、「在庫数」、「入荷予定日」といった項目があるが、このうち、「製品コード」は、第1のテーブルであるテーブルTB01にも存在する。そこで、図22では、第2のテーブル中の「製品コード」を、第1のテーブル中の「製品コード」とを同じ行で表示している。これらは属性の識別子(BSU)が同じであることにより、同じ属性とみなしている。
【0072】
これにより、ユーザは面倒な結合条件を自分で設定することなく、用意されている候補の中から選択し設定することができる。階層型データベースでは、上位クラスの属性を下位クラスで継承するという特徴をもっているため、上位クラスで登録されている結合条件は、通常、下位クラスにも当てはまる。ツリー上に表示することにより、結合条件として登録されているクラスそのものだけではなく、その下位に位置するクラスに対しても、同じ結合条件を用いて結合する相手表として容易に選択することが可能となる。
【0073】
通常のリレーショナルデータベースにおける表の間で、属性名称が一致、尚且つデータ型が一致していても、属性の一致の完全な保証は行われない。しかしながら、本システムにおける階層型データベースにおいては、属性が一意な識別子(BSU)によって管理されていること、また上位階層で定義した識別子をもった属性(プロパティ)を下位階層で継承しているため、その属性が定義されているクラスより下位のクラスにおいては、一致した属性を持つことが保証されている。これを利用し、図22に示す画面では、結合を行うための属性に、表の間で一致している属性をデフォルトでユーザに提示し、ユーザが結合条件をより容易に記述できるような入力補助を行うことが可能である。
【0074】
図22に示した画面上に表示された、第1のテーブルと第2のテーブルとの間で一致する項目名、属性名から、結合条件として用いるものを選択する(ステップS133)。例えば、図22では、第1のテーブル中の属性「製品コード」と第2のテーブル中の属性「製品コード」とが一致しているので、これを結合条件として指定する場合には、ユーザは「詳細条件」ボタンB23を押す。
【0075】
あるいは、図23のように、第1のテーブルの属性と、同一とすべき且つ、データ型等を考慮した場合でも同一とすることが可能な第2のテーブル中の項目(属性)の候補をプルダウンメニューで表示し、ユーザが個々に設定することも可能である(ステップS134)。必要であれば、結合のためにマッピングした各属性に対して、属性の結合条件の入力を行ってもよい(ステップS135)。通常は、属性の値が一致するものを結合する(等価結合)。
【0076】
さらに、必要であれば、結合タイプを選択することも可能である(ステップS136)。本実施形態では、第1のテーブルを起点として考えているため、通常の結合演算では、左外部結合を既定値として設定することを想定しているが、例えば、図22に示す画面上で「結合タイプの設定」ボタンB24を選択すると、図24に示すような画面が表示され、結合のタイプを選択することも可能である。この画面上で、第1のテーブルに第2のテーブルを結合する際に、どのように結合するかを設定する。例えば、図24に示す例では、第1のテーブルを右におき、第2のテーブルと外部結合を行うという内容の設定がなされている。
【0077】
さらに、第1のテーブル中の複数の属性と第2のテーブル中の複数の属性のうち、結合演算の対象となる属性を選択するようにしてもよい(ステップS137)。例えば、図22に示す画面上で、結合演算の対象とする属性に対応する「表示」項目欄にユーザがチェックを入力する。これにより、結合演算時のデータ数をさらに低減することができる。このようにして作成された結合条件は、図22の「確定」ボタンB21を選択すると、この画面上での設定内容を保存するか否かを問い合わせるメッセージが表示される(ステップS138)。ユーザが「保存する」を選択したときには、当該画面上での設定内容に、名前をつけ、結合履歴として結合履歴記憶部4に記憶される(ステップS139)。
【0078】
さらに、結合履歴から結合条件を選択し、再利用することもできる。すなわち、図18に表示されている第2のテーブルに対して保存されている結合条件(ここでは、例えば、結合条件01、結合条件02など)を選択された状態で、ボタンB103が押される(ステップS140)と、結合条件入力部10は、結合履歴記憶部4に記憶されている図25に示したような結合履歴から、選択された結合条件を読み出し、これを表示する(ステップS141)。
【0079】
結合履歴記憶部4は、過去に結合演算を行った際に用いた結合条件を結合履歴として記憶するためのもので、各結合条件を、当該結合履歴(結合条件)を識別するための識別情報と、当該結合条件の名称、当該結合条件を適用した第1のテーブルと第2のテーブル、当該結合条件を適用して結合演算を行った結果得られるデータのうち表示対象として指定された属性、あるいは、結合演算対象として指定された属性とその条件、結合タイプなどが記録されている。
【0080】
ユーザは、表示された結合条件をそのまま今回の結合条件として用いることもできる。表示された結合条件を変更するか、あるいは、再利用して新規の結合条件を作成する場合には(ステップS142)、前述と同様に、結合条件入力作業を行う(ステップS134〜S137)。このようにして編集した結合条件は、ユーザにより図22に示すボタンB21が押されると、同様に名前を付けて結合履歴記憶部4に記憶される。
【0081】
またこのようにして、結合履歴記憶部4に記憶された結合条件は、ユーザにより図18に示すボタンB104が押される(ステップS143)ことにより、削除することも可能である(ステップS144)。図11のステップS4において、第1のテーブルと第2のテーブルとの間の結合演算の実行指示が入力されると、結合演算部11は、両テーブルの結合演算を実行する。すなわち、結合条件入力部10で入力された結合条件や結合タイプを基に、呈示部17で現在呈示されている一定数(例えば、ここでは100個)のコンテンツデータのテーブル(第1のテーブル)と、外部データのテーブル(第2のテーブル)との間で結合演算を行う。
【0082】
結合演算は、図7で説明したように、両テーブルについて、検索条件として指定された属性や項目に対応する値をサーチし、第1のテーブル上のレコードデータと第2のテーブル上のレコードデータのうち、検索条件として指定された属性や項目に対応する値が双方とも同じであるレコードデータ間を結合して、たとえば、図7(d)や図7(e)に示すような結合テーブルを作成する。
【0083】
結合演算部11は、結合演算の結果得られた新たなテーブルを結合データ記憶部5に記憶するとともに、結合データ出力部12へ出力する。結合データ出力部12は、受け取った結合データを要求元のユーザ端末TEに送信したり、サーバ装置50のディスプレイ装置などに表示する。要求元のユーザ端末TEは、受信した結合データを、所定のディスプレイに表示する。
【0084】
以上説明したように、上記第1の実施形態によれば、内部データを記憶する階層型データベースから所望のクラスのコンテンツデータを予め定められた所定数以内のコンテンツデータからなる複数のグループに分け、このグループ単位で表示するとともに、このグループ単位で他のレコードデータのテーブルと結合するため、結合演算対象のデータ数が削減される。この結果、結合演算処理の負荷が少なくなる。グループ内のコンテンツデータのうち、ユーザにより選択されたコンテンツデータを結合演算処理の対象とすることで、処理対象のデータ数をより削減することができる。
【0085】
内部データを記憶する階層型データベースとは異なる分類体系、階層構造の外部データベースから取得する外部データも、内部データを記憶する階層型データベースの階層構造の一部として記憶することにより、図18に示すように、内部データのテーブルと結合させる他方のクラスあるいはテーブルをGUI上で表示されたツリー上で選択することができる。
【0086】
内部データのテーブル(上記第1のテーブル)上の属性項目のうち、外部データのテーブル(上記第2のテーブル)上の属性項目のいずれかと同じ名称あるいは識別子をもつ属性項目を求めて、例えば、図22に示すように、当該同じ名称あるいは識別子をもつ属性項目の一覧を表示することにより、第1のテーブルと第2のテーブルとの間で結合演算を行う際に用いる結合条件を容易に設定することができる。
【0087】
なお、図22に示すような、テーブルの属性項目の一覧の表示された結合条件設定画面をクラス・オペレーション・ページと呼ぶ。
【0088】
結合演算に用いた結合条件を結合履歴として記憶しておき、これを、これから行う結合演算で用いる結合条件を入力(設定)する際に用いることにより、結合条件を容易に設定することができる。
【0089】
なお、結合演算(JOIN)の対象となるクラスの演算の順番を指定し、この演算の順番を保存しておいて、GUI上からユーザが選択して現在表示しているクラスについて既に登録された結合条件を読み出して結合演算を行うようにしてもよい。
【0090】
また、結合演算(JOIN)の対象となるクラスの演算の順番を指定し、この演算の順番を保存しておいて、その演算対象となりうる全てのクラスついて、GUI上からユーザが選択して表示しているクラス、またはその上位クラスに関係する既に登録された結合条件を読み出し、これを結合演算に用いるようにしてもよい。結合演算(JOIN)において、結合テーブルの順番を指定することにより、演算処理時間の短縮に有効であることが知られている。従って、結合順番を記憶しておくことは、演算処理時間を短縮するために非常に重要である。
【0091】
さらに、結合演算(JOIN)の対象となる他のクラスとの間に、全く同一の名称あるいは識別子を持つ属性がない場合でも、属性値のデータ型が同一であるならば同一の属性であるとみなし、これらを対応付けて図22に示したようにユーザに呈示するようにしてもよい。
【0092】
(第2の実施形態)
上記第1の実施形態では、内部データのテーブル(第1のテーブル)を外部データのテーブル(第2のテーブル)とを結合する場合について説明したが、同様の手法が内部データの2つのテーブル間を結合する場合についても適用可能である。第1の実施形態と異なる部分についてのみ説明する。
【0093】
以下、図26に示すフローチャートを参照して説明する。
【0094】
まず、ステップS201では、図12のフローチャートに示したように、第1の指定部6において、内部データ記憶部1から、所望のコンテンツデータのテーブルを指定する。すなわち、ステップ201では、内部データ記憶部1に記憶されている階層構造を構成する分類項目(クラス)のうちの1つ(ここでは、第1の分類項目と呼ぶ)を指定し、当該分類項目に登録されているコンテンツデータのテーブルを選択する(ステップS101)。呈示部7は、当該テーブル中のコンテンツデータを予め定められた所定数(たとえば、ここでは100個)以内のコンテンツデータからなるグループに分け(ステップS102)、先頭のグループに含まれるコンテンツデータを表すテーブルを図8に示したように表示する(ステップS103)。この呈示されたコンテンツデータのテーブル(第1のテーブル)を、結合演算の処理対象とする。また、必要があれば、この第1のテーブル上のコンテンツデータのうち、さらに、図9に示すように、選択されたコンテンツデータ(行)のみを結合演算の処理対象として選択する(ステップS104)。ここまでがステップS201で行われる。 次に、上記ステップS201と同様にして、第1の指定部6で、内部データ記憶部1から、当該第1のテーブルに結合する第2のテーブルを指定する(ステップS202)。すなわち、ステップ202では、内部データ記憶部1に記憶されている階層構造を構成する分類項目(クラス)のうちの他の1つ(ここでは、第2の分類項目と呼ぶ)を指定し、当該分類項目に登録されているコンテンツデータのテーブルを選択する(ステップS101)。呈示部7は、当該テーブル中のコンテンツデータを予め定められた所定数(たとえば、ここでは100個)以内のコンテンツデータからなるグループに分け(ステップS102)、先頭のグループに含まれるコンテンツデータを表すテーブルを図8に示したように表示する(ステップS103)。この呈示されたコンテンツデータのテーブル(第2のテーブル)を、結合演算の処理対象とする。また、必要があれば、この第2のテーブル上のコンテンツデータのうち、さらに、図9に示すように、選択されたコンテンツデータ(行)のみを結合演算の処理対象として選択する(ステップS104)。ここまでがステップS202で行われる。
【0095】
次に、図17のフローチャートと同様にして、結合条件の設定を行う(ステップS203)。
【0096】
図26のステップS204において、第1のテーブルと第2のテーブルとの間の結合演算の実行指示が入力されると、結合演算部11は、両テーブルの結合演算を実行する。
【0097】
結合演算の結果得られた新たなテーブルは結合データ記憶部5に記憶するとともに、結合データ出力部12から要求元のユーザ端末TEやサーバ装置50のディスプレイ装置などに表示される(ステップS205)。
【0098】
(第3の実施形態)
なお、ここでは、上記第1の実施形態とは異なる部分についてのみ説明する。
【0099】
RDBテーブル間で結合演算(JOIN)を行う場合、2つのテーブル間で結合条件として指定する属性項目の値が、多対多で対応(たとえば一致)する場合、その対応する数が多いほど演算数が多くなる。したがって、演算数が少なくなるような結合演算を行うためには、できるだけ2つのテーブルで対応する値が少なくなるような属性項目を指定すればよい。
【0100】
テーブルのキー属性は、テーブルの中のレコードを一意に識別するためのものである。キー属性は、複数でも可能であり、複数の場合には、その組み合わせの値で一意にレコードを識別する。したがって、両テーブルのキー属性を、結合条件としてユーザに最初に提示して、結合条件としての選択を促すことにより、演算数を制御することが可能である。
【0101】
ここで、図27、図28を参照して説明する。
【0102】
図27は、マウスのコンテンツデータ例であり、図28はノートPCのコンテンツデータ例である。両者は、マウスの「インターフェース」とノートPCの「マウスインターフェース」を結合条件として結合することが可能である。結合条件を「マウス.インターフェース=ノートPC.マウスインターフェース」として結合演算を行った場合よりも、マウスのキー属性である「製品コード」を含んだ結合条件、「マウス.製品コード=ノートPC.推奨マウス製品コード」のほうが、処理時間が少なくて済む。
【0103】
すなわち、結合条件を「マウス.インターフェース=ノートPC.マウスインターフェース」として結合演算を行った場合には、例えば、図27のマウスのコンテンツデータのうち、製品コード「MR001」のコンテンツデータのインターフェースは「USB」であるので、図28のノートPCのコンテンツデータのうち、「USB」を属性「マウスイターフェース」の値としてもつ製品コード「Dyna100」「Dyna101」「Dyna102」「Dyna103」「Dyna104」の5つのコンテンツデータのそれぞれが、製品コード「MR001」のマウスのコンテンツデータと結合して、5つの結合されたコンテンツデータが生成される。図27のマウスのコンテンツデータのうち、製品コード「MR002」のコンテンツデータに対しても、同様にして、図28のノートPCのコンテンツデータのうち、製品コード「Dyna100」「Dyna101」「Dyna102」「Dyna103」「Dyna104」の5つのコンテンツデータのそれぞれが結合して、5つの結合されたコンテンツデータが生成される。図27のマウスのコンテンツデータのうち、製品コード「MR003」や「MIR002」のコンテンツデータに対しても、同様にして、それぞれ5つの結合されたコンテンツデータが生成される。
【0104】
これに対し、マウスのキー属性である「製品コード」と、ノードPCの属性「「推奨マウス製品コード」を用いた結合条件「マウス.製品コード=ノートPC.推奨マウス製品コード」で、結合演算を行った場合には、例えば、図27の製品コード「MR001」のマウスのコンテンツデータに対して、図28のノートPCのコンテンツデータのうち当該「MR001」を属性「推奨マウス製品コード」の値としてもつコンテンツデータは、製品コード「Dyna100」と「Dyna101」の2つのコンテンツデータであるので、これらを製品コード「MR001」のマウスのコンテンツデータにそれぞれを結合して、2つの結合されたコンテンツデータが生成される。また、図27の製品コード「MR002」のマウスのコンテンツデータに対して、図28のノートPCのコンテンツデータのうち当該「MR002」を属性「推奨マウス製品コード」の値としてもつコンテンツデータは、製品コード「Dyna102」と「Dyna103」の2つのコンテンツデータであるので、これらを製品コード「MR002」のマウスのコンテンツデータにそれぞれを結合して、2つの結合されたコンテンツデータが生成される。
【0105】
他のマウスのコンテンツデータに対しても同様で、1つのマウスのコンテンツデータに結合させるノートPCのコンテンツデータの数を小さくすることができる。このように、2つのテーブルを結合する際の結合条件として、各テーブル中で同じ値をもつコンテンツデータの数がより少ない(好ましくは、1つのみであるような)属性(例えば、各コンテンツデータのそれぞれを識別することができるような情報を値としてもつ、例えば「製品コード」のような属性(これをキー属性と呼ぶ))を用いることで、結合演算対象のデータ数を削減することができる。このように、結合条件入力部10は、外部データと内部データの2つのテーブルのそれぞれからキー属性を求めて、それらを図22に示すように、ユーザに提示する。図22では、第1のテーブル中の属性と第2のテーブル中の属性のうち、キー属性の属性に対しては、「キー」欄に「○」が表示されている。キー属性を結合条件として指定するように、ユーザに対して推奨することにより、結合演算数が少なくなるような結合条件の指定を行わせることができる。推奨の方法は、図22のように、結合条件入力画面を表示する際に、キー属性どうしをあらかじめ結合条件としてシステムが与える他、キー属性が結合条件として選ばれていない場合には、結合条件決定の際(例えば、図22では「OK」ボタンB21が押された際)、警告メッセージを出し、ユーザに結合条件として指定するように促すなども考えられる。
【0106】
また、結合条件としては、等結合(等価結合)のほか、非等価結合も入力可能である。例えば、第1のテーブル中のキー属性である「製品コード」と、当該属性に対応する第2のテーブル中の属性であって、当該第2のテーブル中のキー属性とからなる結合条件を指定する場合には、第1のテーブルの属性と第2のテーブルの属性を結合条件として指定したことによって、図22に示すアクティブになった「詳細条件」ボタンB23をユーザが押すことによって指定可能とすればよい。
【0107】
(第4の実施形態)
なお、ここでは、上記第1の実施形態とは異なる部分についてのみ説明する。
【0108】
階層構造を持つデータベースにおいては、上位の製品分類で定義された属性項目を下位の分類が継承する特性をもっている。したがって、ある製品分類で定義した結合条件(結合履歴)をその下位の分類において適応することが可能である。
【0109】
例えば、図2の「PC本体」ノード102に図29に示すようなテーブル「TB10」が登録され、「ノートPC」ノード105に図3に示したようなテーブル「TB01」が登録され、「デスクトップPC」ノード106に図30に示すようなテーブル「TB11」が登録されているとする。図29に示すテーブル「TB10」はスキーマのみが定義されたテーブルであるが、コンテンツデータが登録されていても構わない。
【0110】
また、第1の外部DB51に構成されている階層型データベースの階層構造の一部を概略的に示した図4において、「PC本体在庫」ノードに図31に示すようなテーブル「table00」が登録され、「ノートPC在庫」ノードに図5に示したようなテーブル「table01」が登録され、「デスクトップPC在庫」ノードに図32に示すようなテーブル「table02」が登録されているとする。図31の「table00」は、スキーマのみが定義されたテーブルであるが、コンテンツデータが登録されていても構わない。
【0111】
図2の「PC本体」ノード102のテーブル「TB10」と、図4の「PC本体在庫」ノードのテーブル「table00」を結合演算して、PCの在庫を求めるための、結合条件(履歴)を登録しておく。結合条件は、図25の「結合条件003:在庫チェックテンプレート」とする。すなわち、結合条件は、「TB10」の属性「PRP003:製品コード」に対応する値と、「table00」の属性「PRP003:製品コード」に対応する値が同じであるものを結合(JOIN)し、(「表示プロパティ」の欄で指定されている)属性「PRP003:製品コード」と「PRP101:在庫数」について、その値を表示するというものである。
【0112】
例えば、図33に示すような外部データと結合条件の選択画面において、「継承結合条件の表示」ボタンB30をユーザが選択すると、承継結合条件「結合条件003:在庫チェックテンプレート」が表示される。この結合条件は、テーブル「TB10」とテーブル「table00」を結合する際に用いる結合条件であるから、結合条件003:在庫チェックテンプレート」で用いる属性は、テーブル「TB10」とテーブル「table00」のそれぞれの分類項目の下位分類に継承されている。すなわち、テーブル「table00」の登録されている図4の「PC本体在庫」ノードの子ノードである「ノートPC在庫」ノードに登録されているテーブル「table01」と、テーブル「TB10」の登録されている図2の「PC本体」ノード102の子ノードである「ノートPC」ノード105に登録されているテーブル「TB01」とを結合する際に用いる結合条件としても利用できるため、図33では、テーブル「table01」の結合条件としても表示される。
【0113】
このように、上位の分類で行ったテーブル間の結合演算で用いた結合条件を利用することにより、より効率的に結合演算を行うための条件入力が簡単となる。
【0114】
上位から継承した結合条件を利用する際の手順を説明する。まず、図11のステップS1におて、図13に示すような画面上で内部データのテーブル(第1のテーブル)を指定した後(例えば、テーブル「TB01」を指定する)、ステップS2では、図33に示すような画面上で、外部データのテーブル(第2のテーブル)を指定する(例えば、テーブル「table01」を指定する)。ステップS3では、結合条件を設定する。図17のステップS140〜ステップS141の処理動作が、図34に示す処理動作に対応する。
【0115】
図33に示す画面上のボタン30をユーザが選択すると(図34のステップS151)、第2の指定部8は、結合履歴記憶部4に記憶されている結合履歴から、上記第1のテーブルが属するクラスあるいは上位クラスに登録されているテーブルと、上記第2のテーブルが属するクラスあるいは上位クラスに登録されているテーブルとを結合する際に用いた結合条件(ここでは、例えば、「結合条件003:在庫チェックテンプレート」)を読み出し、これを図33に示すように表示する(図34のステップS152)。
【0116】
(まとめ)
以上説明したように、上記第1〜第4の実施形態によれば、階層型データベースに登録されているコンテンツデータのテーブルと他のテーブルとの結合演算の演算処理数を削減するとともに、結合演算条件の入力が容易に行える。
【0117】
本発明の実施の形態に記載した本発明の手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、半導体メモリなどの記録媒体に格納して頒布することもできる。
【0118】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【0119】
【発明の効果】
以上説明したように、本発明によれば、階層型データベースに記憶されているコンテンツデータのテーブルと他のテーブルとの結合演算の演算処理数を制御し、簡単に結合演算条件の入力が行えるGUIを提供することができる。
【図面の簡単な説明】
【図1】 本発明の実施形態にかかるシステム全体の構成例を示した図。
【図2】 内部データ記憶部1に構成されている階層型データベースの階層構造を概略的に示した図。
【図3】 階層型データベースに登録されているコンテンツデータの具体例を示した図。
【図4】 第1の外部DBに格納されている階層構造の一部を概略的に示した図。
【図5】 図4に示した階層型データベースに登録されているコンテンツデータの具体例を示した図。
【図6】 第2の外部DBに登録されているテーブルの一例を示した図。
【図7】 サーバ装置の処理動作の概略を説明するための図。
【図8】 コンテンツデータのテーブルの表示例を示した図。
【図9】 コンテンツデータのテーブルの表示例を示した図。
【図10】 外部DB接続情報記憶部に記憶されている情報の一例を示した図。
【図11】 サーバ装置の処理動作の概略を説明するためのフローチャート。
【図12】 内部データを指定するための処理動作を説明するためのフローチャート。
【図13】 内部データを指定するための画面の一例を示した図。
【図14】 指定された内部テータのもつ複数の属性から所望の属性を選択するための画面の一例を示した図。
【図15】 指定された内部データのテーブルの一表示例を示した図。
【図16】 外部データを指定するための処理動作を説明するためのフローチャート。
【図17】 結合条件を設定するための処理動作を説明するためのフローチャート。
【図18】 外部データを指定するための画面の一例を示した図。
【図19】 内部データを指定するための画面の一例を示した図。
【図20】 外部データを指定するための画面の他の例を示した図。
【図21】 外部データベースに関する情報を入力するための入力画面の一例を示した図。
【図22】 結合条件入力画面の一例を示した図。
【図23】 結合条件入力画面の一例を示した図。
【図24】 結合タイプの設定画面の一例を示した図。
【図25】 結合履歴の一例を示した図。
【図26】 本発明の第2の実施形態にかかるサーバ装置の処理動作を説明するためのフローチャート。
【図27】 結合演算対象のテーブルの(マウスのコンテンツデータのテーブル)の一例を示した図。
【図28】 結合演算対象のテーブルの(ノートPCのコンテンツデータのテーブル)の一例を示した図。
【図29】 図2の「PC本体」ノードに登録されているテーブル「TB10」の一例を示した図。
【図30】 図2の「デスクトップPC」ノードに登録されているテーブル「TB11」の一例を示した図。
【図31】 図4の「PC本体在庫」ノードに登録されているテーブル「table00」の一例を示した図。
【図32】 図4の「デスクトップPC在庫」ノードに登録されているテーブル「table02」の一例を示した図。
【図33】 外部データと結合条件の選択画面の一表示例を示した図。
【図34】 上位から継承した結合条件を利用する際の処理手順を説明するためのフローチャート。
【符号の説明】
1…内部データ記憶部、2…外部データ記憶部、3…外部DB接続情報記憶部、4…結合履歴記憶部、5…結合データ記憶部、6…第1の指定部、7…呈示部、8…第2の指定部、9…外部データ取得部、10…結合条件入力部、11…結合演算部、12…結合データ出力部、13…検索部、14…外部データ処理部、51…第1の外部データベース、52…第2の外部データベース、TE…ユーザ端末。
Claims (15)
- 複数の分類項目を階層的に関連付けた階層構造をもち、各分類項目は当該分類項目の上位階層の分類項目の属性を含む属性をもち、各分類項目には、それぞれが当該分類項目のもつ属性のそれぞれに対応する値で構成される複数のコンテンツデータが登録されている第1のデータベースと、
前記複数の分類項目のうちの選択された第1の分類項目に登録されている複数のコンテンツデータを、予め定められた一定数以内のコンテンツデータからなる複数のグループに分けて、当該複数のグループのうちの選択された1つのグループに含まれるコンテンツデータの第1のテーブルを表示する表示手段と、
それぞれが複数の項目のそれぞれに対応する値で構成される複数のレコードデータの第2のテーブルを記憶する記憶手段と、
前記第1の分類項目がもつ複数の属性のうちの1つである第1の属性と、前記複数の項目のうちの1つである第1の項目とを結合条件として指定する指定手段と、
前記第1のテーブル中のコンテンツデータと前記第2のテーブル中の前記複数のレコードデータのうち、前記第1の属性に対応する値と前記第1の項目に対応する値とが一致するコンテンツデータとレコードデータとを結合して、それぞれが前記第1の分類項目の属性と前記複数の項目のそれぞれに対応する値で構成される複数の結合データの第3のテーブルを生成する生成手段と、
を具備したことを特徴とするデータ処理装置。 - 前記指定手段は、
前記第1の分類項目がもつ複数の属性のなかから、前記複数の項目のうちのいずれかと同じ名称あるいは識別子をもつ属性を求めて、当該同じ名称あるいは識別子をもつ属性と項目の一覧を表示する手段と、
前記一覧から前記第1の属性と前記第1の項目とを指定する手段と、
を具備したことを特徴とする請求項1記載のデータ処理装置。 - 前記第1の分類項目がもつ複数の属性のうち、所望の複数の属性を選択する第1の選択手段と、
前記表示手段は、前記第1の分類項目がもつ複数の属性のうち、前記第1の選択手段で選択された前記所望の複数の属性のそれぞれに対応する値のみを前記第1のテーブル中に表示し、
前記生成手段は、前記第1のテーブル中に表示された前記所望の複数の属性からなるコンテンツデータと前記第2のテーブル中の前記複数のレコードデータとから、前記第3のテーブルを生成することを特徴とする請求項1記載のデータ処理装置。 - 前記第1のテーブル中の前記コンテンツデータのうち、所望の複数のコンテンツデータを選択する第2の選択手段と、
前記生成手段は、前記第2の選択手段で選択された前記所望の複数のコンテンツデータと前記第2のテーブル中の前記複数のレコードデータとから、前記第3のテーブルを生成することを特徴とする請求項1記載のデータ処理装置。 - 前記第1のテーブル中の前記複数の属性のうち所望の複数の属性を選択する第3の選択手段と、
前記第2のテーブル中の前記複数の項目のうち所望の複数の項目を選択する第4の選択手段と、
前記生成手段は、前記複数の属性のうち前記第3の選択手段で選択された前記所望の複数の属性からなるコンテンツデータと、前記複数の項目のうち前記第4の選択手段で選択された前記所望の複数の項目からなるレコードデータとから、前記第3のテーブルを生成することを特徴とする請求項1記載のデータ処理装置。 - 前記記憶手段は、前記第1の階層構造に、前記複数の分類項目とは異なる他の分類項目を追加して、当該他の分類項目に前記複数のレコードデータを記憶し、前記表示手段で、第1の階層構造と共に階層構造の形で表示することを特徴とする請求項1記載のデータ処理装置。
- 前記第1の階層構造とは異なる第2の階層構造をもつ第2のデータベースから、ネットワークを介して前記第2のテーブルを取得する取得手段を具備し、
前記記憶手段は、前記取得手段で取得した前記第2のテーブルを記憶することを特徴とする請求項1記載のデータ処理装置。 - 前記生成手段で前記第3のテーブルを生成する際に用いた前記結合条件を記憶する記憶手段をさらに具備し、
前記指定手段は、
前記記憶手段で記憶された前記結合条件を表示する手段と、表示された結合条件のなから所望の結合条件を選択する手段とを具備したことを特徴とする請求項1記載のデータ処理装置。 - 前記生成手段で前記第3のテーブルを生成する際に用いた前記結合条件を記憶する記憶手段をさらに具備し、
前記指定手段は、前記記憶手段で記憶された前記結合条件のうち、前記第1の分類項目と同じかあるいは上位にある階層の分類項目がもつ属性を含む結合条件を表示する手段と、表示された結合条件のなかから所望の結合条件を選択する手段とを具備したことを特徴とする請求項1記載のデータ処理装置。 - 前記指定手段は、
前記第1のテーブル中の前記複数の属性のうち、当該第1のテーブル中の前記複数のコンテンツデータのそれぞれを識別することのできる情報を値としてもつ属性を前記第1の属性として指定するための手段と、
前記第2のテーブル中の前記複数の項目のうち、当該第2のテーブル中の前記複数のレコードデータのそれぞれを識別することのできる情報を値としてもつ属性を前記第1の項目として指定するための手段と
を具備したことを特徴とする請求項1記載のデータ処理装置。 - 複数の分類項目を階層的に関連付けた階層構造をもち、各分類項目は当該分類項目の上位階層の分類項目の属性を含む属性をもち、各分類項目には、それぞれが当該分類項目のもつ属性のそれぞれに対応する値で構成される複数のコンテンツデータが登録されているデータベースと、
前記複数の分類項目のうちの選択された第1の分類項目に登録されている複数のコンテンツデータを、予め定められた一定数以内のコンテンツデータからなる複数のグループに分けて、当該複数のグループのうちの選択された1つのグループに含まれるコンテンツデータの第1のテーブルを表示する手段と、
前記複数の分類項目のうちの選択された第2の分類項目に登録されている複数のコンテンツデータを、予め定められた一定数以内のコンテンツデータからなる複数のグループに分けて、当該複数のグループのうちの選択された第2のグループに含まれるコンテンツデータの第2のテーブルを表示する手段と、
前記第1の分類項目がもつ複数の属性と、前記第2の分類項目がもつ複数の属性のうち、共通する属性を求める手段と、
前記共通する属性のうちの少なくとも1つを指定する指定手段と、
前記指定手段で指定された属性に対応する値が一致する、前記第1のテーブル中のコンテンツデータと前記第2のテーブル中のコンテンツデータとを結合して、それぞれが前記第1の分類項目がもつ属性と前記第2の分類項目がもつ属性のそれぞれに対応する値で構成される複数の結合データを表す第3のテーブルを生成する手段と、
を具備したことを特徴とするデータ処理装置。 - 複数の分類項目を階層的に関連付けた階層構造をもち、各分類項目は当該分類項目の上位階層の分類項目の属性を含む属性をもち、各分類項目には、それぞれが当該分類項目のもつ属性のそれぞれに対応する値で構成される複数のコンテンツデータが登録されている第1のデータベースから、前記複数の分類項目のうちの選択された第1の分類項目に登録されている複数のコンテンツデータを取得する第1のステップと、
前記第1のステップで取得した前記複数のコンテンツデータを、予め定められた一定数以内のコンテンツデータからなる複数のグループに分けて、当該複数のグループのうちの選択された1つのグループに含まれるコンテンツデータの第1のテーブルを表示する第2のステップと、
それぞれが複数の項目のそれぞれに対応する値で構成される複数のレコードデータの第2のテーブルを記憶する記憶手段から、前記第2のテーブルを取得する第3のステップと、
前記第1の分類項目がもつ複数の属性のうちの1つである第1の属性と、前記複数の項目のうちの1つである第1の項目とを指定する第4のステップと、
前記第1のテーブル中のコンテンツデータと前記第2のテーブル中の前記複数のレコードデータとのうち、前記第1の属性に対応する値と前記第1の項目に対応する値とが一致するコンテンツデータとレコードデータとを結合して、それぞれが前記第1の分類項目の属性と前記複数の項目のそれぞれに対応する値で構成される複数の結合データを表す第3のテーブルを生成する第5のステップと、
を有することを特徴とするデータ処理方法。 - 複数の分類項目を階層的に関連付けた階層構造をもち、各分類項目は当該分類項目の上位階層の分類項目の属性を含む属性をもち、各分類項目には、それぞれが当該分類項目のもつ属性のそれぞれに対応する値で構成される複数のコンテンツデータが登録されているデータベースから、前記複数の分類項目のうちの選択された第1の分類項目に登録されている複数のコンテンツデータを取得する第1のステップと、
前記第1のステップで取得した前記複数のコンテンツデータを、予め定められた一定数以内のコンテンツデータからなる複数のグループに分けて、当該複数のグループのうちの選択された1つのグループに含まれるコンテンツデータの第1のテーブルを表示する第2のステップと、
前記データベースから、前記複数の分類項目のうちの選択された第2の分類項目に登録されている複数のコンテンツデータを取得する第3のステップと、
前記第3のステップで取得した前記複数のコンテンツデータを、予め定められた一定数以内のコンテンツデータからなる複数のグループに分けて、当該複数のグループのうちの選択された第2のグループに含まれるコンテンツデータの第2のテーブルを表示する第4のステップと、
前記第1の分類項目がもつ複数の属性と、前記第2の分類項目がもつ複数の属性のうち、共通する属性を求める第5のステップと、
前記共通する属性のうちの少なくとも1つを指定する第6のステップと、
前記第6のステップで指定された属性に対応する値が一致する、前記第1のテーブル中のコンテンツデータと前記第2のテーブル中のコンテンツデータとを結合して、それぞれが前記第1の分類項目がもつ属性と前記第2の分類項目がもつ属性のそれぞれに対応する値で構成される複数の結合データを表す第3のテーブルを生成する第7のステップと、
を有することを特徴とするデータ処理方法。 - コンピュータに、
複数の分類項目を階層的に関連付けた階層構造をもち、各分類項目は当該分類項目の上位階層の分類項目の属性を含む属性をもち、各分類項目には、それぞれが当該分類項目のもつ属性のそれぞれに対応する値で構成される複数のコンテンツデータが登録されている第1のデータベースから、前記複数の分類項目のうちの選択された第1の分類項目に登録されている複数のコンテンツデータを取得する第1のステップと、
前記第1のステップで取得した前記複数のコンテンツデータを、予め定められた一定数以内のコンテンツデータからなる複数のグループに分けて、当該複数のグループのうちの選択された1つのグループに含まれるコンテンツデータの第1のテーブルを表示する第2のステップと、
それぞれが複数の項目のそれぞれに対応する値で構成される複数のレコードデータの第2のテーブルを記憶する記憶手段から、前記第2のテーブルを取得する第3のステップと、
前記第1の分類項目がもつ複数の属性のうちの1つである第1の属性と、前記複数の項目のうちの1つである第1の項目とを指定する第4のステップと、
前記第1のテーブル中のコンテンツデータと前記第2のテーブル中の前記複数のレコードデータとのうち、前記第1の属性に対応する値と前記第1の項目に対応する値とが一致するコンテンツデータとレコードデータとを結合して、それぞれが前記第1の分類項目の属性と前記複数の項目のそれぞれに対応する値で構成される複数の結合データを表す第3のテーブルを生成する第5のステップと、
を実行させるプログラム。 - コンピュータに、
複数の分類項目を階層的に関連付けた階層構造をもち、各分類項目は当該分類項目の上位階層の分類項目の属性を含む属性をもち、各分類項目には、それぞれが当該分類項目のもつ属性のそれぞれに対応する値で構成される複数のコンテンツデータが登録されているデータベースから、前記複数の分類項目のうちの選択された第1の分類項目に登録されている複数のコンテンツデータを取得する第1のステップと、
前記第1のステップで取得した前記複数のコンテンツデータを、予め定められた一定数以内のコンテンツデータからなる複数のグループに分けて、当該複数のグループのうちの選択された1つのグループに含まれるコンテンツデータの第1のテーブルを表示する第2のステップと、
前記データベースから、前記複数の分類項目のうちの選択された第2の分類項目に登録されている複数のコンテンツデータを取得する第3のステップと、
前記第3のステップで取得した前記複数のコンテンツデータを、予め定められた一定数以内のコンテンツデータからなる複数のグループに分けて、当該複数のグループのうちの選択された第2のグループに含まれるコンテンツデータの第2のテーブルを表示する第4のステップと、
前記第1の分類項目がもつ複数の属性と、前記第2の分類項目がもつ複数の属性のうち、共通する属性を求める第5のステップと、
前記共通する属性のうちの少なくとも1つを指定する第6のステップと、
前記第6のステップで指定された属性に対応する値が一致する、前記第1のテーブル中のコンテンツデータと前記第2のテーブル中のコンテンツデータとを結合して、それぞれが前記第1の分類項目がもつ属性と前記第2の分類項目がもつ属性のそれぞれに対応する値で構成される複数の結合データを表す第3のテーブルを生成する第7のステップと、
を実行させるプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003203063A JP3660667B2 (ja) | 2003-07-29 | 2003-07-29 | データ処理装置、データ処理方法およびプログラム |
US10/900,388 US7269593B2 (en) | 2003-07-29 | 2004-07-28 | Data processing apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003203063A JP3660667B2 (ja) | 2003-07-29 | 2003-07-29 | データ処理装置、データ処理方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005049943A JP2005049943A (ja) | 2005-02-24 |
JP3660667B2 true JP3660667B2 (ja) | 2005-06-15 |
Family
ID=34100621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003203063A Expired - Fee Related JP3660667B2 (ja) | 2003-07-29 | 2003-07-29 | データ処理装置、データ処理方法およびプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7269593B2 (ja) |
JP (1) | JP3660667B2 (ja) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0119578D0 (en) * | 2001-08-10 | 2001-10-03 | Pharmacia & Upjohn Spa | Fluoro linkers |
JP4138462B2 (ja) * | 2002-11-22 | 2008-08-27 | 株式会社東芝 | 階層構造表示装置および階層構造表示方法 |
JP2005216203A (ja) * | 2004-02-02 | 2005-08-11 | Mantaro Yajima | 表フォーマットデータ処理方法並びに表フォーマットデータ処理装置 |
JP4153883B2 (ja) * | 2004-03-02 | 2008-09-24 | 株式会社東芝 | 階層型データベース装置および階層型データベース装置における製品選定方法およびプログラム |
JP4181080B2 (ja) * | 2004-03-31 | 2008-11-12 | 株式会社東芝 | 階層型データベース管理システム、階層型データベース管理方法及び階層型データベース管理プログラム |
JP4393404B2 (ja) * | 2005-03-04 | 2010-01-06 | 株式会社東芝 | データベース管理装置およびデータベース管理方法 |
JP2007087216A (ja) * | 2005-09-22 | 2007-04-05 | Toshiba Corp | 階層型辞書作成装置、プログラムおよび階層型辞書作成方法 |
US20070073740A1 (en) * | 2005-09-29 | 2007-03-29 | Kirshenbaum Evan R | Retrieving a value associated with a property based on a hierarchy of components |
US20070100895A1 (en) * | 2005-11-02 | 2007-05-03 | Naonori Sakata | Data maintenance apparatus, data maintenance method, and data maintenance system |
JP2007148913A (ja) | 2005-11-29 | 2007-06-14 | Toshiba Corp | データ作成支援システム、データ作成支援装置およびデータ作成支援プログラム |
US8046677B2 (en) * | 2006-01-30 | 2011-10-25 | International Business Machines Corporation | Displaying relationships between tabular data using spatial identifiers |
JP2007334464A (ja) * | 2006-06-13 | 2007-12-27 | Toshiba Corp | データ生成装置、データ格納装置、そのプログラムおよび方法 |
JP5028894B2 (ja) * | 2006-07-18 | 2012-09-19 | 富士通株式会社 | データベースを構成する複数のテーブルを結合する結合処理をコンピュータに行わせるためのコンピュータ実行可能なプログラム |
AT504298B1 (de) * | 2006-09-22 | 2008-09-15 | Siemens Ag Oesterreich | Verfahren zur zuordnung einer auswahl digitaler inhalte zu einem bestimmten benutzer |
US9098263B2 (en) * | 2007-04-30 | 2015-08-04 | Microsoft Technology Licensing, Llc | Database application assembly and preparation |
US7870164B2 (en) * | 2007-11-20 | 2011-01-11 | Microsoft Corporation | Database part creation, merge and reuse |
US20090248740A1 (en) * | 2007-11-20 | 2009-10-01 | Microsoft Corporation | Database form and report creation and reuse |
US9152656B2 (en) | 2007-11-20 | 2015-10-06 | Microsoft Technology Licensing, Llc | Database data type creation and reuse |
US7895174B2 (en) * | 2008-03-27 | 2011-02-22 | Microsoft Corporation | Database part table junctioning |
NO333026B1 (no) * | 2008-09-17 | 2013-02-18 | Cisco Systems Int Sarl | Styringssystem for et lokalt telepresencevideokonferansesystem og fremgangsmate for a etablere en videokonferansesamtale. |
US8386452B2 (en) | 2009-05-19 | 2013-02-26 | Ntt Docomo, Inc. | Data combination system and data combination method |
JP5199948B2 (ja) * | 2009-05-22 | 2013-05-15 | 日本電信電話株式会社 | データベース管理方法、データベース装置、およびプログラム |
EP2824576B1 (en) * | 2012-03-08 | 2018-11-21 | Murakumo Corporation | Method for managing database |
US20130262417A1 (en) * | 2012-04-02 | 2013-10-03 | Business Objects Software Ltd. | Graphical Representation and Automatic Generation of Iteration Rule |
US9299050B2 (en) * | 2012-09-04 | 2016-03-29 | Optymyze PTE Ltd. | System and method of representing business units in sales performance management using entity tables containing explicit entity and internal entity IDs |
WO2014188553A1 (ja) * | 2013-05-23 | 2014-11-27 | 株式会社日立製作所 | 結合問合わせ実行方法及び装置並びに記憶媒体 |
KR101784265B1 (ko) * | 2016-06-09 | 2017-10-12 | 주식회사 그리즐리 | 빅데이터의 비식별화 처리 방법 |
CN107729479A (zh) * | 2017-10-16 | 2018-02-23 | 山东浪潮通软信息科技有限公司 | 一种生成单据的编号的方法及装置 |
CN109783498B (zh) * | 2019-01-17 | 2020-06-02 | 北京三快在线科技有限公司 | 数据处理方法及装置、电子设备、存储介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3412168B2 (ja) * | 1992-09-18 | 2003-06-03 | 富士通株式会社 | ジョイン処理装置 |
US5701453A (en) * | 1993-07-01 | 1997-12-23 | Informix Software, Inc. | Logical schema to allow access to a relational database without using knowledge of the database structure |
US5764973A (en) * | 1994-02-08 | 1998-06-09 | Enterworks.Com, Inc. | System for generating structured query language statements and integrating legacy systems |
JPH10240753A (ja) * | 1997-02-26 | 1998-09-11 | Hitachi Ltd | データベース管理システムおよびそれに用いられる記憶媒体 |
JPH1196055A (ja) * | 1997-09-19 | 1999-04-09 | Hitachi Ltd | データベースの結合処理最適化方法及び装置 |
JPH11120067A (ja) * | 1997-10-17 | 1999-04-30 | Hitachi Ltd | データの部分情報を先行して管理するデータベース処理方法 |
JP3272281B2 (ja) * | 1997-10-20 | 2002-04-08 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データアイテム表示方法及び表示装置、データアイテムの表示を制御するプログラムを格納した記憶媒体 |
US6199063B1 (en) * | 1998-03-27 | 2001-03-06 | Red Brick Systems, Inc. | System and method for rewriting relational database queries |
JP2000112954A (ja) * | 1998-09-30 | 2000-04-21 | Toshiba Corp | 構成管理システム |
US6768986B2 (en) * | 2000-04-03 | 2004-07-27 | Business Objects, S.A. | Mapping of an RDBMS schema onto a multidimensional data model |
US20020062258A1 (en) * | 2000-05-18 | 2002-05-23 | Bailey Steven C. | Computer-implemented procurement of items using parametric searching |
US6931390B1 (en) * | 2001-02-27 | 2005-08-16 | Oracle International Corporation | Method and mechanism for database partitioning |
US6957225B1 (en) * | 2002-05-07 | 2005-10-18 | Oracle International Corporation | Automatic discovery and use of column correlations in tables |
-
2003
- 2003-07-29 JP JP2003203063A patent/JP3660667B2/ja not_active Expired - Fee Related
-
2004
- 2004-07-28 US US10/900,388 patent/US7269593B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7269593B2 (en) | 2007-09-11 |
US20050027724A1 (en) | 2005-02-03 |
JP2005049943A (ja) | 2005-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3660667B2 (ja) | データ処理装置、データ処理方法およびプログラム | |
US8019778B2 (en) | System, method, and apparatus for searching information across distributed databases | |
JP4965088B2 (ja) | データ抽象化モデルにおける関係管理 | |
US8326699B2 (en) | Pre-qualifying sellers during the matching phase of an electronic commerce transaction | |
JP4758150B2 (ja) | 外部メタデータの処理 | |
TWI285339B (en) | Mapping between part numbers that are based on different part numbering schemes | |
US8332359B2 (en) | Extended system for accessing electronic documents with revision history in non-compatible repositories | |
US9501474B2 (en) | Enhanced use of tags when storing relationship information of enterprise objects | |
US7693857B2 (en) | Clinical genomics merged repository and partial episode support with support abstract and semantic meaning preserving data sniffers | |
US6519588B1 (en) | System and method for representing related concepts | |
CN100580675C (zh) | 访问不同种类的配置管理数据库储存库的方法和系统 | |
JP2005302029A (ja) | パラメータ化照会を提示するための方法、システム及びコンピュータ可読媒体 | |
US8452808B2 (en) | Automatic generation of virtual database schemas | |
US7668888B2 (en) | Converting object structures for search engines | |
JP5873078B2 (ja) | ビジネスインテリジェンスサーバとともに用いられるデータに対する多言語サポートを提供するためのシステムおよび方法 | |
US20060173755A1 (en) | Catalog management apparatus, catalog generation method and catalog retrieval method | |
US20080313107A1 (en) | Data management apparatus and method | |
JP2007108877A (ja) | 情報管理システムおよび情報表示装置 | |
JP4393404B2 (ja) | データベース管理装置およびデータベース管理方法 | |
US20100191616A1 (en) | Software method and system to enable automatic, real-time extraction of item price and availability from a supplier catalog during a buyer's electronic procurement shopping process | |
JP2008152359A (ja) | システム基盤構成策定支援システム及び支援方法 | |
JP2017204815A (ja) | 運用管理装置及び運用管理方法、並びに運用管理システム | |
US8166066B2 (en) | System and method for brokering information between a plurality of commercially distinct clients | |
JP2007265250A (ja) | 識別子発行システム、プログラムおよび識別子発行方法 | |
US20050125421A1 (en) | Method and apparatus for database induction for creating frame based knowledge tree |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20050104 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20050118 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20050104 |
|
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: 20050315 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050317 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080325 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090325 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100325 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |