(57)【要約】【課題】検索されたデータの共通項目を自動的に、かつ迅速に探索することができ、時間に制約されることなく、共通項目を確実に取得できるようにする。【解決手段】データベースには、各顧客データが顧客コードなどにその属性に応じた、例えば、２５桁の２進数の連結属性値が付加されて格納されている。顧客データは、例えば、５個の項目毎の属性からなり、夫々の属性は５桁（５ビット）の数値データからなっている。この数値データでは、属性の種類に応じて異なる桁が“１”のビットとなる。これら５つの項目の数値データを連ねたものが図示する連結属性値である。所定の検索条件で検索された、例えば、５個の顧客データにおいて、これらの連結属性値を各桁毎に論理積処理し、その処理結果、“１”のビットを含む５桁の数値データが該当する項目が、全ての検索データで同じ属性となる共通項目である。図示の例では、項目「職業」が共通項目となる。【選択図】図６
2007206954.tif 000002
【特許請求の範囲】
【請求項１】
複数の属性毎の項目で表わされるデータを格納したデータベースから所望とする検索条件の該データを検索するデータベース検索方法であって、
該項目のｍ（但し、ｍは２以上の整数）個の属性が夫々、ｎ（但し、ｎは２以上の整数）桁の２進数からなる数字データで表わされており、
該データ夫々には、全ての項目の属性の２進数からなるｍ×ｎ桁の数値データが設定されており、
該データベースから検索された該データの該ｍ×ｎ桁の数値データを各桁毎に論理積演算し、該演算結果に基づいて、検索された該データの全てにわたって同じ属性の該項目と判明した項目を、共通項目とすることを特徴とするデータベース検索方法。
【請求項２】
請求項１において、
前記２進数からなるｍ×ｎ桁の数値データを前記項目毎のｎ桁の数値データに変換するテーブルを用い、
前記演算結果得られるｍ×ｎ桁の数値データを、該テーブルに従って、前記項目毎のｎ桁の数値データに区分し、該区分された該ｎ桁の数値データの各桁の値から前記項目が共通項目であるか否か、さらに、共通項目であるときの属性の種類を判定することを特徴とするデータベース検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、顧客データなどの複数の項目からなるデータを検索するデータベース検索システムに係り、特に、設定されて検索条件で検索されたデータの属性に関する項目のうち、かかる検索データの全てに共通する項目（即ち、全ての検索データで属性が一致する項目）を検索するデータベース検索システムに関する。
【背景技術】
【０００２】
データベースに格納されているデータの中から所望のデータを取得するためには、データヘースでかかるデータの検索を可能とする検索条件を設定し、この検索条件を用いてデータベースでのデータ検索を行なわせる。このようにして、所望とするデータをデータベースから取得することができるが、さらに、このようにして取得したデータに共通する属性などの項目を知りたい場合もある。
【０００３】
検索の対象データとして、証券取引業務などで用いられる顧客データを例にすると、かかる顧客データはデータベース（顧客データベース）に蓄積されており、所定の検索条件をもとにこの顧客データベースの検索を行なうと、所望の顧客データを取得することができる。図７は、例えば、１００人の顧客データが蓄積されている顧客データベースからの検索結果のテーブルを示すものであり、ここでは、検索によって５人の顧客データが得られたものとしている。
【０００４】
ここで、顧客データのデータベースは、顧客の属性に応じた各顧客に付与された顧客コードや顧客名，性別，職業，趣味，取引動機，投資目的などといった項目（フィールド）からなるＲＤＢ(Relational DataBase：関係データベース）の構成をなしており、顧客の各属性は、かかる項目のいずれかに該当する。例えば、項目「性別」には、顧客の属性である「男」や「女」が該当し、項目「趣味」には、顧客の属性である「スポーツ」や「読書」，「音楽鑑賞」などが該当する。顧客データベースを検索することにより、希望する顧客の属性を知ることができる。
【０００５】
このようなデータ検索に際し、データを２進数の数字コードで表わしてデータベースに格納し、数字コードで表わされる検索条件を用いてデータベースから所望のデータを検索する技術が提案されている（例えば、特許文献１参照）。
【０００６】
かかる特許文献１に記載の発明は、検索対象となるデータ量が多くなっても、また、検索条件としての項目内容となるキャラクタ数が大きくなっても、検索に要する時間を大幅に短縮することができるようにしたものであって、データを表わす数字コードを演算して付加情報を作成し、これを数字コードと関連付けてデータベースに格納し、このデータベースから所望のデータを検索する場合には、数字コードで表わされる検索条件から同様の付加情報を作成し、かかる検索条件の付加情報とデータベースでの各データの付加情報とを照合してデータ検索を行なうものであり、これによって曖昧な検索条件による大まかな検索が行なわれて限られた数のデータが得られることになり、数が制限されたかかるデータの中から、この検索条件による手間のかかるデータ検索をこの数が限られてデータに対して行なわれるようにしたものである。
【特許文献１】特開平８ー２３５２０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、以上のようにして得られた顧客データの検索結果から、属性がこれら検索顧客全てに等しい項目（以下、共通事項という）が何であるかを知る必要がある場合がある。このためには、例えば、図７に示すような検索結果のテーブルをディスプレイに表示し、オペレータが目視でこの共通項目を見つけ出すようにすることもできるが、特に、対象とする（即ち、検索された）顧客データの数が多い場合には、手間と時間が掛かる作業となり、このため、自動的に共通項目を探索できるようにすることが望まれている。
【０００８】
かかる共通項目を自動探索するための手順としては、図７に示す検索結果を例に採ると、
（１）顧客コードを探索キーとして、まず、項目「性別」について、５人全ての顧客の性別が一致するか否かの判定処理を行なう。この場合、１人が女性でほか４人が男性であるから、一致せず、項目「性別」は共通項目ではないと判定する。
【０００９】
（２）次に、次の項目「職業」について、５人全ての顧客の性別が一致するか否かの判定処理を行なう。この場合、全ての顧客が公務員であるので、項目「公務員」は共通項目であると判定する。
【００１０】
（３）以下同様にして、他の項目「趣味」，「取引動機」，「投資目的」についても、同様の判定を行ない、共通項目の探索を行なう。この場合には、いずれの項目も共通項目ではない。
【００１１】
このようにして、検索された顧客データに関し、顧客情報の項目１つ１つについて、これら全ての顧客データの属性が一致するか否かを判定する処理が行なわれるものであり、検索される顧客データ数が少ない場合や顧客データの属性の項目数が少ない場合には、特に問題とはならないが、検索される顧客データ数が何十万件といったような非常に多い場合には、共通項目の探索に時間が掛かり、迅速な探索ができないという問題があるし、また、ＲＤＢサーバから応答が返ってこない場合も、考えられる。
【００１２】
さらには、探索時間が長くなることを考慮して、共通項目の探索を夜間バッチ処理などで行なうようにすることも考えられるが、上記のように、所望の検索条件でデータベースから検索された顧客データについて共通項目を探索する場合には、かかる顧客データの検索処理も同時に行なうことが必要なことから、データベースから所望の顧客データの検索処理を行なう時間も制約されることになる。
【００１３】
なお、上記の特許文献１に記載の技術では、検索された情報に共通する項目を探索するについては全く配慮されていない。
【００１４】
本発明は、かかる点に鑑みてなされたものであって、その目的は、検索されたデータの共通項目を自動的に、かつ迅速に探索することができ、時間に制約されることなく、共通項目を確実に取得できるようにしたデータベース検索システムを提供することにある。
【課題を解決するための手段】
【００１５】
上記目的を達成するために、本発明は、複数の属性毎の項目で表わされるデータを格納したデータベースから所望とする検索条件の該データを検索するデータベース検索方法であって、項目のｍ（但し、ｍは２以上の整数）個の属性が夫々、ｎ（但し、ｎは２以上の整数）桁の２進数からなる数字データで表わされており、データ夫々には、全ての項目の属性の２進数からなるｍ×ｎ桁の数値データが設定されており、データベースから検索されたデータのｍ×ｎ桁の数値データを各桁毎に論理積演算し、この演算結果に基づいて、検索されたデータの全てにわたって同じ属性の項目と判明した項目を、共通項目とすることを特徴とするものである。
【００１６】
また、本発明は、２進数からなるｍ×ｎ桁の数値データを上記の項目毎のｎ桁の数値データに変換するテーブルを用い、上記の演算結果得られるｍ×ｎ桁の数値データを、このテーブルに従って、項目毎のｎ桁の数値データに区分し、区分されたｎ桁の数値データの各桁の値から項目が共通項目であるか否か、さらに、共通項目であるときの属性の種類を判定することを特徴とする。
【発明の効果】
【００１７】
本発明によると、簡単な演算処理により、検索されたデータでの共通項目を探索できるので、共通項目の探索スピードを高めることができるし、また、探索スピートを速くすることができるので、探索スピードを抑えることにより、ハードウェア性能を低くできて、システム構築の費用を低減できて安価なシステムを構築できるし、さらに、集計スペースを作成する必要がないため、記憶エリアのスペースを有効に利用することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施形態を図面を用いて説明する。
【００１９】
図１は本発明によるデータベース検索方法を用いたデータベース検索装置の一構成例を示すブロック図であって、１はＣＰＵ（中央処理装置）２はＲＯＭ（リードオンリメモリ）、３はＲＡＭ（ランダムアクセスメモリ）、４は操作部、５はデータ入力手段、６は表示処理手段、７はデータベース制御手段、８は条件情報データベース、９は表示部である。
【００２０】
同図において、このデータベース検索装置は、装置各部の動作を制御するＣＰＵ１と、ＣＰＵ１が実行するプログラムや表示部９で表示される操作画面，各種の定数などの情報を格納した読み出し専用のＲＯＭ２と、ＣＰＵ１の処理の際のワークエリアなどとして機能するＲＡＭ３と、キーボードやマウスなどからなり、表示部９での画面操作や各種の指示を与えるための操作部４と、インターネットや他のネットワークからの証券情報を入力するためのデータ入力手段５と、操作画面や証券情報データヘース８からの証券情報などを表示部９に表示するための表示処理を行なう表示処理手段６と、証券情報データベース８での証券情報の読み書きを制御するデータベース制御手段７と、証券情報データベース８，表示部９などを備えている。
【００２１】
証券情報データベース８には、顧客情報などの各種証券情報が格納されており、表示部９に表示される、例えば、顧客情報に関する検索画面を基にオペレータが操作部４から検索条件を入力すると、ＣＰＵ１がデータベース制御手段７を制御動作させることにより、この証券情報データベース８でこの入力された検索条件に基づいて顧客情報の検索が行なわれ、その検索結果（所望とする顧客の顧客情報）が、表示処理手段６の処理により、表示部９に表示される。
【００２２】
図２は証券情報データベース８に格納されている顧客情報１０のテーブルの一具体例を模式的に示す図であって、１１ａ〜１１ｇは項目である。
【００２３】
顧客情報は、顧客の属性を分類した項目で表わされており、かかる項目で顧客情報を表わしたものが図２に示す顧客情報１０のテーブルである。
【００２４】
図２において、顧客情報は、図示するように、各顧客毎に割り当てられたコードを表わす項目「顧客コード」１１ａと、顧客名を表わす項目「顧客名」１１ｂと、顧客の性別を表わす項目「性別」１１ｃと、顧客の職業を表わす項目「職業」１１ｄと、顧客の趣味を表わす項目「趣味」１１ｅと、顧客が証券取引を始めた動機を表わす項目「取引動機」１１ｆと、投資目的を表わす項目「投資目的」１１ｇなどからなっている。顧客の各属性は夫々、これら項目１１ｂ〜１１ｇのうちの該当する項目に登録される。例えば、顧客「ＡＡ・ＡＡ」については、その顧客名「ＡＡ・ＡＡ」という属性が項目「顧客名」１１ｂに登録され、性別が「男」という属性が項目「性別」１１ｃに登録され、職業が「公務員」という属性が項目「職業」１１ｄに登録され、趣味が「スポーツ」という属性が項目「趣味」１１ｅに登録され、証券取引の動機が「来店・来電」という属性が項目「取引動機」１１ｆに登録され、投資の目的が「短期的視野に立ったキャピタルゲイン重視」という属性が項目「投資目的」１１ｇに登録される。
【００２５】
以下、本発明のデータベース検索方法の一実施形態について説明するが、この実施形態では、以上のように各項目１１ｃ〜１１ｇに分類される顧客の属性を所定桁数のビットによる数値データで表わすようにする。ここで、その桁数は、これら項目１１ｃ〜１１ｇでの属性の種類によって決まるものとし、例えば、５種類の属性が存在する項目では、その数値データの桁数（即ち、ビット数）は５であり、その属性の種類に応じてこの数値データを異ならせる。以下では、説明を簡略化するために、これら項目１１ｃ〜１１ｇでの属性は全て５種類であり、それらの数値データは５ビットからなるものてする。
【００２６】
各項目１１ｃ〜１１ｇでは、数値データをなす５ビットのうちの１ビットのみを“１”とし、他の４ビットを全て“０”とする。そして、“１”とするビットは属性の種類に応じて異ならせる。一例として、項目「職業」１１ｄについて見ると、いま、顧客の属性が医師，自営業，公務員，税理士，教職員の５種類である場合（なお、ここでは、職業としては、この５種類しかないものとする）、例えば、５ビットの数値データを、これら職業に応じて、次のように設定する。
【表１】
2007206954.tif 000003
【００２７】
図３は項目１１ｃ〜１１ｇを５桁（５ビット）の数値データで表わした顧客情報１０のテーブルを示すものである。項目「職業」１１ｄの各属性は、図２での項目「職業」１１ｄに対し、上記数１に示す数値データで表わしたものである。その他の項目については、例えば、項目「性別」１１ｃでは、属性「男」を数値データ「00001」、属性「女」を数値データ「00010」で夫々表わすものであり、また、例えば、項目「趣味」１１ｅでは、属性「スポーツ」を数値データ「00001」で、属性「読書」を数値データ「00010」で、属性「音楽鑑賞」を数値データ「10000」で夫々表わすものである。他の項目についても同様であり、属性毎に異なる桁を“１”とする数値データを割り当てている。
【００２８】
なお、このように属性情報を数値データに変換するテーブルをＲＯＭ２（図１）に格納されており、ＣＰＵ１（図１）がこれを用いて変換処理を行なう。
【００２９】
また、図３の顧客情報１０のテーブルにおいて、項目「１０進数」１１ｈの値は、項目１１ｃ〜１１ｇの５ビットずつの数値データをその順に連ねて１つの２５桁（ビット）の２進数の値（以下、これを２進数の連結属性値という）としたときの、この２進数の連結属性値に対する１０進数の値（以下、これを１０進数の連結属性値という）を示すものである。例えば、顧客コード「000001」の顧客「ＡＡ・ＡＡ」についてみると、このときの２進数の連結属性値は、
００００１ ００１００ ００００１ ００００１ ００００１
となるが、これに対する１０進数の連結属性値は、
２20＋２17＋２10＋２5＋２0＝１１８０７０５
となる。他の顧客の顧客データについても、同様にして、項目「１０進数」１１ｈに示す１０進数の連結属性値が得られる。かかる演算処理も、ＣＰＵ１（図１）で行なわれる。
【００３０】
証券情報データベース８では、顧客データを、図３に示すように、各項目１１ａ〜１１ｇからなるＲＤＢとして格納するが、項目１１ｃ〜１１ｇの５ビットの属性値が順に連なる２５桁（ビット）の２進数の連結属性値として格納されるが、各項目１１ｃ〜１１ｇの属性を判定する場合には、この２５桁の２進数を５ビット毎に区分し、夫々の５ビットがいずれの項目に対応するのか識別することが必要となる。このため、例えば、図４に示すような変換テーブルがＲＯＭ２（図１）に設けられており、ＣＰＵ１（図１）は、これに基づいて、２５桁の２進数を先頭から５桁（ビット）ずつ区分して先頭から区分１，２，３，４，５とし、区分１を項目「性別」１１ｃの属性、区分２を「職業」１１ｄの属性、……、区分５を項目「投資目的」１１ｇの属性として処理するようにする。
【００３１】
また、証券情報データベース８（図１）に格納する顧客データの項目１１ｃ〜１１ｇに対する属性の数値データの桁数を低減するために、図３に示す項目１１ｃ〜１１ｇの代わりに、項目「１０進数」１１ｈの１０進数の連結属性値を格納するようにしてもよい。但し、この場合、証券情報データベース８（図１）から顧客データの１０進数の連結属性値が読み出されたときには、この１０進数の連結属性値は、ＣＰＵ１（図１）の処理により、２５桁の２進数の連結属性値に変換された後、上記のように、図４に示す変換テーブルを用いて、各項目１１ｃ〜１１ｇ毎に区分される。
【００３２】
さて、図１において、以上のようにして顧客データが証券情報データベース８に蓄積されているが、表示部９で操作される検索画面で、操作部４を操作することにより、所望の検索条件（なお、上記の顧客データの各項目１１ａ〜１１ｈは、検索条件となるものではない）を入力して証券情報データベース８の顧客データの検索を行なったところ、図５に示す項目「顧客コード」１１ａの顧客コードが「000001」〜「000005」の５個の顧客データが、検索結果として、得られたものとする。なお、上記のように、項目１１ｃ〜１１ｇの数値データによる２進数の連結属性値の代わりに、項目１１ｈの１０進数の連結属性値が証券情報データベース８に格納されているときには、図５はこれを２進数の連結属性値に変換したものを示している。
【００３３】
この実施形態は、かかる検索結果から、簡単な演算処理により、検索された全ての顧客データの属性が一致する項目、即ち、共通項目を取得することができるようにするものである。
【００３４】
この共通項目の取得方法としては、検索された上記顧客データ毎に、その項目１１ｃ〜１１ｇの属性の数値データから上記の２５桁の２進数の連結属性値を作成し、各顧客データの２進数の連結属性値の同じ桁同士で論理積（ＡＮＤ）の演算処理を行ない、その演算結果で“１”のビットを含む項目を共通項目とするものである。
【００３５】
図６は図５に示す検索結果に対する共通項目の探索処理を示す図である。
【００３６】
同図において、図５に示す顧客データの２進数の連結属性値の夫々の桁のビットに対し、夫々の顧客データの同じ桁のビット同士を論理積演算をすると、その論理積の結果は、図示するように、
０００００００１０００００００００００００００００
となる。この結果によると、最も左側の桁（ビット）を先頭の桁として、先頭から８桁目が“１”のビットとなっており、これ以外の桁では、全て“０”のビットである。そして、この“１”のビットを含む項目を共通項目とするものであるが、この論理積の結果も、図４に示す変換テーブルを適用して５桁ずつ区分することにより、項目「職業」１１ｄの数値データの論理積結果が「００１００」となっており、この項目「職業」１１ｄが共通項目とするものである。
【００３７】
また、この項目「職業」１１ｄの数値データの論理積結果「００１００」により、上記表１から、属性「公務員」が図５に示す検索された顧客データでの顧客が、職業「公務員」であることで、共通することがわかる。
【００３８】
かかる論理積で全ての桁が“０”のビットであるときには、検索された顧客データについて、属性が全て同じとなる共通項目はない、ということになる。
【００３９】
ＣＰＵ１（図１）は、検索された顧客データについて、その共通項目を探索する場合には、例えば、検索された顧客データの項目「顧客コード」１１ａに登録されている顧客コードを基に、データベース制御手段７（図１）を介して、証券情報データベース８に格納されている顧客データのうち、この顧客コードの顧客データでの項目１１ｃ〜１１ｇの数字データを読み取り、これを２５桁の２進数の連結属性値としてＲＡＭ３に記憶する。このようにして、検索された顧客データ毎にかかる２５桁の２進数の連結属性値を証券情報データベース８から順次読み取り、これを読み取る毎に前に読み取った他の顧客データの２５桁の２進数の連結属性値と各桁毎に論理積演算する。
【００４０】
即ち、例えば、まず、顧客コード「000001」の顧客データの２５桁の２進数の連結属性値が証券情報データベース８から読み取られると、この２５桁の２進数の連結属性値はＲＡＭ３に記憶され、次に、顧客コード「000002」の顧客データの２５桁の２進数の連結属性値が証券情報データベース８から読み取られると、これがＲＡＭ３に記憶されるとともに、ＣＰＵ１は、これら顧客コード「000001」，「000002」の２５桁の２進数の連結属性値を桁毎に論理積演算し、その演算結果をＲＡＭ３に記憶する。そして、ＣＰＵ１により、次の顧客コード「000003」の顧客データの２５桁の２進数の連結属性値が証券情報データベース８から読み取られ、これがＲＡＭ３に記憶されるとともに、ＣＰＵ１は、顧客コード「000001」，「000002」の顧客データの２５桁の２進数の連結属性値の論理積の演算結果とこの顧客コード「000003」の顧客データの２５桁の２進数の連結属性値との論理積演算を行ない、その演算結果をＲＡＭ３に記憶する。そして、さらに次の顧客コード「000004」の顧客データの２５桁の２進数の連結属性値が証券情報データベース８から読み取られるが、このようにして、新たに顧客データの２進数の連結属性値が証券情報データベース８から読み出されると、これと既に得られている演算結果との桁後との論理積演算が行なわれ、検索された最後の２５桁の２進数の連結属性値について同様の演算処理が行なわれると、検索された顧客データ全てについての演算処理が終了し、演算結果での“１”のビットから上記の共通項目の決定処理に移る。
【００４１】
このようにして、探索された共通項目は、検索結果の顧客情報とともに、表示部９に表示されるが、一例として、図５に示すように、この場合項目「職業」１１ｄである共通項目全体を枠１２で囲むことにより、共通項目が、認識できるように、明確に表示されるようにする。勿論、項目名の表示エリアだけをかかる枠１２で囲むようにしてもよい。
【００４２】
以上のように、この実施形態によると、簡単な演算処理により、検索されたデータでの共通項目を探索できるので、共通項目の探索スピードを高めることができるし、また、探索スピートを速くすることができるので、探索スピードを抑えることにより、ハードウェア性能を低くできて、システム構築の費用を低減できて安価なシステムを構築できるし、さらに、集計スペースを作成する必要がないため、記憶エリアのスペースを有効に利用することができる。
【００４３】
なお、上記実施形態は、証券情報の顧客情報を例に説明したものであるが、本発明は、これに限らず、複数の属性を有し、その属性に応じて区分される複数の項目からなる任意のデータに適用可能であることはいうまでもない。
【００４４】
一般に、かかる任意のデータに対しては、検索対象のデータがｍ（但し、ｍは２以上の整数）個の属性からなり、かかる属性を項目（フィールド）で区分したとき、これら項目によって該当する属性の種類の数はまちまちであるが、１項目に該当する属性の種類の最大数をｎ糊塗すると、かかる属性をｎ（但し、ｎは２以上の整数）桁の２進数からなる数字データで表わされており、これらデータ夫々には、かかる項目の属性の２進数を統合（連結）したｍ×ｎ桁の数値データ（あるいは、その１０進数の数字データ）が設定されてデータベースに蓄積されており、このデータベースから検索されたデータのｍ×ｎ桁の数値データを各桁毎に論理積演算し、該演算結果に基づいて、検索された該データの全てにわたって同じ属性の項目と判明した項目（上記の例では、“１”のビットを含む数値データの項目）を、共通項目とするものである。
【図面の簡単な説明】
【００４５】
【図１】図１は本発明によるデータベース検索方法を用いたデータベース検索装置の一構成例を示すブロック図である。
【図２】図１における証券情報データベース８に格納されている顧客情報１０の一具体例のテーブルを模式的に示す図である。
【図３】図２に示す顧客情報の属性を数値データで表わしたときの顧客情報の一具体例のテーブルを示す図である。
【図４】２進数の連結属性値を図３に示す各項目の数値データに区分するための変換テーブルの一具体例を示す図である。
【図５】図１における証券情報データベースでの顧客データの検索結果の一具体例を示す図である。
【図６】図５に示す検索結果に対する共通項目の探索処理を示す図である。
【図７】証券情報での顧客データの一従来例を示す図である。
【符号の説明】
【００４６】
１  ＣＰＵ
２  ＲＯＭ
３  ＲＡＭ
４  操作部
５  データ入力手段
６  表示処理手段
７  データベース制御手段
８  条件情報データベース
９  表示部
１０  顧客情報テーブル
１１ａ〜１１ｈ  項目
１２  枠
【図１】
2007206954.tif 000004
【図２】
2007206954.tif 000005
【図３】
2007206954.tif 000006
【図４】
2007206954.tif 000007
【図５】
2007206954.tif 000008
【図６】
2007206954.tif 000009
【図７】
2007206954.tif 000010