(57)【要約】【課題】従来技術によるデータベースへのデータの登録方法ではデータ登録時、データベースの項目と登録レコード内の登録データとの関係が不明である。本発明は、データベースに登録データを登録する際のデータ登録支援装置を提供する。【解決手段】本発明の登録する対象のデータベースは、データを分類する複数の項目を有し、該項目に属するデータの集合により構成されるレコードが記憶される。本発明のデータ登録方法は以下の手順によりデータベースに登録データを登録する。登録対象となる前記登録データを取得する。データベースの各項目と各データレコードとから特定されるデータ毎に登録データとの相関値を求める。相関値に対応するデータと当該データが属する項目とから相関値に応じた登録データを登録する項目の候補を求める。項目の候補に対応するデータ格納領域に登録データを登録する。【選択図】図１
2008077153.tif 000002
【特許請求の範囲】
【請求項１】
データを分類する複数の項目を有し、該項目に属するデータの集合により構成されるレコードが記憶されたデータベースに登録データを登録するデータ登録方法であって、
コンピュータが、
登録対象となる前記登録データを取得し、
前記データベースの各項目と各データレコードとから特定される前記データ毎に前記登録データとの相関値を求め、
前記相関値に対応する前記データと当該データが属する前記項目とから該相関値に応じた前記登録データを登録する前記項目の候補を求め、該項目の候補に対応するデータ格納領域に該登録データを登録する
ことを特徴とするデータ登録方法。
【請求項２】
前記コンピュータは、前記相関値を取得するときに登録対象となる登録データを複数有する登録レコードを取得し、前記相関値を求めるときに前記データベースの前記データ毎と前記登録レコードの前記登録データ毎との相関値を求めることを特徴とする請求項１記載のデータ登録方法。
【請求項３】
前記コンピュータは、前記項目に対応するデータに格納された文字列と前記登録データの文字列との間で共通する文字数の登録データの全文字数の割合により前記相関値を求めることを特徴とする請求項１記載のデータ登録方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータベースに関する。特に、データベースにデータを登録する方法に関する。
【背景技術】
【０００２】
データベースは、複数のアプリケーションソフトまたはユーザによって共有されるデータの集合である。データベースの構成は、データと当該データを分類する項目とからなる。各項目に対応するデータによって構成される組をデータレコードという。
【０００３】
データベースへのデータの登録は、一件のデータレコードを単位として登録する。登録する対象のデータレコードを登録レコードという。登録レコードはデータベースの個々の項目に登録する登録データと当該登録データ毎に区切る情報とを有する。データベースへの登録時は、登録データを登録データ毎に区切る情報で区切り、登録データをデータベース内の該当する項目にそれぞれ登録する。
【０００４】
登録レコードは項目を識別する情報を含まない場合がある。項目を識別する情報を含まない場合、登録レコードに含まれる各データをデータベースのどの項目に登録するかは不明である。登録レコードを構成するデータの配置がデータベースの項目の配置と同じである場合は、データベースの各項目にデータ毎を登録することが可能である。しかし、登録レコードを構成するデータの配置がデータベースの項目の配置と異なる場合は、データベースに登録することはできない。
【０００５】
データベースへのデータの登録手法として特許文献１による方法がある。
【特許文献１】特開平１０−１８７７５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、データベースへのデータの登録を自動で行う方法を提供することを課題とする。
【課題を解決するための手段】
【０００７】
本発明の登録する対象のデータベースは、データを分類する複数の項目を有し、該項目に属するデータの集合により構成されるレコードが記憶される。本発明のデータ登録方法は以下の手順によりデータベースに登録データを登録する。
登録対象となる前記登録データを取得する。データベースの各項目と各データレコードとから特定されるデータ毎に登録データとの相関値を求める。相関値に対応するデータと当該データが属する項目とから相関値に応じた登録データを登録する項目の候補を求める。項目の候補に対応するデータ格納領域に登録データを登録する。
【０００８】
また、相関値を取得するときに登録対象となる登録データを複数有する登録レコードを取得する。相関値を求めるときにデータベースのデータ毎と登録レコードの登録データ毎との相関値を求めることを特徴とする。
【０００９】
また、項目に対応するデータに格納された文字列と登録データの文字列との間で共通する文字列の割合により相関値を求めることを特徴とする。
【発明の効果】
【００１０】
本発明により、登録データのデータベースへのデータ登録をデータベースが有するデータを利用して自動で行うことができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態を説明する。
【００１２】
図１は、本実施例の登録装置１の構成図である。登録装置１は登録対象のレコードである登録レコードを受け付けると、データベースに新規のレコードとして登録する。登録装置１は制御部１０、入力部１１、出力部１２、記憶部１３およびデータベース１４を有する。
【００１３】
登録装置１の制御部１０は登録装置１の記憶部１３に格納された取得プログラム１５、演算プログラム１６、登録プログラム１７を読み出して実行することにより、データベース１４に登録レコードを登録するための取得手段、演算手段および登録手段として機能する。
【００１４】
記憶部１３には制御部１０が取得手段、演算手段および登録手段を実行するために必要な情報が記憶される。例えば、取得プログラム１５、演算プログラム１６および登録プログラム１７を記憶する。記憶部１３はコンピュータが読み取り可能な記憶媒体である。コンピュータが読み取り可能な記憶媒体は、例えば、ハードディスクドライブ、ＲＡＭ等である。
【００１５】
入力部１１は外部からの命令または情報等を受け付け制御部１０に受け渡す。外部からの命令または情報等は、例えば、登録する対象である登録レコードの情報、データベース１４のデータ更新命令、後述する未分類のデータの登録指示の情報等の入力情報である。制御部１０の取得手段、演算手段および登録手段は、入力部１１から受け付けた入力情報に応じた処理を実行する。出力部１２は出力部１２の画面上に表示すべき情報を制御部１０から受け取り、出力部１２の画面上に出力する。
【００１６】
データベース１４は、本実施例においてデータを登録する対象となるデータベースである。図２は、データベース１４の構成図である。データベース１４はデータ２９の集合である。データ２９は項目２１乃至２７の属性に分類されて記憶される。項目２１乃至２７の属性は予め区分される。各項目２１乃至２７は、項目２１「ＩＤ」、項目２２「システム名」、項目２３「ＯＳ」、項目２４「メーラー」、項目２５「ＤＶＤ」、項目２６「セキュリティ」および項目２７「未分類」である。例えば、項目２１「ＩＤ」の場合、データ２９は、「１」、「２」、「３」、「４」あるいは「５」である。項目２２「システム名」の場合、データ２９は、「Ａシステム」、「Ｂシステム」、「Ｃシステム」、「Ｄシステム」あるいは「Ｅシステム」である。
【００１７】
レコード２８は項目２１乃至２７に対応するデータ２９の集合によって構成された組である。項目２１「ＩＤ」の「１」のデータが属するレコード２８は、項目２２「システム名」について「Ａシステム」、項目２３「ＯＳ」について「ＷｉｎｗｉｎＡ」、項目２４「メーラー」について「Ｍａｉｌ＿Ａ＿ｖ１」、項目２５「ＤＶＤ」については「−」、項目２６「セキュリティ」について「ＶｉｒｕｓＡ」および項目２７「未分類」について「−」からなるデータの集合によって構成された組となる。
【００１８】
次に、データベース１４の項目の属性について説明する。項目２１「ＩＤ」は、データベース１４内のレコード毎に付される識別番号である。項目２２「システム名」は、対象のレコードが採用するシステムの名称である。項目２３「ＯＳ」は、対象のレコードが採用するシステムで使用するオペレーティングシステム（以下ＯＳ）の名称である。項目２４「メーラー」は、対象のレコードが採用するシステムで使用する電子メールの送受信等を行うソフトウェアの名称である。項目２５「ＤＶＤ」は、対象のレコードが採用するシステムで使用するディジタルビデオディスク（以下ＤＶＤ）を再生するソフトウェアの名称である。項目２６「セキュリティ」は、対象のレコードが採用するシステムで使用するウィルス駆除ソフトウェアの名称である。項目２７「未分類」は、登録データのデータ登録処理を行った結果、該当する項目が無いと判断した登録データが格納される項目である。変数Ｋ４１および変数Ｒ４２は、後述する登録レコード３１をデータベース１４に登録する際に使用する変数である。
【００１９】
次にデータベース１４に登録する対象となる登録レコードの構成について説明する。データベース１４へのデータの登録は、一件のデータレコードを単位として登録する。登録する対象のデータレコードを登録レコードという。図３は、データベース１４に登録する対象となる登録レコード３１のデータ構成図である。登録レコード３１は登録対象となる登録データ３２乃至３７と登録データ単位で区切るための区切情報３８とから構成される。登録データ３２乃至３７は、データベース１４の項目２１乃至２７に対応するデータ領域に登録するデータである。図３において登録データ３２乃至３７は登録データ３２「Ｅシステム」、登録データ３３「ＷｉｎｗｉｎＡ」、登録データ３４「Ｍａｉｌ＿Ａ＿ｖ３」、登録データ３５「ＶｉｒｕｓＡ」、登録データ３６「ディーブイディＡ」、登録データ３７「ｎｅｗ＿ｓｏｆｔ」である。区切情報３８は予め指定された情報である。登録装置１の記憶部１３は区切情報３８の記号情報を予め記憶する。例えば、カンマ記号、空白記号である。登録レコード３１内の登録データ３２乃至３７の配置は、データベース１４内の各項目２１乃至２７の配置と同一か否かは不明である。図１の登録装置１の入力部１１から記憶手段１３内の登録レコード３１の格納場所が特定され、図１の登録装置１の制御部１０に入力される。なお、登録レコード３１は直接入力部１１に入力する方式であってもよい。変数Ｉ４３は、後述する登録レコード３１をデータベース１４に登録する際に使用する変数である。
【００２０】
次に表示装置１が登録レコード３１をデータベース１４に登録する際に実行する処理について説明する。登録レコード３１に含まれる登録データ３２乃至３７と登録先のデータベース１４の項目２１乃至２７との対応関係は不明である。したがって、登録データ３２乃至３７のそれぞれについて登録先となるデータベース１４の項目２２乃至２７を決定する必要がある。登録装置１は、図３の登録レコード３１の登録データ３２乃至３７のそれぞれについて登録先となるデータベース１４の項目２２乃至２７を決定し、図２のデータベース１４に登録する処理を以下のフローチャートにより実行する。
【００２１】
図４は、図３の登録レコード３１の登録データ３２乃至３７のそれぞれについて登録先となる図２のデータベース１４の項目２２乃至２７を決定し、データベース１４に登録するフローチャートである。
【００２２】
制御部１０の取得手段は、入力部１１を介して登録レコード３１を取得する（Ｓ０１）。ここで、Ｓ０１の登録画面について説明する。
【００２３】
図６は、図４のＳ０１における登録レコード３１の登録画面８０である。制御部１０の取得手段は、データベース１４に登録する対象となる登録レコード３１を特定する情報を取得するための登録画面の情報を出力部１３に送信する。出力部１３は制御部１０から受け取った登録レコード３１の登録画面８０を表示する。登録レコード３１の登録画面８０上は新規レコード登録である旨のタイトル８１、操作案内の表示欄８２、登録レコード入力欄８３、参照ボタン８４及び登録ボタン８５を有する。操作案内の表示欄８２には、「参照ボタンを押して登録する登録レコードを指定して下さい。指定後、登録ボタンを押して下さい。」のメッセージが表示される。
【００２４】
登録レコード入力欄８３は登録レコード３１のファイルが格納されている場所情報を入力する欄である。利用者は入力部１１を介して登録レコード入力欄８３に登録レコード３１のファイルが格納されている場所情報を入力する。例えば、登録レコード３１が記憶部１３に格納されており、記憶部１３がディレクトリ構造で各種のファイルを記憶している場合は、登録レコード３１が格納されているディレクトリを特定する情報を登録レコード入力欄８３に入力する。図６の例では、ディレクトリの構造が「Ｃ：／００ｄａｔａ／００ｔｏｒｏｋｕ」であり、「００ｔｏｒｏｋｕ」のディレクトリに格納されたファイル名「０１．ｄａｔ」が登録レコード３１のファイルである。参照ボタン８４は、記憶部１３のディレクトリ構造を出力部１２に表示させるボタンである。利用者は入力部１１を介して出力部１２の画面上に表示されたディレクトリ構造から登録レコード３１のファイルが格納されている記憶部１３内のディレクトリを選択する。特定されたディレクトリの情報は、登録レコード入力欄８３に表示される。登録ボタン８５は、登録レコード入力欄８３に表示された登録レコード３１を制御部１０の取得手段が受け取る指示を登録装置１の制御部１０に与えるボタンである。図４のフローチャートの説明に戻る。
【００２５】
次に制御部１０の取得手段は、取得した登録レコード３１とデータベース１４とから相関テーブル５０を作成する（Ｓ０２）。相関テーブル５０は、登録レコード３１の各登録データ３２乃至３７とデータベース１４の個別のデータとの相関値を求め、項目２２乃至２６毎の全てのレコードの相関値の総和を記憶するテーブルである。相関テーブル５０は、登録レコードをデータベース１４に登録する処理を実行する度に一時的に記憶部１３に作成される。
【００２６】
図７は、図４のＳ０２で取得手段が新たに作成する相関テーブル５０のデータ構成図である。相関テーブル５０の項目は、項目５１「登録データ」、項目５２「システム名」、項目５３「ＯＳ」、項目５４「メーラー」、項目５５「ＤＶＤ」及び項目５６「セキュリティ」で構成される。項目５１「登録データ」には、登録レコード３１の各登録データ３２乃至３７が記憶される。相関テーブル５０の項目５２乃至５６は、項目２２「システム名」が項目５２「システム名」に、項目２３「ＯＳ」が項目５３「ＯＳ」に、項目２４「メーラー」が項目５４「メーラー」に、項目２５「ＤＶＤ」が項目５５「ＤＶＤ」に、項目２６「セキュリティ」が項目５６「セキュリティ」にそれぞれ対応する。
【００２７】
相関テーブルはデータベース１４の項目２１「ＩＤ」および項目２７「未分類」を除いて作成する。項目２１「ＩＤ」を相関テーブル５０の項目から除くのは、項目２１「ＩＤ」に対応するデータは登録レコードを登録する際にレコードに対して新たに付加される番号であるためである。項目２７「未分類」を相関テーブル５０の項目から除くのは、登録データが項目２２乃至２６までに該当しない場合に項目２７「未分類」に登録されるためである。
【００２８】
相関テーブル５０の項目５１に格納するデータは、登録データ３２「Ｅシステム」が登録データ５７「Ｅシステム」と、登録データ３３「ＷｉｎｗｉｎＡ」が登録データ５８「ＷｉｎｗｉｎＡ」と、登録データ３４「ＭＡＩＬ＿Ａ＿ｖ３」が登録データ５９「ＭＡＩＬ＿Ａ＿ｖ３」と、登録データ３５「ＶｉｒｕｓＡ」が登録データ６０「ＶｉｒｕｓＡ」と、登録データ３６「ディーブイディＡ」が登録データ６１「ディーブイディＡ」と、登録データ３７「ｎｅｗ＿ｓｏｆｔ」が登録データ６２「ｎｅｗ＿ｓｏｆｔ」となる。
【００２９】
変数Ｋ４１はデータベース１４の項目２１乃至２６の内、演算処理の対象となる項目を特定するための変数である。相関テーブル５０での変数Ｋ４１は、データベース１４の項目２１乃至２６に対応する相関テーブル５０の項目５１乃至５６を特定するために用いる。変数Ｉ４３は登録レコード３１の各登録データ３２乃至３７の内、演算処理の対象となる登録データを特定するための変数である。相関テーブル５０での変数Ｉ４３は、登録レコード３１の各登録データ３２乃至３７に対応する相関テーブル５０のレコード５７乃至６２を特定するために用いる。図４のＳ０２において相関テーブル５０が作成されるとき、相関テーブル５０内の各データの値は「０」で初期化される。
【００３０】
図４のフローチャートの説明に戻る。制御部１０の取得手段は、変数Ｉ４３の初期化（Ｓ０３）、変数Ｋ４１の初期化（Ｓ０４）、変数Ｒ４２の初期化（Ｓ０５）を行う。
【００３１】
変数Ｉ４３は登録レコード３１の各登録データ３２乃至３７の内、相関値を算出する対象となる登録データを特定するための変数である。登録レコード３１内で区切られている登録データ３２乃至３７の配列と変数Ｉ４３の数値とが対応する。図３の登録レコード３１を例とすると、変数Ｉ４３が「１」の場合、相関値を算出する対象となる登録データは登録データ３２「Ｅシステム」である。また、変数Ｉ４３が「２」の場合、相関値を算出する対象となる登録データは登録データ３３「ＷｉｎｗｉｎＡ」である。以降、相関値を算出する対象となる登録データは変数Ｉ４３に応じて登録データ３４「Ｍａｉｌ＿Ａ＿ｖ３」、登録データ３５「ＶｉｒｕｓＡ」、登録データ３６「ディーブイディＡ」、登録データ３７「ｎｅｗ＿ｓｏｆｔ」となる。
【００３２】
変数Ｋ４１はデータベース１４の項目２１乃至２６の内、相関値を算出する対象となる項目を特定するための変数である。データベース１４の項目２２乃至２６の配列と変数Ｋ４１の数値とが対応する。図２のデータベース１４を例とすると、変数Ｋ４１が「１」の場合、相関値を算出する対象となる項目は項目２２「システム名」である。また、変数Ｋ４１が「２」の場合、相関値を算出する対象となる項目は項目２３「ＯＳ」である。以降、相関値を算出する対象となる項目は変数Ｋ４１に応じて項目２４「メーラー」、項目２５「ＤＶＤ」、項目２６「セキュリティ」となる。項目２１「ＩＤ」を相関値の算出対象の項目から除くのは、登録レコードを登録する際にレコードに対して新たに付加される番号であるためである。項目２７「未分類」を相関値の算出対象の項目から除くのは、登録データが項目２２乃至２６までに該当しない場合に項目２７「未分類」に登録されるためである。
【００３３】
変数Ｒ４２はデータベース１４内の相関値を算出する対象となるレコード２８を特定するための変数である。データベース１４のレコード２８の配列と変数Ｒ４２の数値とが対応する。図２のデータベース１４を例とすると、変数Ｒ４２が「１」の場合、相関値を算出する対象となるレコード２８は項目２１「ＩＤ」が「１」であるレコード２８が対応する。また、変数Ｒ４２が「２」である場合、相関値を算出する対象となるレコード２８は項目２１「ＩＤ」が「２」のレコードが対応する。以降、相関値を算出する対象となるレコード２８は変数Ｒ４２に応じたレコードとなる。
【００３４】
図４の説明に戻る。制御部１０の演算手段は、登録レコード３１の登録データ３２乃至３７内の変数Ｉ４３により特定される登録データとデータベース１４内の変数Ｋ４１および変数Ｒ４２とから特定されるデータとの間の相関値を演算する（Ｓ０６）。相関値の算出方法については、図８のフローチャートに詳述する。
【００３５】
図８は、相関値の算出処理のフローチャートである。相関値は、以下の手順により求める。相関値を求めるために、相関率を算出する。相関率は、データベース１４の各データの文字列と登録データの文字列との間で一致する文字数を登録データの全文字数で割った値である。
【００３６】
制御部１０の演算手段は、登録データの文字列に含まれる比較の対象とする文字数を定めるために登録データの総文字数ＡＬを設定する（Ｓ３１）。次に、制御部１０の演算手段は、現在の相関値を演算する対象となる文字数ＮＬの初期値を設定する（Ｓ３２）。文字数ＮＬは登録データの文字列の一部とデータベース１４のデータとを比較する場合に、登録データの文字列に含まれる比較の対象とする文字数を定めるための変数である。文字数ＮＬの初期値は、総文字数ＡＬと同じ値を設定する。次に、制御部１０の演算手段は、文字移動数ＬＭの初期値を設定する（Ｓ３３）。文字移動数ＬＭは、データベース１４のデータの文字列と比較する登録データの一部の文字列を決定する場合に、登録データ内の文字列の比較する部分を定めるための変数である。
【００３７】
次に、制御部１０の演算手段は、総文字数ＡＬ、現在の文字数ＮＬ、文字移動数ＬＭからデータベースのデータと比較する比較文字列ＣＬを決定する（Ｓ３４）。比較文字列ＣＬは、登録データの文字列の先頭から文字移動数ＬＭの文字数分ずらした文字から文字数ＮＬの数まで文字列で特定される。
【００３８】
次に制御部１０の演算手段は、比較の対象となるデータベース１４のデータの文字列内に比較文字列ＣＬが有るか否かを判断する（Ｓ３５）。比較の対象となるデータベース１４のデータは、図２の変数Ｋ４２、変数Ｒ４３により特定されるデータベース１４のデータである。
【００３９】
制御部１０の演算手段は比較文字列ＣＬがデータベースのデータの文字列内に無いと判断した場合（Ｓ３５：Ｎｏ）、比較文字列ＣＬを変更するための処理を行う。まず、制御部１０の演算手段は、文字移動数ＬＭが最大値か否かを判断する（Ｓ３６）。文字移動数ＬＭの最大値は、総文字数ＡＬと現在の文字数ＮＬとの差分の文字数である。制御部１０の演算手段は、文字移動数ＬＭが最大値ではないと判断した場合（Ｓ３６：Ｎｏ）、登録データ内に現在の文字数ＮＬで特定可能な他の比較文字列が存在するため、文字移動数ＬＭに「１」を加えて（Ｓ３７）、Ｓ３４の比較文字列ＣＬの決定を行う。一方、制御部１０の演算手段は、文字移動数ＬＭが最大値であると判断した場合（Ｓ３６：Ｙｅｓ）、登録データ内の現在の文字数ＮＬで特定される全ての比較文字列ＣＬについてデータベース１４のデータの文字列内に含まれるか否かを判定した状態である。制御部１０の演算手段は、構成する文字数を減少させた新たな比較文字列ＣＬによってデータベース１４のデータの文字列内に含まれるか否かを判定するために文字数ＮＬから「１」を減算する（Ｓ３８）。
【００４０】
制御部１０の演算手段は、Ｓ３８で文字数ＮＬから「１」を減算した結果、文字数ＮＬの値が「０」であるか否かを判定する（Ｓ３９）。文字数ＮＬの値が「０」ではない場合（Ｓ３９：Ｎｏ）、比較文字列ＣＬに含まれる文字数を減少させた別の比較文字列ＣＬによって再度データベース１４のデータとの比較を行うため、Ｓ３３にて文字移動数ＬＭを初期化して、Ｓ３４以降のステップを実行する。一方、文字数ＮＬの値が「０」であった場合は（Ｓ３９：Ｙｅｓ）、登録データに含まれる文字には、データベースのデータとは一致する文字が全く無い状態である。したがって、登録データとデータベース１４のデータとの間の相関率は取得できない。したがって、相関値テーブル５０の該当するデータ領域のデータの値を変更せずに処理を終了する。該当するデータ領域は、相関テーブル５０内の変数Ｉ４３と変数Ｋ４１とから特定される領域である。
【００４１】
次に図８のＳ３５において、データベース１４のデータの文字列内の比較文字列ＣＬの有無を判断し、比較文字列ＣＬがデータベースのデータの文字列内にあった場合（Ｓ３５：Ｙｅｓ）以降の処理について説明する。
【００４２】
図９は、図８の相関値の算出処理のフローチャートの続きである。制御部１０の演算手段は、比較文字列ＣＬがデータベース１４のデータの文字列内にあった場合は（Ｓ３５：Ｙｅｓ）、相関率を算出する（Ｓ５１）。相関率は現在の文字数ＮＬを登録データの総文字数ＡＬで割った値である。
【００４３】
次に、制御部１０の演算手段は、Ｓ５１で求めた相関率が含まれる相関値配分テーブル１１０の相関率１１１に対応するフラグ１１３を読出す（Ｓ５２）。相関値配分テーブル１１０は、相関率から相関値を求めるためのテーブルである。
【００４４】
図１０は、相関値配分テーブル１１０である。相関値配分テーブル１１０は、相関率を複数の領域に分けた相関率１１１と、相関テーブル５０に登録する相関値１１２と、相関率を相関値として使用することが有効であるか否かのフラグ１１３とを関連付けて記憶する。相関値配分テーブル１１０の各データは、予め定められたデータであり、データベース１４の特性に応じて値の変更を可能とする。
【００４５】
相関率１１１は、Ｓ３１においてデータベース１４のデータの文字列に含まれると判断された登録データの一部の文字列の文字数ＮＬを登録データの総文字数ＡＬで割った相関率を複数の領域に分けたものである。相関値１１２は、相関率１１１に対応する値であり、相関テーブル５０のデータに加算する値となる。相関率１１１の領域に対応させて、重み付けを加味した配点が可能となる。
【００４６】
フラグ１１３は、相関値１１２を相関テーブル５０のデータに加算するか否かを決定するフラグである。登録データの一部の文字列がデータベース１４のデータに含まれる場合でも、相関率が高くない場合は相関値を加算しない方が良い場合がある。例えば、個々のデータの相関率は低いがデータ個数が多い項目における相関値の総和と個々のデータの相関率は高いがデータ個数が少ない項目における相関値の総和とを比較した場合、制御部１０の登録手段はどちらが有効であるのかが判断できない。したがって、単に全ての相関値の総和を相関テーブル５０に加えると制御部の登録手段が誤って登録データを再配置する原因となる。フラグの値が「Ｔ」の場合は相関率１１１に対応する相関値１１２を相関テーブル５０に加算する。一方、フラグの値が「Ｆ」の場合は相関率１１１に対応する相関値１１２を相関テーブル５０に加算しない。図９の説明に戻る。
【００４７】
相関値は、Ｓ５１で算出した相関率に対応する相関値配分テーブル１１０内の相関値１１２となる。相関率に対応する相関値配分テーブル１１０内のフラグ１１３が「Ｔ」であるか否かを判定する（Ｓ５３）。相関値配分テーブル１１０内のフラグ１１３が「Ｔ」の場合（Ｓ５３：Ｙｅｓ）、相関値１１２は有効であるため、相関テーブル５０の該当するデータ領域の値に相関値１１２を加算する（Ｓ５４）。一方、相関値配分テーブル１１０内のフラグ１１３が「Ｔ」ではない場合（Ｓ５２：Ｎｏ）、相関値１１２は無効であるため、相関値テーブル５０の該当するデータ領域のデータの値を変更せずに処理を終了する。
【００４８】
図１１に、比較対象文字列の設定例及び相関率との関係を示す。総文字数ＡＬ１２０は、「ｎｅｗ＿ｓｏｆｔ」が「ｎ」、「ｅ」、「ｗ」、「＿」、「ｓ」、「ｏ」、「ｆ」、「ｔ」の８文字であるため「８」となる。現在の文字数ＮＬの初期値１２１は総文字数ＡＬ１２０と同じ「８」となる。文字移動数ＬＭ１２２の初期値は「０」となる。以上からＡＬが「８」でＮＬが「８」でＬＭが「０」の比較文字列ＣＬ１２３は「ｎｅｗ＿ｓｏｆｔ」である。比較文字列ＣＬ１２３がデータベース１４の登録データに含まれる場合は、相関率１２４は、現在の文字数ＮＬの「８」を総文字数ＡＬの「８」で割った値となるため、「１」となる。相関値配分テーブル１１０において対応する相関率１１１は「０．９以上１．０」である。したがって相関率１１１に対応する相関値１１２は「１０」であり、フラグ１１３は「Ｔ」であるため、相関テーブル５０に加算する対象となる。
【００４９】
次に、現在の文字数ＮＬから「１」を減算した場合、現在の文字数ＮＬ１２５は「７」となる。文字移動数ＬＭの最大値は総文字数ＡＬ１２０の「８」と文字数ＮＬ１２５の「７」との差分である。したがって、文字移動数ＬＭの最大値は「１」となる。文字移動数ＬＭ１２６が「０」の時の比較文字列ＣＬ１２７は「ｎｅｗ＿ｓｏｆ」であり、文字移動数ＬＭ１２８が「１」の時の比較文字列ＣＬ１２９は「ｅｗ＿ｓｏｆｔ」である。比較文字列ＣＬ１２７あるいは１２９がデータベース１４の登録データに含まれる場合は、相関率１３０は、現在の文字数ＮＬ１２５の「７」を総文字数ＡＬ１２０の「８」で割った値となるため、「０．８７５」となる。相関値配分テーブル１１０において対応する相関率１１１は「０．８以上０．９未満」である。したがって相関率１１１に対応する相関値１１２は「９」であり、フラグ１１３は「Ｔ」であるため、相関テーブル５０に加算する対象となる。
【００５０】
さらに、現在の文字数ＮＬ１２５から「１」を減算した場合、現在の文字数ＮＬ１３１は「６」となる。文字移動数ＬＭの最大値は総文字数ＡＬの「８」と文字数ＮＬの「６」との差分である。したがって、文字移動数ＬＭの最大値は「２」となる。文字移動数ＬＭ１３２が「０」の時の比較文字列ＣＬ１３３は「ｎｅｗ＿ｓｏ」であり、文字移動数ＬＭ１３４が「１」の時の比較文字列ＣＬ１３５は「ｅｗ＿ｓｏｆ」であり、文字移動数ＬＭ１３６が「２」の時の比較文字列ＣＬ１３７は「ｗ＿ｓｏｆｔ」である。比較文字列ＣＬ１３３、１３５あるいは１３７がデータベース１４の登録データに含まれる場合は、相関率１３８は、現在の文字数ＮＬ１３１の「６」を総文字数ＡＬ１２０の「８」で割った値となるため、「０．７５」となる。相関値配分テーブル１１０において対応する相関率１１１は「０．７以上０．８未満」である。したがって相関率１１１に対応する相関値１１２は「６」であり、フラグ１１３は「Ｔ」であるため、相関テーブル５０に加算する対象となる。
【００５１】
図４の説明に戻る。制御部１０の演算手段は、相関テーブル５０内の変数Ｉ４３と変数Ｋ４１とから特定される領域に格納されたデータ値にＳ０６で得られた相関値を加算する（Ｓ０７）。
【００５２】
次に制御部１０の演算手段は変数Ｒ４２が最大値か否かを判断する（Ｓ０８）。変数Ｒ４２の最大値はデータベース１４のレコード２８のレコード数である。変数Ｒ４２が最大値ではない場合（Ｓ０８：Ｎｏ）は、変数Ｋ４１で特定される現在の相関値を算出する対象の項目において演算の対象となるレコードが残っている状態である。そこで、制御部１０の演算手段は変数Ｒ４２に「１」を加算し（Ｓ０９）、Ｓ０６以降の処理を行う。一方、変数Ｒ４２が最大値である場合（Ｓ０８：Ｙｅｓ）は、変数Ｋ４１で特定される現在の演算の対象の項目において演算の対象となるデータレコードが無いため、制御部１０の演算手段は次の項目のデータを演算の対象とする処理を行う。
【００５３】
次に制御部１０の演算手段は変数Ｋ４１が最大値か否かを判断する（Ｓ１０）。変数Ｋ４１の最大値は相関テーブル５０の項目５２乃至５６の項目数である。変数Ｋ４１が最大値ではない場合（Ｓ１０：Ｎｏ）は、データベース１４内に相関値を算出する対象の項目が残っている状態である。そこで、制御部１０の演算手段は変数Ｋ４１に「１」を加算し（Ｓ１１）、Ｓ０５において変数Ｒ４２を初期化し、Ｓ０６以降の処理を行う。一方、変数Ｒ４２が最大値である場合（Ｓ１０：Ｙｅｓ）は、データベース１４内の全ての項目２１乃至２６について演算が完了したため、制御部１０の演算手段は登録レコード３１の内、次の登録データを演算の対象とする処理を行う。
【００５４】
次に制御部１０の演算手段は変数Ｉ４３が最大値か否かを判断する（Ｓ１２）。変数Ｉ４３の最大値は、変数Ｉ４３の登録レコード３１に含まれる登録データ３２乃至３７の登録データ個数である。変数Ｉ４３が最大値ではない場合（Ｓ１２：Ｎｏ）は、登録レコード３１に含まれる登録データに演算の対象の登録データが残っている状態である。そこで、制御部１０の演算手段は変数Ｉ４３に「１」を加算し（Ｓ１３）、Ｓ０４において変数Ｋ４１を初期化し、Ｓ０５において変数Ｒ４２を初期化し、Ｓ０６以降の処理を行う。一方、変数Ｉ４３が最大値である場合（Ｓ１２：Ｙｅｓ）は、登録レコード３１の全ての登録データ３２乃至３７に対して相関値の演算が終了したため、制御部１０の登録手段は登録データ３２乃至３７のデータベース１４への登録処理を行う。
【００５５】
図５は、図４のデータ登録時の処理のフローチャートの続きである。図５の処理は、相関テーブル５０を参照して、登録レコード３１内の登録データ３２乃至３７の再配置を行う処理である。再配置後の登録レコードをデータベース１４に登録する。以下に処理の流れを説明する。
【００５６】
まず、制御部１０の登録手段は、変数Ｋ４１に初期値を設定する（Ｓ２１）。変数Ｋ４１は相関テーブル５０の内、相関値を算出する対象となる項目を特定するために使用する変数である。次に制御部１０の登録手段は、相関テーブル５０内の変数Ｋ４１に対応する項目の内、相関値の総和が最大のデータを抽出する（Ｓ２２）。相関値の総和が最大のデータは、現在の処理の対象の登録データを登録する項目の候補となる。レコード５７乃至６２の内、相関値が最大値であるレコードがある場合（Ｓ２３：Ｙｅｓ）、制御部１０の登録手段は相関値の総和が最大値のレコードに対応する登録データを登録レコードの変数Ｋ番目再配置する（Ｓ２４）。
【００５７】
レコード５７乃至６２の内、相関値が最大値であるレコードがない場合（Ｓ２３：Ｎｏ）、登録レコードのＫ番目に「データ無し」として設定する（Ｓ２５）。例えば、相関値の総和が同じ値となる複数の登録データが有る場合、相関値の総和が全て「０」であった場合などは、最大値を有する登録データが無い状態である。相関値の総和が同じ値となる複数の登録データが有る場合は、いずれの登録データがデータベース１４の項目に対して相関が高いかが判定できないためデータ無しとして設定する。また、相関値の総和が全て「０」であった場合は、いずれの登録データもデータベースの項目に対して相関がないためデータ無しとして設定する。例えば、登録データ単位で区切る情報の間にデータがない状態とすることで「データ無し」と設定できる。
【００５８】
次に、変数Ｋ４１が最大値か否かを判定する（Ｓ２６）。変数Ｋ４１の最大値は、相関テーブル５０の項目５１「登録データ」を除く項目５２乃至５６の項目数である。変数Ｋ４１が最大値ではない場合（Ｓ２６：Ｎｏ）、相関テーブル５０の全ての項目５２乃至５６について再配置処理を完了していない状態である。そのため、変数Ｋ４１に「１」を加えて（Ｓ２７）、Ｓ２２以降の処理を行う。一方、変数Ｋ４１が最大値である場合（Ｓ２６：Ｙｅｓ）、相関テーブル５０の全ての項目５１乃至５６について登録レコード内の再配置処理が完了したため、再配置後の登録レコードをデータベース１４に登録する処理を行う（Ｓ２８）。なお、登録レコードの内、データベース１４の項目２２乃至２６に分類できなかった登録データは項目２７「未分類」に再配置されて登録される。
【００５９】
図１２は、図３の登録レコード３１の登録データ３２乃至３７の再配置後のデータ構成図である。図１２の再配置後の登録レコード６３の登録データ６４乃至７１は、登録データ６４「５」、登録データ６５「Ｅシステム」、登録データ６６「ＷｉｎｗｉｎＡ」、登録データ６７「ＭＡＩＬ＿Ａ＿ｖ３」、登録データ６８「−」、登録データ６９「ＶｉｒｕｓＡ」、登録データ７０「ディーブイディＡ」、登録データ７１「ｎｅｗ＿ｓｏｆｔ」となる。再配置後の登録レコード６３の各登録データ６４乃至７１と図３の登録レコード３１の各登録データ３２乃至３７とを比較すると、再配置後の登録レコード６３の登録データ６９「ＶｉｒｕｓＡ」が登録レコード３１の登録データ３５「ＶｉｒｕｓＡ」に対して一つ後ろにずれており、再配置後の登録レコード６３の登録データ７０「ディーブイディＡ」および登録データ７１「ｎｅｗ＿ｓｏｆｔ」が未分類の項目に再配置されている。更に再配置後の登録レコードには、データベース１４に新たに追加するデータレコードの番号がデータベース１４の項目２１「ＩＤ」に対応する位置に付加される。再配置後の登録レコード６３がデータベース１４に登録された状態を図１３に示す。
【００６０】
図１３は、登録レコード６３をデータベース１４に登録した後のデータベース１４の構成図である。制御部１０の登録手段は、図３の登録レコード３１の各登録データ３２乃至３７がデータベース１４の各項目２１乃至２６に関する相関値の総和によって再配置後の登録レコード６３を図２のデータベース１４に登録する。データベース１４に追加された新たなレコード２８は、項目２１「ＩＤ」のデータが「５」であり、項目２２「システム名」のデータは「Ｅシステム」であり、項目２３「ＯＳ」のデータは「ＷｉｎｗｉｎＡ」であり、項目２４「メーラー」のデータは「Ｍａｉｌ＿Ａ＿ｖ３」であり、項目２５「ＤＶＤ」のデータは「−」であり、項目２６「セキュリティ」のデータは「ＶｉｒｕｓＡ」であり、項目２７「未分類」のデータは「ディーブイディＡ」及び「ｎｅｗ＿ｓｏｆｔ」からなる。図５の説明に戻る。
【００６１】
制御部１０の登録手段は、「未分類登録データ登録画面」の情報を出力部１２に送信する。出力部１２は「未分類登録データ登録画面」を表示する（Ｓ２８）。図１４に未分類登録データ登録画面９０を示す。
【００６２】
未分類登録データ登録画面９０は、未分類登録データの登録である旨のタイトル９１、操作案内の表示欄９２、未分類の登録データの表示欄９３、更新ボタン９６を有する。
【００６３】
操作案内の表示欄９２には、「未分類の登録データがあります。以下の項目一覧内に未分類の登録データを登録する先の項目がある場合には、登録ボタンを押してください。既存のデータと入れ替える場合は既存の登録データのリンクをクリックしてください。登録しない場合は破棄ボタンを押して下さい。登録後、更新ボタンを押して下さい。」のメッセージを表示する。
【００６４】
未分類の登録データの表示欄９３は、テーブル形式で表示する。テーブル９７の項目は、データベース１４の項目２７「未分類」を除くデータベース１４の各項目２１乃至２６で構成される。具体的には、項目２１「ＩＤ」に対応する項目９３１「ＩＤ」、項目２２「システム名」に対応する項目９３２「システム名」、項目２３「ＯＳ」に対応する項目９３３「ＯＳ」、項目２４「メーラー」に対応する項目９３４「メーラー」、項目２５「ＤＶＤ」に対応する項目９３５「ＤＶＤ」および項目２６「セキュリティ」に対応する項目９３６「セキュリティ」が項目となる。このとき、登録レコード３１から再配置された登録レコード６３を作成した時に再配置された登録データについては再配置されたことを示すマークを表示することとしてもよい。マークをテーブルに表示することにより再配置されたデータであることが識別可能であり、データ登録時に注意を払うことが可能となる。
【００６５】
テーブル９７のレコードはデータベース１４の項目２７「未分類」に登録されたデータを基準として構成される。項目２７「未分類」に登録されたデータは、「ディーブイディＡ」および「ｎｅｗ＿ｓｏｆｔ」である。したがって、レコード９３７「ディーブイディＡ」およびレコード９３８「ｎｅｗ＿ｓｏｆｔ」がレコードとなる。
【００６６】
各レコード９３７および９３８を基準とする各項目９３１乃至９３６のデータ領域には、図５のＳ２８にてデータベース１４に登録されたデータがそれぞれ表示される。また項目９３２乃至９３４および９３６の各データはリンクが設定されており、制御部１０の登録手段は、リンクがクリックされた情報を入力部１１から受け取ると、データベースに登録されている登録データと未分類登録データとを入れ替える。例えば、制御部１０の登録手段はレコード９３７「ディーブイディＡ」と項目９３３「メーラー」とから特定される「ＭＡＩＬ＿Ａ＿ｖ３」がクリックされた情報を受け取ると、登録データ「ＭＡＩＬ＿Ａ＿ｖ３」と未登録データ「ディーブイディＡ」とが入れ替える。
【００６７】
登録ボタン９４は、未分類の登録レコード９３７及び９３８を該当する項目に登録する指示を制御部１０の登録手段に送信するためのボタンである。制御部１０の登録手段は未分類の登録レコード９３７および９３８と項目９３１乃至９３６により特定される登録ボタン９４を押下された情報について入力部１１を介して受け取ると、登録ボタン９４が対応する項目に対応するデータベース１４のデータ領域に未分類の登録データを登録する。登録ボタン９４は、図５のＳ２８にてデータベース１４に登録された登録レコード６３の内、該当するデータが無かった項目に表示される。
【００６８】
破棄ボタン９５は、未分類の登録レコード９３７及び９３８毎に付されるボタンである。制御部１０の登録手段は、破棄ボタン９４が押下された情報を受け取ると、破棄ボタン９４に対応する未分類の登録データを破棄する。更新ボタン９６は、データベース１４のレコード２８の更新を指示するボタンである。
【００６９】
図５の説明に戻る。制御部１０の登録手段は、更新ボタン９６が押下された情報を受け取ると、入れ替え、登録および破棄を反映したレコードによってデータベース１４内の対応するレコードを更新する（Ｓ３０）。
【００７０】
以上で登録レコード３１をデータベース１４に登録する一連の処理が完了する。
【００７１】
次に登録装置１のハードウェア構成について説明する。図１５は、登録装置１のハードウェア構成図である。
【００７２】
図１に示す登録装置１はコンピュータ１００である。コンピュータ１００は、ＣＰＵ１０１、メモリ１０２、入力手段１０３、出力手段１０４、記憶手段１０５を有し、これらがバス１０７に接続された構成となっている。
【００７３】
メモリ１０２は、コンピュータが読み取り可能な記憶媒体である。メモリ１０２は、例えば、データベース１４に記憶する登録レコード情報、取得プログラム１５並びに演算プログラム１６並びに登録プログラム１７の実行のための情報、取得手段並びに演算手段並びに登録手段による処理の最中に発生する一時情報等である。コンピュータが読み取り可能な記憶媒体は、例えば、メモリ、ハードディスクである。
【００７４】
記憶手段１０５は、データベース１４及び記憶部１３の取得プログラム１５並びに演算プログラム１６並びに登録プログラム１７を記憶するコンピュータが読み取り可能な記憶媒体である。コンピュータが読み取り可能な記憶媒体は、例えば、メモリ、ハードディスクである。
【００７５】
ＣＰＵ１０１は、コンピュータ１００全体を制御する中央処理装置である。
【００７６】
ＣＰＵ１０１は、記憶部１０３からメモリ１０２に取得プログラム１５、演算プログラム１６および登録プログラム１７を読み出す。ＣＰＵ１０１は読み出した各プログラムによって登録装置１の制御部１０取得手段、演算手段および登録手段として機能する。
【００７７】
入力手段１０３は、例えばキーボード、マウス、タッチパネル等である。
【００７８】
出力部１０４は、表示装置であり、例えばディスプレイである。
【００７９】
以上、本発明の実施例について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の要旨を逸脱しない範囲において、各種の改良及び変更を行っても良い。
（付記１）
データを分類する複数の項目を有し、該項目に対応するデータの集合により構成されるレコードが記憶されたデータベースへの登録データを登録するデータ登録方法であって、
コンピュータが、
登録対象となる前記登録データを取得し、
前記データベースの各項目と各データレコードとから特定される前記データ毎に前記登録データとの相関値を求め、
前記相関値に対応する前記データと当該データが属する前記項目とから該相関値に応じた前記登録データを登録する前記項目の候補を求め、該項目の候補に対応するデータ格納領域に該登録データを登録する
ことを特徴とするデータ登録方法。
（付記２）
前記コンピュータは、前記相関値を取得するときに登録対象となる登録データを複数有する登録レコードを取得し、前記相関値を求めるときに前記データベースの前記データ毎と前記登録レコードの前記登録データ毎との相関値を求めることを特徴とする付記１記載のデータ登録方法。
（付記３）
前記コンピュータは、前記項目に対応するデータに格納された文字列と前記登録データの文字列との間で共通する文字数の登録データの全文字数の割合により前記相関値を求めることを特徴とする付記１記載のデータ登録方法。
（付記４）
前記コンピュータは、
複数のデータレコードを有するデータベースにおいて、
前記データレコード毎に前記相関値の総和を前記項目毎に求め、当該項目毎の相関値の総和が最大となる前期データベースの項目に前記登録データを登録することを特徴とする付記１記載のデータ登録方法。
（付記５）
前記コンピュータは、前記相関値が所定値以上の場合にのみ総和の対象とすることを特徴とする付記４記載のデータ登録方法。
【図面の簡単な説明】
【００８０】
【図１】図１は、本実施例の登録装置１の構成図である。
【図２】図２は、データベース１４の構成図である。
【図３】図３は、データベース１４に登録する対象となる登録レコード３１のデータ構成図である。
【図４】図４は、登録レコード３１をデータベース１４に登録するフローチャート（１）である。
【図５】図５は、登録レコード３１をデータベース１４に登録するフローチャート（２）である。
【図６】図６は、登録レコード３１の登録画面８０である。
【図７】図７は、相関テーブル５０のデータ構成図である。
【図８】図８は、相関値の算出処理のフローチャート（１）である。
【図９】図９は、相関値の算出処理のフローチャート（２）である。
【図１０】図１０は、相関値配分テーブル１１０のデータ構成図である。
【図１１】図１１は、比較対象文字列ＣＬの設定と相関率の状態図である。
【図１２】図１２は、再配置後の登録レコード３１のデータ構成図である。
【図１３】図１３は、登録レコード６３をデータベース１４に登録した後のデータベース１４の構成図である。
【図１４】図１４は、未分類登録データ登録画面９０である。
【図１５】図１５は、登録装置１のハードウェア構成図である。
【符号の説明】
【００８１】
１  登録装置
１０  制御部
１１  入力部
１２  出力部
１３  記憶部
１４  データベース
１５  取得プログラム
１６  演算プログラム
１７  登録プログラム
３１  登録レコード
５０  相関テーブル
６３  登録レコード
８０  登録レコードの登録画面
９０  未分類登録データ登録画面
１００  コンピュータ
１０１  ＣＰＵ
１０２  メモリ
１０３  入力手段
１０４  出力手段
１０５  記憶手段
１０７  バス
１１０  相関値配分テーブル
【図１】
2008077153.tif 000003
【図２】
2008077153.tif 000004
【図３】
2008077153.tif 000005
【図４】
2008077153.tif 000006
【図５】
2008077153.tif 000007
【図６】
2008077153.tif 000008
【図７】
2008077153.tif 000009
【図８】
2008077153.tif 000010
【図９】
2008077153.tif 000011
【図１０】
2008077153.tif 000012
【図１１】
2008077153.tif 000013
【図１２】
2008077153.tif 000014
【図１３】
2008077153.tif 000015
【図１４】
2008077153.tif 000016
【図１５】
2008077153.tif 000017