(57)【特許請求の範囲】
【請求項１】
複数の管理対象体のいずれかに属するデータが格納されているデータ格納手段に対する種々の検索条件を受け付ける受付手段と、
受け付けた検索条件に適合するデータを前記データ格納手段から索出するとともに、索出したデータが属する管理対象体を特定する検索手段と、
この検索手段によって特定された管理対象体を識別するための識別情報を、検索条件毎の検索結果を集合させた集合体の一部として保持する保持手段とを備え、
前記保持手段に保持されている集合体を、前記データ格納手段に代わる検索の対象とすることを特徴とする、データ管理システム。
【請求項２】
外部システムで作成されたデータであって前記管理対象体の識別情報を含むものを取り込み、取り込んだデータに含まれる識別情報を該当する前記集合体の一部に加える外部データ取込手段をさらに備える、
請求項１記載のデータ管理システム。
【請求項３】
前記外部データ取込手段は、前記外部システムで作成されたデータを管理対象体毎にリスト化して取り込み、前記識別情報をリスト単位で前記集合体に加えるように構成されている、
請求項２記載のデータ管理システム。
【請求項４】
複数の集合体間で論理演算を行って新たな集合体を生成し、生成した新たな集合体を前記保持手段に保持させる演算手段をさらに備える、
請求項１、２又は３記載のデータ管理システム。
【請求項５】
前記保持手段は、保持前の前記集合体を一時的に記憶させておくための一時記憶手段を備えており、前記演算手段は前記一時記憶手段に記憶されている複数の集合体間で論理演算を行うとともに前記新たな集合体を当該一時記憶手段に記憶させることを特徴とする、請求項４記載のデータ管理システム。
【請求項６】
前記一時記憶手段に記憶されている集合体を修正する修正手段をさらに備える、
請求項５記載のデータ管理システム。
【請求項７】
ＩＤによって識別可能な顧客に起因して生じる複数種類のデータが分散して格納されている複数のデータ格納手段に対する種々の検索条件を受け付ける受付手段と、
受け付けた検索条件に適合するデータをいずれかの前記データ格納手段から索出するとともに、索出したデータについての顧客のＩＤを特定する検索手段と、
この検索手段によって特定されたＩＤを、検索条件毎の検索結果を集合させた集合体の一部として保持する保持手段と、
外部システムで作成された顧客に関わるデータであって前記ＩＤを含むものを取り込み、取り込んだデータに含まれるＩＤを前記保持手段に保持されている前記集合体の一部に加える手段と、
前記保持手段に保持されている集合体を前記複数のデータ格納手段に代わる検索の対象とすることを特徴とする、データ管理システム。
【請求項８】
複数の集合体間で論理演算を行って新たな集合体を生成し、生成した新たな集合体を前記保持手段に保持させる演算手段をさらに備える、
請求項７記載のデータ管理システム。
【請求項９】
複数の管理対象体のいずれかに属するデータが格納されているデータ格納手段に接続されたコンピュータにおいて、
種々の検索条件を受け付ける処理、
受け付けた検索条件に適合するデータを前記データ格納手段から索出するとともに、索出したデータが属する管理対象体を特定する処理、
特定された管理対象体を識別するための識別情報を、検索条件毎の検索結果を集合させた集合体の一部として所定の保持手段に保持する処理を実行し、
前記保持手段に保持されている集合体を、前記データ格納手段に代わる検索の対象とすることを特徴とする、コンピュータによるデータ管理方法。
【請求項１０】
複数の管理対象体のいずれかに属するデータが格納されているデータ格納手段に接続されたコンピュータに、
種々の検索条件を受け付ける処理、
受け付けた検索条件に適合するデータを前記データ格納手段から索出するとともに、索出したデータが属する管理対象体を特定する処理、
特定された管理対象体を識別するための識別情報を、検索条件毎の検索結果を集合させた集合体の一部として所定の保持手段に保持する処理を実行させ、
前記保持手段に保持されている集合体を、前記データ格納手段に代わる検索の対象としてコンピュータにデータ検索をさせるためのコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ管理システムに係り、特に、複数のデータベース或いはデータウェアハウスに分散して格納されるデータの検索結果またはその外部で作成されている既存のデータを統合的に扱うことができるデータ管理手法に関する。
【０００２】
【発明の背景】
データ管理を行うシステムの代表的なものとして、対象となるデータの検索等を行うデータベース管理システム（ＤＢＭＳ）がある。このようなＤＢＭＳにおいて管理されるデータは、複数のデータベースその他のデータ格納手段に分散して格納されている場合が多い。このような複数のデータベース等にまたがったデータの検索、いわゆる複合検索を行う場合は、存在する複数のデータベース等を論理的に１つのデータベースとして扱えるように構成するか、或いは、分散しているデータを統合して検索できるように構成する必要がある。
しかし、複数のデータベースやデータウェアハウスを論理的に１つのものとして扱えるように構成するには、そのデータベース等の種類やバージョンによって、構成に制約が伴う。そのために、すべてのデータベース等の種類やバージョンを１つのものとして扱えるようにすることは、事実上は不可能である。
【０００３】
また、データベース等に格納されているデータを直接検索するのではなく、操作者が介在するデータ検索を行い、これにより得られた検索の結果をリスト化してデータ管理を行う場合がある。実社会では、このようなリストは多数存在しており、これらのリストを、他のデータベースからの検索条件によって絞り込んだり、既にあるリスト同士を比較して、両リストに共通するデータを抽出したり、他方のリストにのみ存在するデータを抽出したりする要求がある。
このような要求をＤＢＭＳ上で実現するためには、リストに含まれるデータを管理するための項目をＤＢＭＳ内に作成しておく必要がある。このような項目は、データ検索によって自動的に作成できることが望ましいが、検索条件によっては、複雑な検索式が必要になったり、適当な検索式が無かったりするために、実際上は、これらの自動化は困難である。
【０００４】
本発明の課題は、対象となるデータが存在するデータ格納手段の構成、種類又はその存在形態に拘束されずに、効率的な複合検索を行うことができる、改良されたデータ管理手法を提供することにある。
本発明の他の課題は、上記のデータ管理手法において、複合検索の結果と外部で作成されている既存のデータを統合的に扱うことができるようにすることにある。
【０００５】
【課題を解決するための手段】
上記課題を解決するため、本発明は、データ管理システム、コンピュータによるデータ管理方法及びコンピュータプログラムを提供する。
本発明のデータ管理システムは、複数の管理対象体のいずれかに属するデータが格納されているデータ格納手段に対する種々の検索条件を受け付ける受付手段と、受け付けた検索条件に適合するデータを前記データ格納手段から索出するとともに、索出したデータが属する管理対象体を特定する検索手段と、この検索手段によって特定された管理対象体を識別するための識別情報を、検索条件毎の検索結果を集合させた集合体の一部として保持する保持手段とを備え、前記保持手段に保持されている集合体を、前記データ格納手段に代わる検索の対象とすることを特徴とする、データ管理システムである。
集合体をデータ格納手段に代わる検索の対象とするために、同様の検索結果が必要な際には、データ格納手段に対する再検索を行わずに、保持手段から集合体を読み出すことで、迅速に所望の集合が入手可能となる。また、その際のシステム対する処理の負荷も、改めて検索を行う場合よりも少なくすむ。
識別情報は、管理対象体を特定するものである。顧客の商品購入に関するデータの管理を行うデータ管理システムの場合には、例えば、顧客や店舗、取引先、商品等が管理対象体となりうる。
【０００６】
このデータ管理システムは、外部システムで作成されたデータであって前記管理対象体の識別情報を含むものを取り込み、取り込んだデータに含まれる識別情報を該当する前記集合体の一部に加える外部データ取込手段をさらに備えるようにしてもよい。
このような外部データ取込手段は、例えば、前記外部システムで作成されたデータを管理対象体毎にリスト化して取り込み、前記識別情報をリスト単位で前記集合体に加えるように構成される。これにより、データ管理システムは、検索の結果と外部で作成されている既存のデータを統合的に扱うことができる。
また、このデータ管理システムは、複数の集合体間で論理演算を行って新たな集合体を生成し、生成した新たな集合体を前記保持手段に保持させる演算手段をさらに備えるようにしてもよい。これにより、集合体間の共通データの抽出等が可能となる。
前記保持手段は、例えば、保持前の前記集合体を一時的に記憶させておくための一時記憶手段を備えるようにしてもよく、この場合、前記演算手段は、前記一時記憶手段に記憶されている複数の集合体間で論理演算を行うとともに前記新たな集合体を当該一時記憶手段に記憶させる。
また、データ管理システムは、前記一時記憶手段に記憶されている集合体を修正する修正手段をさらに備えるようにしてもよい。これにより、例えば、集合体に含まれる識別情報を操作者の意図にあった形に修正することが可能となる。
【０００７】
本発明の他のデータ管理システムは、ＩＤによって識別可能な顧客に起因して生じる複数種類のデータが分散して格納されている複数のデータ格納手段に対する種々の検索条件を受け付ける受付手段と、受け付けた検索条件に適合するデータをいずれかの前記データ格納手段から索出するとともに、索出したデータについての顧客のＩＤを特定する検索手段と、この検索手段によって特定されたＩＤを、検索条件毎の検索結果を集合させた集合体の一部として保持する保持手段と、外部システムで作成された顧客に関わるデータであって前記ＩＤを含むものを取り込み、取り込んだデータに含まれるＩＤを前記保持手段に保持されている前記集合体の一部に加える手段と、前記保持手段に保持されている集合体を前記複数のデータ格納手段に代わる検索の対象とすることを特徴とする、データ管理システムである。
このデータ管理システムは、複数の集合体間で論理演算を行って新たな集合体を生成し、生成した新たな集合体を前記保持手段に保持させる演算手段をさらに備えるようにしてもよい。
【０００８】
本発明のデータ管理方法は、複数の管理対象体のいずれかに属するデータが格納されているデータ格納手段に接続されたコンピュータにおいて、種々の検索条件を受け付ける処理、受け付けた検索条件に適合するデータを前記データ格納手段から索出するとともに、索出したデータが属する管理対象体を特定する処理、特定された管理対象体を識別するための識別情報を、検索条件毎の検索結果を集合させた集合体の一部として所定の保持手段に保持する処理を実行し、前記保持手段に保持されている集合体を、前記データ格納手段に代わる検索の対象とすることを特徴とする、コンピュータによるデータ管理方法である。
【０００９】
本発明のコンピュータプログラムは、複数の管理対象体のいずれかに属するデータが格納されているデータ格納手段に接続されたコンピュータに、種々の検索条件を受け付ける処理、受け付けた検索条件に適合するデータを前記データ格納手段から索出するとともに、索出したデータが属する管理対象体を特定する処理、特定された管理対象体を識別するための識別情報を、検索条件毎の検索結果を集合させた集合体の一部として所定の保持手段に保持する処理を実行させ、前記保持手段に保持されている集合体を、前記データ格納手段に代わる検索の対象としてコンピュータにデータ検索をさせるためのコンピュータプログラムである。
【００１０】
【発明の実施の形態】
以下、本発明を、顧客の商品購入に関するデータの管理を行うデータ管理システムに適用した場合の実施の形態を説明する。
【００１１】
＜システム構成＞
図１は、本実施形態のデータ管理システムの構成図である。このデータ管理システム１は、データ格納手段１０及び集合体格納部１１に接続され、主制御部１２、検索指示／表示機構１３、検索部１４、集合管理部１５及びリスト入力部１７を備えた通信機能付のコンピュータシステムである。
【００１２】
データ格納手段１０は、分散して存在する複数のデータベース又はデータウェアにより構成される。各データベースの物理的なデザインやインタフェースは、互いに異なっていてもよいが、主制御部１２には、各データベースとの接続インタフェースを用意しておく必要がある。
データ格納手段１０には、顧客の属性を示す種々の属性データが、例えばテーブル形式で格納されている。本実施形態では、個々の顧客の個人情報を保存する顧客テーブル１０１と、顧客毎の商品の購入履歴を保存する購入履歴テーブル１０２とが、それぞれ、データベース又はデータウェアに格納されている。これらのテーブルは、一つのデータベース等に格納されていてもよく、また、異なるデータベース等に格納されていてもよい。
【００１３】
顧客テーブル１０１には図２に例示される個人情報、すなわち、顧客の名前（名称）、住所、性別、生年月日、電話番号が格納される。これらの個人情報は、顧客の識別情報であるＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）によって一意に特定できるようになっている。ＩＤは、顧客ごとにユニークになるように割り振られる。ＩＤとして数値を用いれば、４バイト（３２ビット）の大きさで、約４０億人分のＩＤを用意できるため、顧客を管理するには必要十分となる。
【００１４】
購入履歴テーブル１０２には、顧客が過去に購入した商品に関するデータ、すなわち、図３に示されるように、商品名、購入日、購入店名、販売額（購入額）が格納される。購入履歴テーブル１０２の項目は、どの顧客が商品を購入したかを識別するために、顧客テーブル１０１で使用されるＩＤと同じＩＤが用いられる。この購入履歴テーブル１０２には、顧客が購入したという一つの事象毎に一つのレコードが存在する。同一顧客が複数回の商品購入を行なっていれば、同一のＩＤに対して購入回数分のレコードが存在する。ＩＤが特定されれば、そのＩＤにより顧客テーブル１０１を参照することで、該当するレコードがどの顧客のものであるかを特定できる。
このように、顧客テーブル１０１及び商品購入履歴テーブル１０２は、データベースの構造が異なっていても、ＩＤが共通であることが必要条件となる。共通のＩＤを用いることで、別々のデータベースでも同じ顧客を特定することが可能となる。
【００１５】
集合体格納部１１は、検索の結果である顧客の属性データを、検索条件毎に、集合体として保存するものであり、保存内容をテーブル化した集合テーブル１１１を備えている。ここでは、検索条件に適合するデータが属する顧客のＩＤを集合体として保存する。「集合体」は、例えば男性顧客、Ａ店で購入した顧客、バッグ購入顧客、５０，０００円以上の商品を購入した顧客、・・・のようなものを想定する。
図４は、この集合テーブル１１１の内容例を示している。図４の例では、「男性顧客」について顧客ＩＤリスト（検索条件に該当する顧客に付されたＩＤのリスト、以下同じ）が「１（名前アアア）」、「２（名前イイイ）」となる２人の顧客のデータが保存されていることを示している。同様に、「Ａ店で購入した顧客」、「バッグ購入顧客」について、顧客ＩＤリストが「１（名前アアア）」、「２（名前イイイ）」、「３（名前ウウウ）」となる３人の顧客のデータが保存されていることを示している。「５０，０００円以上の商品購入顧客」については、顧客ＩＤリストが「２（名前イイイ）」、「３（名前ウウウ）」となる２人の顧客のデータが保存されている。
【００１６】
主制御部１２は、データ管理システム１全体の処理動作を制御する。
例えばデータ検索時には、検索指示／表示機構１３を通じて入力された検索要求の内容を解析し、必要に応じて、検索部１４、集合管理部１５、リスト入力部１７を選択的に起動させる。また、検索部１４、集合管理部１５、リスト入力部１７から得られる顧客ＩＤリストの演算（修正を含む）を行い、得られた演算結果（修正結果を含む）を集合管理部１５を通じて集合テーブル１１１に保存させる。
主制御部１２は、また、バッファ１６を有しており、このバッファ１６に、検索等で得られた顧客数及び一又は複数の顧客ＩＤリストを一時的に格納しておく。各顧客ＩＤリストは、それぞれ集合名で識別される。この場合、集合名が外部から付与されている顧客ＩＤリストについてはその集合名で識別される。集合名が付与されていない顧客ＩＤリストについては、主制御部１２によりシステム内で一意になるような集合名が自動的に付与され、その集合名で識別される。
【００１７】
検索指示／表示機構１３は、本システムの操作者、他のシステム或いはプログラムによる様々な検索指示を受け付け、この検索指示を主制御部１２に送る。また、主制御部１２による処理結果を、図示しないディスプレイに表示したり、指示の要求元に転送したりする。つまり、検索指示／表示機構１３は、データ管理システム１の入出力機構として機能する。本実施形態では、特に、外部から取り込むリストをもとにした顧客ＩＤリストの作成の指示（以下、「顧客ＩＤリスト作成指示」という。）の受付機能をもこの検索指示／表示機構１３に持たせている。
【００１８】
検索部１４は、主制御部１２の制御により、データ格納手段１０に存するデータベース（顧客テーブル１０１及び購入履歴テーブル１０２）に対してデータ検索を行ない、これにより得られた検索結果を主制御部１２に送る。検索のための手順等は主制御部１２により指示される。
【００１９】
集合管理部１５は、主制御部１２の制御により、集合テーブル１１１の管理を行う。
具体的には、主制御部１２のバッファ１６に格納された顧客数、顧客ＩＤリストを集合テーブル１１１に格納するとともに、集合テーブル１１１に格納されている顧客数及び顧客ＩＤリストを読み出し、これを主制御部１２へ送る。
【００２０】
リスト入力部１７は、主制御部１２の制御により、外部の表計算ツール等で作成された、顧客に関するデータの集合である顧客リストを受け付け、この顧客リストから本システムで扱う上記の顧客ＩＤリストを作成する。そして、これを主制御部１２へ入力する。
顧客リストの例を図５に示す。図５の顧客リスト１７１の項目には、どの顧客かを示すために、顧客テーブル１０１で使用されるＩＤと同じＩＤが用いられる。ＩＤ以外の項目としては、顧客名、住所、電話番号が設けられる。この顧客リスト１７１のＩＤの項目を抽出することで、顧客ＩＤリストを作成することができる。
【００２１】
＜動作＞
次に、上記のように構成されるデータ管理システム１の動作内容を説明する。
ここでは、データ格納手段１０のデータベースに格納された顧客テーブル１０１、及び／又は、購入履歴１０２からの検索、検索結果の集合体格納部１１への保存、集合体格納部１１に保存されている検索結果の読み出し、複数の顧客ＩＤリスト間の論理演算、顧客ＩＤリストの修正、外部からの顧客リスト１７１の入力の６つの動作について説明する。
【００２２】
＜データ検索：図６＞
データ管理システム１におけるデータ検索の手順を図６に示す。データ検索は、検索要求及び検索条件の受付を契機に開始される。ここでは、「バッグを購入した顧客」についての検索要求があったケースを想定する。
この検索要求と検索条件とが与えられると、主制御部１２は、検索対象となるテーブルがどのデータベースに存在するかを特定する。
データベースの特定には、検索要求及び検索条件によってデータベースを直接指定する方法と、検索可能なテーブルを指定する方法の２通りがある。前者の場合は、指定されたデータベースに接続するインタフェースを選択し、選択したインタフェースを通して指定されたデータベース内のテーブルを指定して検索を行う。後者の場合は、検索可能なテーブルが含まれるデータベースを自動的に選択し、それに伴って、選択したデータベースに接続するためのインタフェースを決める。このようにして、指定されたテーブルの検索が可能になる。
【００２３】
主制御部１２は、検索指示／表示機構１３から検索要求及び検索条件を受け付けると（Ｓ１１：あり）、受け付けた検索要求及び検索条件の内容を解析し、検索部１４に検索条件に基づく検索を指示する。このとき、上記のデータベースの特定が行われる。検索部１４は、検索条件に従って、データ格納手段１０内の特定されたデータベースのテーブルの検索を行う（Ｓ１２）。本例では、購入履歴テーブル１０２を保持するデータベースに接続して検索を行う。検索結果として、図３に示した購入履歴テーブル１０２から、バッグを購入した顧客のＩＤ「１」、「２」、「３」が抽出される。検索部１４は、これらのＩＤを検索結果の集合（顧客ＩＤリスト）として扱い、これを主制御部１２へ送る。
【００２４】
主制御部１２は、検索部１４から送られた顧客ＩＤリストと顧客ＩＤリストから特定される顧客数をバッファ１６に格納するとともに（Ｓ１３）、この顧客数と顧客ＩＤリストを検索指示／表示機構１３を介して図示しないディスプレイに提示する（Ｓ１４）。
これにより、検索に関する一連の処理が完了する。
【００２５】
＜集合体格納部への保存：図７＞
検索結果である顧客数及び顧客ＩＤリストの集合体格納部１１への保存に関する処理手順を図７に示す。保存すべき顧客数及び顧客ＩＤリストは、図６に示す処理手順によって、主制御部１２のバッファ１６に格納されている。
【００２６】
検索指示／表示機構１３を介して、バッファ１６に格納されている顧客数及び顧客ＩＤリストの保存要求を受け（Ｓ２１：あり）、さらに、保存する顧客数及び顧客ＩＤリストに付す集合名も合わせて受け付けると（Ｓ２２：あり）、主制御部１２は、バッファ１６に格納されている顧客数及び顧客ＩＤリストを、受け付けた集合名と共に集合管理部１５へ送る。集合管理部１５は、送られた顧客数及び顧客ＩＤリストに、受け付けた集合名を付し、これらを集合テーブル１１１に保存する（Ｓ２４）。
顧客数及び顧客ＩＤリストの保存要求を受けたが、保存する顧客数及び顧客ＩＤリストに付す集合名を受け付けていない場合（Ｓ２１：あり、Ｓ２２：なし）、主制御部１２は、システム内で一意になるような名前を自動的に付与し、これを集合名とする（Ｓ２３）。これらの集合名により、集合テーブル１１１に保存された集合を識別できるようになる。
【００２７】
集合管理部１５は、集合名が既に保存されている集合の集合名と同一で無いことを確認して、これらを集合テーブル１１１の未使用部分に格納する。受け付けた集合名が既に保存されている集合の集合名と同一であった場合、主制御部１２は、図示しないディスプレイに再度の集合名の入力を促す画面を表示させるなどして、集合名の再入力を促したり、或いは、集合名が与えられていない場合と同様に、主制御部１２で自動的に付与する。
【００２８】
＜顧客ＩＤリストの読み出し：図８＞
集合体格納部１１の集合テーブル１１１に保存された顧客ＩＤリストの読み出しに関する処理手順を図８に示す。集合テーブル１１１には、図４に示すような顧客ＩＤリストが保存されているものとする。
データ管理システム１は、検索指示／表示機構１３により、外部から、集合テーブル１１１に保存された集合の読み出し要求を受け付ける（Ｓ３１）。ここでは、「バッグを購入した顧客の集合」を読み出すものとする。読み出し要求を受け付ける際、読み出す集合の集合名「バッグ購入顧客」も合わせて受け付ける。
【００２９】
主制御部１２は、検索指示／表示機構１３から集合の読み出し要求を受け付けると（Ｓ３１：あり）、要求のあった集合名の付された集合の読み出しを集合管理部１５に指示する。集合管理部１５は、集合テーブル１１１の該当するエントリーより、指示された集合名の顧客数及び顧客ＩＤリストを読み出し（Ｓ３２）、読み出した顧客数及び顧客ＩＤリストを主制御部１２へ送る。
主制御部１２は、バッファ１６に、集合管理部１５から送られた顧客数や顧客ＩＤリストを格納する（Ｓ３３）。主制御部１２は、また、得られた顧客数と顧客ＩＤリストを、検索指示／表示機構１３を介して提示する（Ｓ３４）。
これにより、検索結果の読み出しに関する一連の処理が完了する。
【００３０】
＜顧客ＩＤリスト間の論理演算処理：図９＞
本実施形態の顧客ＩＤリストは集合なので、他の顧客ＩＤリストとの間で論理和、論理積、補集合、排他論理和のような論理演算を行うことが可能である。顧客ＩＤリストは、集合名を指定することにより特定される。例えば「バッグ購入顧客」と「５０，０００円以上の商品購入顧客」の両方に含まれる顧客を求めるケースを想定すると、「バッグ購入顧客」と「５０，０００円以上の商品購入顧客」の両方の顧客ＩＤリストの論理積を演算し、２つの顧客ＩＤリストの両方に含まれている顧客ＩＤを論理演算の結果として求めることができる。
この論理演算の処理手順を図９に示す。
データ管理システム１では、主制御部１２のバッファ１６に、予め２以上の顧客ＩＤリストを格納しておく（Ｓ４１）。これらの顧客ＩＤリストは、集合テーブル１１１に保存されている顧客ＩＤリスト、或いは、検索部１４で検索したＩＤにより作成した顧客ＩＤリストである。
検索指示／表示機構１３により、外部から、顧客ＩＤリスト間の演算要求、例えば上述のように「バッグ購入顧客」と「５０，０００円以上の商品購入顧客」の両方に含まれる顧客を求めるための演算指示が入力されると（Ｓ４２：あり）、バッファ１６にある顧客ＩＤリスト間の演算を演算要求に基づいて行なう。このケースでは、両集合の論理積を求めることになるので、２つの顧客ＩＤリストの両方に含まれている顧客のＩＤを選択し、新たに、演算結果として得られた顧客のＩＤを顧客ＩＤリストとしてバッファ１６に格納する（Ｓ４３）。顧客ＩＤリスト間の演算としては、集合論理演算と同一の演算が可能であり、論理和、論理積、補集合、排他論理和等がある。
主制御部１２は、新たに得られた顧客数と顧客ＩＤリストを検索指示／表示機構１３を介して提示する（Ｓ４４）。これにより、検索結果同士の演算処理が完了し、検索指示／表示機構１３は、新たな指示を待つことになる。
新たに得られた顧客数と顧客ＩＤリストを保存する場合は、図７のフローの処理を行えばよい。
【００３１】
＜演算結果の修正：図１０＞
顧客ＩＤリストの検索結果又は演算結果の修正処理の手順は図１０に示すとおりである。この処理に際しては、対象となる顧客ＩＤリストをバッファ１６に格納しておく（Ｓ５１）。検索指示／表示機構１３により、外部から、顧客ＩＤリストの修正要求を受け付ける（Ｓ５２）。修正する顧客ＩＤリストは、集合名により特定される。
主制御部１２は、修正要求を受け付けると（Ｓ５２：あり）、バッファ１６に格納されている顧客ＩＤリストに対して、修正要求に基づいた修正を行なう（Ｓ５３）。
修正要求としては、顧客ＩＤリスト内に存在する顧客ＩＤの削除、或いは、顧客ＩＤの追加などがある。その後、修正された顧客ＩＤの数（つまり顧客数）と顧客ＩＤリストを、検索指示／表示機構１３を介して提示する（Ｓ５４）。
検索指示／表示機構１３を介して、修正された顧客ＩＤリストの保存の指示があると、主制御部１２は、修正された顧客ＩＤリストを、同一の集合名で集合テーブル１１１に上書き保存したり、或いは、別の集合名で集合テーブル１１１に保存する。別の集合名で保存する場合は、図７のフローの処理を行えばよい。
これにより、検索結果の修正に関する一連の処理が完了し、検索指示／表示機構１３は、新たな指示を待つことになる。
【００３２】
＜顧客ＩＤリストの作成：図１１＞
リスト入力部１７から取り込まれた顧客リスト１７１による顧客ＩＤリストの作成手順は、図１１に示すとおりである。
検索指示／表示機構１３により、顧客リスト１７１に基づく顧客ＩＤリスト作成指示を受け付ける（Ｓ６１：あり）。顧客ＩＤリスト作成指示には、顧客ＩＤリストの作成元となる顧客リスト１７１の保管された場所等の情報も含まれる。
主制御部１２は、この顧客ＩＤリスト作成指示を受け付けると、リスト入力部１７に、作成元となる顧客リスト１７１の保管された場所を通知するとともにリスト入力部１７を起動する（Ｓ６２）。
リスト入力部１７は、指示された保管場所から顧客リスト１７１を取り込み（Ｓ６３）、取り込んだ顧客リスト１７１から顧客のＩＤを抽出する。そして、抽出した顧客のＩＤにより顧客ＩＤリストを作成する（Ｓ６４）。作成した顧客ＩＤリストは、顧客数と共に主制御部１２に送られる。
主制御部１２は、リスト入力部１７から送られた顧客数及び顧客ＩＤリストをバッファ１６に格納する（Ｓ６５）。例えば、顧客リスト１７１が図５に示すものである場合、顧客ＩＤリストに含まれるＩＤは「１」「３」「１０」であり、顧客数は「３」になる。
主制御部１２はバッファ１６に格納した顧客ＩＤリストや顧客数を検索指示／表示機構１３を介して提示する（Ｓ６６）。
これにより、外部からの顧客リスト１７１入力に関する一連の処理が完了する。
【００３３】
上記のような手順で実現するＩＤの集合の作成、保存、演算、修正、外部からのリスト入力の基本動作を組み合わせた処理を行なうことで、以下のような効果が得られる。
【００３４】
（集合の保存による効果）
一度検索した結果であるＩＤを集合（顧客ＩＤリスト）として保存することで、再度同一の検索条件による結果が必要になった場合に、再検索によって結果を得るよりも高速に、検索結果の提示を行えるようになる。また、顧客ＩＤリストを集合テーブル１１１から読み出すだけですむために、少ないリソースで検索結果の提示が可能である。
【００３５】
購入履歴テーブル１０２には、顧客が購入した履歴分のデータが格納される。
この購入履歴テーブル１０２は、上記の実施形態でも、図３に示すように１件当り５項目のデータを保持している。各項目のデータ長を１０バイトと仮定すると、１件当り５０バイトのデータ量になる。例えば、商品「バッグ」を購入した顧客が、１００人いたとすると、これらのデータ量は、５０バイト×１００＝５０００バイトとなる。一方、「バッグを購入した顧客」を検索して集合として保存した場合、データの大きさは、集合名を２０バイト、顧客数を４バイト、顧客ＩＤリストを４バイトと仮定すると、２０バイト＋４バイト＋４バイト×１００＝４２４バイトで済んでしまう。
集合として保存した場合のデータ量は、購入履歴テーブル１０２で管理する場合と比較して１／１０以下となる。一度、「バッグを購入した顧客」を集合として保存すれば、再度同一の検索を行う必要が無くなるため、購入履歴テーブル１０２からこれらのデータを削除してしまうことが可能になる。不必要なデータを削除できるために、データの保管に必要な記憶領域を大幅に軽減できる。
【００３６】
検索結果、または集合の演算結果を、新たに集合として保存する際に、集合名を与えるが、この集合名を、その顧客ＩＤリスト（集合）をどの様に作成したかではなく、顧客ＩＤリストが何を意味するかを念頭に置いた名前にする。このことは、集合間の論理演算を繰り返していった場合には、非常に顕著な効果となってあらわれる。その集合が作成された条件式を示したとしても、もはや作成者にも理解困難な形になるからである。
【００３７】
（集合間の演算による効果）
保管されている顧客ＩＤリスト、検索により求めた顧客ＩＤリストを組み合わせた論理演算が可能になることで、最終的に求めたい顧客ＩＤリストを得るまでの処理過程を、基本的な操作の繰り返しのみで実現出来る。そのために、検索条件を複雑に組み合わせた要求を一度に組み立てる必要が無く、複雑な検索要求に対する習熟が不用であり、検索処理系に与える負荷も軽減される。
また、顧客ＩＤリストは、異なるデータベースでそれぞれに検索して作成されたものである。各データベースに単独にアクセスして検索を行い、検索結果を得ることはそれほど困難ではない。異なるデータベースを検索して求めた顧客ＩＤリスト間で演算を行うことにより、異なるデータベースを論理的に１つのものとして複合検索を実施したことと同様の結果が得られる。
【００３８】
（顧客ＩＤリストの修正による効果）
顧客ＩＤリストを修正可能とするために、修正を行っている操作者の意図によって、顧客ＩＤリストをカスタマイズすることができるようになる。カスタマイズすることにより、顧客ＩＤリストを、操作者にとって都合の良いものとするこことが可能となる。
データ格納手段１０の各テーブルの項目にあれば、検索を行うことにより所望の顧客ＩＤリストを作成できる。項目にない場合でも、顧客ＩＤリストの修正によって所望の顧客ＩＤリストを作成することができる。
【００３９】
例として、「専務の大事な顧客」を選択するようなケースを考える。
この場合、「専務の大事な顧客」の選択基準は、実に曖昧であり、１人１人（１社１社）その理由が異なり、なぜ大事なのか専務が明確に提示出来ないことも考えられる。そのために、テーブルの検索により所望の顧客のＩＤを得ることは困難である。
しかし、例えば、予め粗い検索条件により、ある程度顧客のＩＤを抽出して集合としておき、１人１人（１社１社）の名前を見ていくことにより、大事か大事でないか判断して、ＩＤの追加、削除を行って最適なＩＤの集合とすることは、専務にとっては可能である。
一度、「専務の大事な顧客」を集合として登録しておけば、以降この集合は、検索条件で作成されたものと同等に扱って処理する事が可能である。また、１９９９年と２０００年とで、「専務の大事な顧客」の内容に変化が起こっても、対応することが出来る。
【００４０】
（顧客リストからの顧客ＩＤリスト作成による効果）
データ管理システム１の外部で表計算ソフトなどによって既に作成されている顧客リスト１７１から、集合を作成することによって、その顧客リスト１７１に含まれる顧客の集合を、他の顧客リスト１７１による集合と演算を行ったり、データベースに登録されている条件と組み合わせた新たな集合を作成することが可能となる。顧客リスト１７１がどのような条件で作成されたかは問題ではなく、その顧客リスト１７１が何を意味するのか（どのような顧客の集合か）を重要視して集合とする。データベースに登録されている項目で検索して顧客を選択できないケースであっても、外部で人手等により集合を作成することで、所望のＩＤの集合が作成可能となる。
【００４１】
また、外部から顧客リスト１７１を取り込んで集合を作成することにより、複数のデータベースを検索して集合を作成する機能の一部を補完することにもなる。
例えば、データ管理システムに接続インタフェースが用意されていないデータベースに対する検索が必要となった場合に、当該データベースに対して、まず、接続インタフェースが用意された他のデータ管理システムから検索を行う。そして、検索の結果得られる顧客ＩＤリストを顧客リスト１７１として、接続インタフェースが用意されていないデータ管理システムに入力する。接続インタフェースが用意されていないデータ管理システムは、接続インタフェースが用意された他のデータ管理システムから顧客ＩＤリストを取り込むことにより、間接的にではあるが、当該データベースに対する検索を行ったこととなる。検索結果の出力機能は、どのようなデータ管理システムにも通常は備わっているために、リスト入力部１７のように外部からリストを取り込んで集合を作成する機能があれば、どのような特殊なインタフェースを持つデータベースからでも、検索結果を得ることができるようになる。
【００４２】
本発明は、顧客の購入履歴の管理に限定されず、以下の分野への応用も可能である。
・顧客の商品の購入履歴だけでなく、顧客との様々な取引状況、即ち、電話、ファクシミリ、手紙、電子メール等での問い合わせ状況の履歴を扱う事が可能である。
・顧客テーブル１０１や購入履歴テーブル１０２で例示したデータは、データベースに限らず、データウエアハウス、データマート、データウェブハウス等に格納されているものも対象として可能である。
・インターネット上の、サイトや、ページに対して、そのダウンロードした履歴を購入履歴と同様に蓄積、利用することが可能であり、インターネット上の検索に関しても、一度検索して得られたものを、集合として保存、再利用することが可能である。
【００４３】
なお、本実施形態では、検索対象となるデータを２つのテーブルに保存して検索を行う例を示したが、検索対象のデータは、これに限らず、識別情報により識別可能なデータであれば、どのような形態で記憶されていてもよい。
【００４４】
また、本発明のデータ管理システムは、コンピュータに、本発明のコンピュータプログラムを実行させることによっても、実現が可能である。この実施形態では、コンピュータがアクセス（アクセスは記録／読み出しの意、以下同じ）可能な記録媒体、例えばディスク装置又は半導体メモリに記録されているコンピュータプログラムと上記のコンピュータが搭載している制御プログラム（ＯＳ等）との協働によって、データ格納手段１０、集合体格納部１１、主制御部１２、検索指示／表示機構１３、検索部１４、集合管理部１５、リスト入力部１７に相当する機能ブロックを形成する。
【００４５】
【発明の効果】
以上のように、本発明によれば、データ管理システム外で作成されたリストを集合として保持することにより、このような集合間の比較、データ格納機構内のデータとの比較が容易に可能となる。また、データが複数のデータ格納機構に格納される場合でも、各データ格納機構にまたがった複合検索が容易に可能となる。
【図面の簡単な説明】
【図１】本発明を適用したデータ管理システムの構成図。
【図２】顧客テーブルの内容例を示した図。
【図３】購入履歴テーブルの内容例を示した図。
【図４】集合テーブルの内容例を示した図。
【図５】顧客リストの内容例を示した図。
【図６】検索要求がなされた場合の処理のフローを示した図。
【図７】集合の保存に関する処理のフローを示した図。
【図８】格納されている集合の読み出しに関する処理のフローを示した図。
【図９】集合間の演算の処理のフローを示した図。
【図１０】集合の修正の処理のフローを示した図。
【図１１】外部から取り込まれる顧客リストにより、集合を作成するフローを示した図。
【符号の説明】
１      データ管理システム
１０    データ格納手段
１１    集合体格納部
１２    主制御部
１３    検索指示／表示機構
１４    検索部
１５    集合管理部
１６    バッファ
１７    リスト入力部
１０１  顧客テーブル
１０２  購入履歴テーブル
１１１  集合テーブル
１７１  顧客リスト
【図１】
0003631681.tif 000002
【図２】
0003631681.tif 000003
【図３】
0003631681.tif 000004
【図４】
0003631681.tif 000005
【図５】
0003631681.tif 000006
【図６】
0003631681.tif 000007
【図７】
0003631681.tif 000008
【図８】
0003631681.tif 000009
【図９】
0003631681.tif 000010
【図１０】
0003631681.tif 000011
【図１１】
0003631681.tif 000012