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