(57)【要約】【課題】１つの文字に対する表現方法が複数存在するUNICODE等のコード体系で表されたデータを検索する場合、ユーザの希望にあった検索結果を得られるようにする。【解決手段】合成文字や互換文字を含む登録データであって、正規化された検索キーによっても検索可能にする登録データについては、登録データ中のキー項目を正規化して検索部６に登録し、検索不可能にしたい登録データについては、キー項目をそのまま索引部６に登録しておく。データの検索時、ユーザは、検索キーとキー項目が一致するデータのみを検索したい場合は、オプション指定部３に対して正規化処理を行わないことを指定した後、検索キーを入力し、正規化した検索キーとキー項目が一致するデータも検索したい場合には、正規化処理を行うことを指定した後、検索キーを入力する。検索手段８は、検索キー或いは正規化された検索キーを用いて検索を行う。【選択図】図１
2008243151.tif 000002
【特許請求の範囲】
【請求項１】
データ記憶部と、
該データ記憶部の索引部と、
正規化処理を行うか否かを指定する指定手段と、
登録データを入力する登録データ入力部と、
検索キーを入力する検索キー入力部と、
入力された登録データを前記データ記憶部に登録すると共に、入力されたキー項目を前記索引部に登録する登録手段と、
入力された検索キーで前記索引部を検索して前記データ記憶部から該当するデータを取得する検索手段と、
前記登録データ入力部から入力された登録データと該登録データ中のキー項目とを前記登録手段に入力すると共に、前記検索キー入力部から入力された検索キーを前記検索手段に入力するデータ処理部であって、前記指定手段の指定に従って前記入力するキー項目及び検索キーの正規化処理を行うデータ処理部とを備えたことを特徴とするデータ管理装置。
【請求項２】
データ記憶部と、
該データ記憶部の索引部と、
正規化処理を行うか否かを指定する指定手段と、
登録データを入力する登録データ入力部と、
入力された登録データを前記データ記憶部に登録すると共に、入力されたキー項目を前記索引部に登録する登録手段と、
前記登録データ入力部から入力された登録データと該登録データ中のキー項目とを前記登録手段に入力するデータ処理部であって、前記指定手段の指定に従って前記入力するキー項目の正規化処理を行うデータ処理部とを備えたことを特徴とするデータ管理装置。
【請求項３】
データ記憶部と、
該データ記憶部の索引部と、
正規化処理を行うか否かを指定する指定手段と、
検索キーを入力する検索キー入力部と、
入力された検索キーで前記索引部を検索して前記データ記憶部から該当するデータを取得する検索手段と、
前記検索キー入力部から入力された検索キーを前記検索手段に入力するデータ処理部であって、前記指定手段の指定に従って前記入力する検索キーの正規化処理を行うデータ処理部とを備えたことを特徴とするデータ管理装置。
【請求項４】
請求項１乃至３の何れか１項に記載のデータ管理装置において、
前記データ処理部は、複数種類の正規化処理を行うことが可能であり、
前記指定手段は、正規化処理を行うことを指定する際には、実行する正規化処理の種別を指定することを特徴とするデータ管理装置。
【請求項５】
請求項４記載のデータ管理装置において、
前記登録データおよび前記検索キーはＵＮＩＣＯＤＥで表されたものであり、
前記データ処理部は、入力データ中の結合文字列を合成済み文字に変換することにより前記入力データを正規化する第１の正規化処理と、入力データ中の互換文字を該互換文字について予め定められている文字に変換することにより前記入力データを正規化する第２の正規化処理とを実行可能であることを特徴とするデータ管理装置。
【請求項６】
請求項５記載のデータ管理装置において、
前記データ処理部は、合成済み文字を基底文字とした正規化処理を行うことを特徴とするデータ管理装置。
【請求項７】
データ記憶部と、該データ記憶部の索引部と、正規化処理を行うか否かを指定する指定手段と、登録データを入力する登録データ入力部と、検索キーを入力する検索キー入力部とを備えたコンピュータによってデータ管理を行うデータ管理方法であって、
前記コンピュータが、入力された登録データを前記データ記憶部に登録すると共に、入力されたキー項目を前記索引部に登録する登録ステップと、
前記コンピュータが、入力された検索キーで前記索引部を検索して前記データ記憶部から該当するデータを取得する検索ステップと、
前記コンピュータが、前記登録データ入力部から入力された登録データと該登録データ中のキー項目とを前記登録ステップに入力すると共に、前記検索キー入力部から入力された検索キーを前記検索ステップに入力するデータ処理ステップであって、前記指定手段の指定に従って前記入力するキー項目及び検索キーの正規化処理を行うデータ処理ステップとを含むことを特徴とするデータ管理方法。
【請求項８】
データ記憶部と、該データ記憶部の索引部と、正規化処理を行うか否かを指定する指定手段と、登録データを入力する登録データ入力部とを備えたコンピュータによってデータ管理を行うデータ管理方法であって、
前記コンピュータが、入力された登録データを前記データ記憶部に登録すると共に、入力されたキー項目を前記索引部に登録する登録ステップと、
前記コンピュータが、前記登録データ入力部から入力された登録データと該登録データ中のキー項目とを前記登録ステップに入力するデータ処理ステップであって、前記指定手段の指定に従って前記入力するキー項目の正規化処理を行うデータ処理ステップとを含むことを特徴とするデータ管理方法。
【請求項９】
データ記憶部と、該データ記憶部の索引部と、正規化処理を行うか否かを指定する指定手段と、検索キーを入力する検索キー入力部とを備えたコンピュータによってデータ管理を行うデータ管理方法であって、
前記コンピュータが、入力された検索キーで前記索引部を検索して前記データ記憶部から該当するデータを取得する検索ステップと、
前記コンピュータが、前記検索キー入力部から入力された検索キーを前記検索ステップに入力するデータ処理ステップであって、前記指定手段の指定に従って前記入力する検索キーの正規化処理を行うデータ処理ステップを含むことを特徴とするデータ管理方法。
【請求項１０】
データ記憶部と、該データ記憶部の索引部と、正規化処理を行うか否かを指定する指定手段と、登録データを入力する登録データ入力部と、検索キーを入力する検索キー入力部とを備えたコンピュータを、
入力された登録データを前記データ記憶部に登録すると共に、入力されたキー項目を前記索引部に登録する登録手段、
入力された検索キーで前記索引部を検索して前記データ記憶部から該当するデータを取得する検索手段、
前記登録データ入力部から入力された登録データと該登録データ中のキー項目とを前記登録手段に入力すると共に、前記検索キー入力部から入力された検索キーを前記検索手段に入力するデータ処理部であって、前記指定手段の指定に従って前記入力するキー項目及び検索キーの正規化処理を行うデータ処理部として機能させるためのプログラム。
【請求項１１】
データ記憶部と、該データ記憶部の索引部と、正規化処理を行うか否かを指定する指定手段と、登録データを入力する登録データ入力部とを備えたコンピュータを、
入力された登録データを前記データ記憶部に登録すると共に、入力されたキー項目を前記索引部に登録する登録手段、
前記登録データ入力部から入力された登録データと該登録データ中のキー項目とを前記登録手段に入力するデータ処理部であって、前記指定手段の指定に従って前記入力するキー項目の正規化処理を行うデータ処理部として機能させるためのプログラム。
【請求項１２】
データ記憶部と、該データ記憶部の索引部と、正規化処理を行うか否かを指定する指定手段と、検索キーを入力する検索キー入力部とを備えたコンピュータを、
入力された検索キーで前記索引部を検索して前記データ記憶部から該当するデータを取得する検索手段、
前記検索キー入力部から入力された検索キーを前記検索手段に入力するデータ処理部であって、前記指定手段の指定に従って前記入力する検索キーの正規化処理を行うデータ処理部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１つの文字に対する表現方法が複数存在するＵＮＩＣＯＤＥ等のコード体系で表されたデータを管理するデータ管理技術に関し、特に、融通性に富んだデータ検索を行うことができるデータ管理技術に関する。
【背景技術】
【０００２】
従来からＪＩＳコード、ＥＵＣコード、ＵＮＩＣＯＤＥなど様々な文字コードが利用されている。ＪＩＳコード、ＥＵＣコードは、１つの文字に対して１つの文字コードが割り当てられているため、データベース等に登録されているデータの集合から特定のデータを検索する場合には、検索キーと同じ文字コードを有するデータを検索すれば良い。
【０００３】
しかし、ＵＮＩＣＯＤＥでは、合成文字、置換文字といった概念が導入されているため、単に文字コードの比較を行うだけでは、希望するデータを検索できない場合がある。ＵＮＩＣＯＤＥでは、仮名の濁音・半濁音を表すのに、合成済み文字(precomposed character)でも、結合文字列(combining character sequence)でも良いことになっている（合成文字）。また、ＵＮＩＣＯＤＥでは、「Ａ」（全角文字）と「A」（半角文字）、「℃」と「°＋Ｃ」など、異なる文字を同一の文字とみなす場合がある（互換文字）。このため、ＵＮＩＣＯＤＥによって表されたデータを検索する場合には、単に、文字コードの比較を行うだけでは、目的とするデータを検索できない場合がある。例えば、データとして文字列「か＋か＋゛＋み」が登録されている場合、検索キーとして「か＋が＋み」を入力したのでは、上記文字列を検索することはできない。また、半角の文字列「NIHON」が登録されているときに、全角の検索キー「ＮＩＨＯＮ」を入力したのでは、上記文字列を検索することはできない。なお、結合文字列とは、基底文字(base character）の後ろに１以上の結合文字を続けた列のことである。
【０００４】
一方、データの登録時および検索時に、登録データおよび検索キーの正規化を行うデータ管理装置が従来から提案されてる（例えば、特許文献１参照）。特許文献１に記載されている従来の技術では、データ登録時、登録データを予め定められた正規化ルール（全角英大文字は半角英小文字に変換、半角平仮名は全角平仮名に変換など）に従って正規化し、正規化後の正規化登録データと元の登録データ（原登録データ）とを対応付けてデータ記憶部に格納するようにしている。また、データ検索時には、検索キーを上記正規化ルールに従って正規化し、正規化後の正規化検索キーを使用して、該当する原登録データを検索するようにしている。
【０００５】
【特許文献１】特開２００１−１２５９１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載されている従来の技術を利用して、ＵＮＩＣＯＤＥで表されているデータを管理するようにすれば、登録データと検索キーとが異なる表現形式であっても、実質的に同一なデータは検索することができる。例えば、登録データ「か＋か＋゛＋み」を検索キー「か＋が＋み」によっても検索することできる。しかし、特許文献１では、常に検索キーを正規化するようにしているので、ユーザが検索したいデータ以外のデータも検索されてしまう場合があるという問題があった。例えば、ユーザが半角文字列「NIHON」だけを検索したいのに、全角文字列「ＮＩＨＯＮ」も検索されてしまうという問題がある。
【０００７】
〔発明の目的〕
そこで、本発明の目的は、１つの文字に対する表現方法が複数存在するＵＮＩＣＯＤＥ等のコード体系で表されたデータを検索する場合、ユーザの希望にあった検索結果を得られるようにすることにある。
【課題を解決するための手段】
【０００８】
本発明にかかる第１のデータ管理装置は、
データ記憶部と、
該データ記憶部の索引部と、
正規化処理を行うか否かを指定する指定手段と、
登録データを入力する登録データ入力部と、
検索キーを入力する検索キー入力部と、
入力された登録データを前記データ記憶部に登録すると共に、入力されたキー項目を前記索引部に登録する登録手段と、
入力された検索キーで前記索引部を検索して前記データ記憶部から該当するデータを取得する検索手段と、
前記登録データ入力部から入力された登録データと該登録データ中のキー項目とを前記登録手段に入力すると共に、前記検索キー入力部から入力された検索キーを前記検索手段に入力するデータ処理部であって、前記指定手段の指定に従って前記入力するキー項目及び検索キーの正規化処理を行うデータ処理部とを備えたことを特徴とする。
【０００９】
本発明にかかる第２のデータ管理装置は、
データ記憶部と、
該データ記憶部の索引部と、
正規化処理を行うか否かを指定する指定手段と、
登録データを入力する登録データ入力部と、
入力された登録データを前記データ記憶部に登録すると共に、入力されたキー項目を前記索引部に登録する登録手段と、
前記登録データ入力部から入力された登録データと該登録データ中のキー項目とを前記登録手段に入力するデータ処理部であって、前記指定手段の指定に従って前記入力するキー項目の正規化処理を行うデータ処理部とを備えたことを特徴とする。
【００１０】
本発明にかかる第３のデータ管理装置は、
データ記憶部と、
該データ記憶部の索引部と、
正規化処理を行うか否かを指定する指定手段と、
検索キーを入力する検索キー入力部と、
入力された検索キーで前記索引部を検索して前記データ記憶部から該当するデータを取得する検索手段と、
前記検索キー入力部から入力された検索キーを前記検索手段に入力するデータ処理部であって、前記指定手段の指定に従って前記入力する検索キーの正規化処理を行うデータ処理部とを備えたことを特徴とする。
【００１１】
本発明にかかる第４のデータ管理装置は、第１〜第３の何れかのデータ管理装置において、
前記データ処理部は、複数種類の正規化処理を行うことが可能であり、
前記指定手段は、正規化処理を行うことを指定する際には、実行する正規化処理の種別を指定することを特徴とする。
【００１２】
本発明にかかる第５のデータ管理装置は、第４のデータ管理装置において、
前記登録データおよび前記検索キーはＵＮＩＣＯＤＥで表されたものであり、
前記データ処理部は、入力データ中の結合文字列を合成済み文字に変換することにより前記入力データを正規化する第１の正規化処理と、入力データ中の互換文字を該互換文字について予め定められている文字に変換することにより前記入力データを正規化する第２の正規化処理とを実行可能であることを特徴とする。
【００１３】
本発明にかかる第６のデータ管理装置は、第５のデータ管理装置において、
前記データ処理部は、合成済み文字を基底文字とした正規化処理を行うことを特徴とする。
【００１４】
本発明にかかる第１のデータ管理方法は、
データ記憶部と、該データ記憶部の索引部と、正規化処理を行うか否かを指定する指定手段と、登録データを入力する登録データ入力部と、検索キーを入力する検索キー入力部とを備えたコンピュータによってデータ管理を行うデータ管理方法であって、
前記コンピュータが、入力された登録データを前記データ記憶部に登録すると共に、入力されたキー項目を前記索引部に登録する登録ステップと、
前記コンピュータが、入力された検索キーで前記索引部を検索して前記データ記憶部から該当するデータを取得する検索ステップと、
前記コンピュータが、前記登録データ入力部から入力された登録データと該登録データ中のキー項目とを前記登録ステップに入力すると共に、前記検索キー入力部から入力された検索キーを前記検索ステップに入力するデータ処理ステップであって、前記指定手段の指定に従って前記入力するキー項目及び検索キーの正規化処理を行うデータ処理ステップとを含むことを特徴とする。
【００１５】
本発明にかかる第２のデータ管理方法は、
データ記憶部と、該データ記憶部の索引部と、正規化処理を行うか否かを指定する指定手段と、登録データを入力する登録データ入力部とを備えたコンピュータによってデータ管理を行うデータ管理方法であって、
前記コンピュータが、入力された登録データを前記データ記憶部に登録すると共に、入力されたキー項目を前記索引部に登録する登録ステップと、
前記コンピュータが、前記登録データ入力部から入力された登録データと該登録データ中のキー項目とを前記登録ステップに入力するデータ処理ステップであって、前記指定手段の指定に従って前記入力するキー項目の正規化処理を行うデータ処理ステップとを含むことを特徴とする。
【００１６】
本発明にかかる第３のデータ管理方法は、
データ記憶部と、該データ記憶部の索引部と、正規化処理を行うか否かを指定する指定手段と、検索キーを入力する検索キー入力部とを備えたコンピュータによってデータ管理を行うデータ管理方法であって、
前記コンピュータが、入力された検索キーで前記索引部を検索して前記データ記憶部から該当するデータを取得する検索ステップと、
前記コンピュータが、前記検索キー入力部から入力された検索キーを前記検索ステップに入力するデータ処理ステップであって、前記指定手段の指定に従って前記入力する検索キーの正規化処理を行うデータ処理ステップとを含むことを特徴とする。
【００１７】
本発明にかかる第１のプログラムは、
データ記憶部と、該データ記憶部の索引部と、正規化処理を行うか否かを指定する指定手段と、登録データを入力する登録データ入力部と、検索キーを入力する検索キー入力部とを備えたコンピュータを、
入力された登録データを前記データ記憶部に登録すると共に、入力されたキー項目を前記索引部に登録する登録手段、
入力された検索キーで前記索引部を検索して前記データ記憶部から該当するデータを取得する検索手段、
前記登録データ入力部から入力された登録データと該登録データ中のキー項目とを前記登録手段に入力すると共に、前記検索キー入力部から入力された検索キーを前記検索手段に入力するデータ処理部であって、前記指定手段の指定に従って前記入力するキー項目及び検索キーの正規化処理を行うデータ処理部として機能させる。
【００１８】
本発明にかかる第２のプログラムは、
データ記憶部と、該データ記憶部の索引部と、正規化処理を行うか否かを指定する指定手段と、登録データを入力する登録データ入力部とを備えたコンピュータを、
入力された登録データを前記データ記憶部に登録すると共に、入力されたキー項目を前記索引部に登録する登録手段、
前記登録データ入力部から入力された登録データと該登録データ中のキー項目とを前記登録手段に入力するデータ処理部であって、前記指定手段の指定に従って前記入力するキー項目の正規化処理を行うデータ処理部として機能させる。
【００１９】
本発明にかかる第３のプログラムは、
データ記憶部と、該データ記憶部の索引部と、正規化処理を行うか否かを指定する指定手段と、検索キーを入力する検索キー入力部とを備えたコンピュータを、
入力された検索キーで前記索引部を検索して前記データ記憶部から該当するデータを取得する検索手段、
前記検索キー入力部から入力された検索キーを前記検索手段に入力するデータ処理部であって、前記指定手段の指定に従って前記入力する検索キーの正規化処理を行うデータ処理部として機能させる。
【００２０】
〔作用〕
ユーザは、合成文字や互換文字を含む登録データを登録する際、正規化された検索キーによっても上記登録データを検索可能にしたい場合には、指定手段を用いて正規化処理を行うことを指定しておく。これに対して、正規化された検索キーでは検索不可能にしたい場合には、指定手段を用いて正規化処理を行わないことを指定しておく。
【００２１】
その後、ユーザは、登録データを登録データ入力部から入力する。データ処理部は、入力された登録データと、登録データ中のキー項目とを登録手段に入力する。その際、指定手段によって正規化処理を行うことが指定されていれば、キー項目を正規化してから登録手段に入力する。
【００２２】
ユーザは、合成文字や置換文字を含む検索キーを用いてデータ検索を行う際、上記検索キーと一致するものだけを検索したい場合には、指定手段を用いて正規化処理を行わないことを指定しておく。これに対して、検索キーと実質的に一致するものも検索したい場合は、指定手段を用いて正規化処理を行うことを指定しておく。
【００２３】
その後、ユーザは、検索キー入力部から検索キーを入力する。データ処理部は、入力された検索キーを検索手段に入力する。その際、指定手段によって正規化することが指定されていれば、検索キーを正規化してから検索手段に渡し、正規化することが指定されていない場合は、検索キーをそのまま検索手段に渡す。検索手段は、入力された検索キーで索引部を検索してデータ記憶部から該当するデータを取得する。
【発明の効果】
【００２４】
本発明によれば、１つの文字に対する表現方法が複数存在するＵＮＩＣＯＤＥ等のコード体系で表されたデータを検索する場合、ユーザの希望にあった検索結果を得ることが可能になる。その理由は、索引部に登録するキー項目（索引キー）や検索キーを正規化するか否かを指定する指定手段を備えているからである。即ち、合成文字や互換文字をどう扱うか（一致と判定するか、あるいは不一致と判定するか）をユーザが自由に設定することができるので、ユーザの希望にあった検索結果を得ることが可能になる。
【発明を実施するための最良の形態】
【００２５】
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
【００２６】
図１を参照すると、本発明にかかるデータ管理装置の実施の形態は、ＵＮＩＣＯＤＥデータ処理部１と、登録データ入力部２と、オプション指定部３と、検索キー入力部４と、登録手段５と、索引部６と、データ記憶部７と、検索手段８とから構成されている。
【００２７】
登録データ入力部２は、キーボードやデータ読み取り装置などによって実現されるものであり、データ記憶部７に格納する登録データを入力する。この登録データには、キー項目（索引キー）が含まれる。
【００２８】
検索キー入力部４は、検索キーを入力するものであり、キーボード等によって実現される。
【００２９】
オプション指定部３は、ＵＮＩＣＯＤＥデータ処理部１を第１〜第４オプションの内の何れのオプションで動作させるのかを指定するものであり、例えば、第１〜第４オプションに対応した４つの状態をとることができるスイッチ等によって実現される。
【００３０】
ユーザは、ＵＮＩＣＯＤＥデータ処理部１に正規化処理を行わせたくない場合には、第１オプションを指定する。また、合成文字を同一文字とみなすための正規化処理（ＮＦＣ正規化処理）を行わせたい場合は第２オプションを、互換文字を同一文字とみなすための正規化処理（ＮＦＫＣ正規化処理）を行わせたい場合は第３オプションを、ＮＦＣ正規化処理およびＮＦＫＣ正規化処理の両方を行わせたい場合は第４オプションを指定する。
【００３１】
ＵＮＩＣＯＤＥデータ処理部１は、入力処理切り換え手段１１と、キー項目正規化手段１２と、正規化処理表１３と、検索処理切り換え手段１４と、検索キー正規化手段１５とを含んでいる。
【００３２】
正規化処理表１３には、ＵＮＩＣＯＤＥによって表されたデータを正規化するためのルールが登録されている。このルールは、「合成処理、互換処理を繰り返して最終的に得られる一意の文字に変換する」といったポリシーに従っている。
【００３３】
図２は、正規化処理表１３の内容例を示す図である。文字コード２０１には、各文字のコードが設定される。文字名２０２には、それぞれの文字に対して割り当てられた一意の名前が参考情報として設定される。合成・互換２０３には、その文字とそれに続く文字を用いてある合成文字を構成することができれば「合成」、その文字に対する互換文字が割り当てられていれば「互換」が設定される。合成１（２０４）、合成２（２０５）、合成３（２０６）には、合成文字を構成する場合にその文字に続く文字が設定される。変換後の文字コード２０７には、合成あるいは互換後の文字コードが設定される。
【００３４】
入力処理切り換え手段１１は、登録データ入力部２から入力された登録データを登録手段５及びキー項目正規化手段１２に渡し、オプション指定部３により指定されているオプション種別をキー項目正規化手段１２に渡す。
【００３５】
キー項目正規化手段１２は、入力処理切り換え手段１１から渡されたオプション種別が第２〜第４オプションである場合は、登録データ中のキー項目を、正規化処理表１３に従って正規化し、正規化結果を登録手段５に渡す。その際、オプション種別「第２オプション」が指定されている場合には、ＮＦＣ正規化処理を行い、オプション種別「第３オプション」が指定されている場合にはＮＦＫＣ正規化処理を行い、第４オプションが指定されている場合には、ＮＦＣ正規化処理とＮＦＫＣ正規化処理の両方を行う。また、入力処理切り換え手段１１から渡されたオプション種別が第１オプションである場合は、登録データ中のキー項目を登録手段５に渡す。
【００３６】
検索処理切り換え手段１４は、オプション指定部３によって第１オプションが指定されている場合には、検索キー入力部４から入力された検索キーを検索手段８に渡す。また、オプション指定部３によって第２〜第４オプションが指定されている場合には、検索キー入力部４から入力された検索キーおよびオプション指定部３によって指定されているオプション種別を検索キー正規化手段１５に渡す。
【００３７】
検索キー正規化手段１５は、検索キー入力部４から入力された検索キーを、正規化処理表１３に従って正規化し、正規化結果を検索手段８に渡す。その際、検索キーと共にオプション種別「第２オプション」が渡されている場合には、ＮＦＣ正規化処理を行い、オプション種別「第３オプション」が渡されている場合にはＮＦＫＣ正規化処理を行い、第４オプションが渡されている場合には、ＮＦＣ正規化処理とＮＦＫＣ正規化処理の両方を行う。
【００３８】
登録手段５は、入力処理切り換え手段１１から渡された登録データをデータ記憶部７に登録し、キー項目正規化手段１２から渡されたキー項目を索引部６に登録し、キー項目から登録データへのポインタを設定する。
【００３９】
検索手段８は、検索処理切り換え手段１４から検索キーが入力された場合には、索引部６に上記検索キーに対応して設定されているポインタに従ってデータ記憶部７から該当するデータを検索し、検索結果を要求元に返却する。また、検索キー正規化手段１５から正規化された検索キー（正規化検索キー）が入力された場合には、索引部６に上記正規化検索キーに対応して設定されているポインタに従ってデータ記憶部７から該当するデータを検索し、検索結果を要求元に返却する。
【００４０】
なお、本実施の形態のデータ管理装置は、コンピュータによって実現可能であり、コンピュータによって実現する場合は、例えば、次のようにする。コンピュータをデータ管理装置として機能させるためのプログラムを記録したディスク、半導体メモリ、その他の記録媒体を用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上に、ＵＮＩＣＯＤＥデータ処理部１、登録手段５、検索手段８を実現する。
【００４１】
〔実施の形態の動作の説明〕
次に、本実施の形態の動作について詳細に説明する。
【００４２】
〔データ登録時の動作〕
先ず、データ登録時の動作について説明する。
【００４３】
ユーザは、登録データの登録時、先ず、オプション指定部３を用いてオプション種別を指定する。即ち、ユーザは、合成文字や互換文字を含む登録データの登録時、ＮＦＣ正規化された検索キーによっても登録データを検索可能にする場合には、オプション指定部３を用いて第２オプションを指定し、ＮＦＫＣ正規化された検索キーによっても登録データを検索可能にする場合には、第３オプションを指定し、ＮＦＣ正規化およびＮＦＫＣ正規化の両方の処理方法で正規化を行った検索キーによっても登録データを検索可能にする場合には、第４オプションを指定する。また、正規化された検索キーでは、検索不可能にする場合は、第１オプションを指定する。その後、ユーザは、登録データ入力部２を用いて登録データを入力する。
【００４４】
入力処理切り換え手段１１は、登録データ入力部２から登録データが入力されると、図３のフローチャートに示すように、登録データを登録手段５及びキー項目正規化手段１２に渡すと共に、オプション指定部３によって指定されているオプション種別をキー項目正規化手段１２に渡す（ステップＳ３１）。
【００４５】
キー項目正規化手段１２は、入力処理切り換え手段１１から渡されたオプション種別に応じて、次のような処理を行う。
【００４６】
入力処理切り換え手段１１から渡されたオプション種別が第１オプションであった場合は、入力処理切り換え手段１１から渡された登録データ中のキー項目をそのまま出力する。
【００４７】
また、入力処理切り換え手段１１から渡されたオプション種別が第２オプション（ＮＦＣ正規化）であった場合は、図４のフローチャートに示す処理を行う。今、例えば、正規化処理表１３の内容が図２に示すものであり、入力処理切り換え手段１１から渡された登録データ中のキー項目が、図５（Ａ）に示すように「か＋か＋゛＋み」５０１であったとすると、次のような処理が行われる。
【００４８】
キー項目正規化手段１２は、先ず、キー項目の何文字目を注目文字にするのかを示す変数ｉの値を１にし（ステップＳ４１）、キー項目の第１番目の文字「か」に注目する（ステップＳ４２）。その後、注目文字から何文字目であるかを示す変数ｊの値を１にし（ステップＳ４４）、第１番目の文字「か」と第２番目の文字「か」とが合成可能であるか否かを、正規化処理表１３に参照して判定する（ステップＳ４５）。この場合、第１文字目「か」の文字コード「304B」に対応する合成・互換２０３は合成可能であることを示しているが、合成１〜３（２０４〜２０６）には第２番目の文字「か」の文字コードが設定されていないため、合成不可能と判定する(ステップＳ４５がＮＯ)。
【００４９】
第１番目の文字と第２番目の文字が合成できないと判定すると（ステップＳ４５がＮＯ）、キー項目正規化手段１２は、第１番目の文字「か」の文字コード「304B」を内部に保持し（ステップＳ４８）、第２番目の文字「か」に注目する（ステップＳ４９、Ｓ４２）。
【００５０】
その後、キー項目正規化手段１２は、第２番目の文字「か」と第３番目の文字「゛」が合成可能であるか否かを、正規化処理表１３を参照して判定する（ステップＳ４５）。この場合、第２番目の文字「か」に対応する合成・互換２０３は合成可能であることを示しており、且つ合成１（２０４）に第３文字目の文字コード「3099」が設定されているので、合成可能と判定する。
【００５１】
合成可能と判定すると（ステップＳ４５がＹＥＳ）、第２番目の文字「か」と第３番目の文字「゛」とを合成した文字「が」の文字コード「304C」を求め、それを注目中文字コードとする（ステップＳ４６）。その後、変数ｊをインクリメントし（ステップＳ４７）、注目中文字コード「304C」によって表される文字「が」と、第４番目の文字「み」が合成可能であるか否かを判定する（ステップＳ４５）。この場合、文字「が」（文字コード；304C）に対応する合成・互換203は、合成不可能であることを示しているので、合成不可能と判定する（ステップＳ４５がＮＯ）。
【００５２】
そして、合成不可能と判定すると、キー項目正規化手段１２は、注目中文字コードを内部に保持し（ステップＳ４８）、第４番目の文字に注目する（ステップＳ４９、Ｓ４２）。以下、キー項目正規化手段１２は、未注目の文字がなくなるまで、前述した処理と同様の処理を繰り返し行う。そして、未注目の文字がなくなると（ステップＳ４３がＹＥＳ）、内部に保持していた文字コード（正規化結果）を登録手段５に渡す（ステップＳ５０）。図５（Ｂ）に、この例の場合の正規化結果５０２を示す。
【００５３】
また、入力処理切り換え手段１１から渡されたオプション種別の値が第３オプション（ＮＦＫＣ正規化）であった場合には、図６のフローチャートに示す処理が行われる。今、例えば、正規化処理表１３の内容が図２に示すものであり、入力処理切り換え手段１１から渡された登録データ中のキー項目が図７に示す「ハ（半角）＋°（半角）＋ン（半角）」７０１であったとすると、次のような処理が行われる。
【００５４】
キー項目正規化手段１２は、先ず、キー項目の何文字目を注目文字にするのかを示す変数ｉの値を１にし（ステップＳ６１）、キー項目の第１番目の文字「ハ」（半角）に注目する（ステップＳ６２）。その後、文字「ハ」（半角）に対応する互換文字があるか否かを、正規化処理表１３を参照して調べ（ステップＳ６４）、互換文字がなければ注目文字の文字コードを保持し（ステップＳ６５）、互換文字があれば互換文字の文字コードを保持する（ステップＳ６６）。この例の場合、文字「ハ」（半角）に対応する合成・互換２０３は、互換可能であることを示し、且つ、変換後の文字コード３０７に「30CF」が設定されているので、正規化処理表１３は、互換文字の文字コード「30CF」を保持する。
【００５５】
その後、キー項目正規化手段１２は、変数ｉをインクリメントし（ステップＳ６７）、第２番目の文字「°」（半角）に注目する（ステップＳ６２）。以下、キー項目正規化手段１２は、未注目の文字がなくなるまで、前述した処理を繰り返し行う。そして、未注目の文字がなくなると、キー項目正規化手段１２は内部に保持していた文字コード（正規化結果）を登録手段５に渡す（ステップＳ６８）。この例における正規化結果は、図７の７０２に示すように「ハ」（全角）＋「°」（全角）＋「ン」（全角）となる。
【００５６】
また、入力処理切り換え手段１１から渡されたオプション種別の値が第４オプション（ＮＦＣ正規化とＮＦＫＣ正規化の両方）であった場合には、図８のフローチャートに示す処理が行われる。今、例えば、正規化処理表１３の内容が図２に示すものであり、入力処理切り換え手段１１から渡された登録データ中のキー項目が図７に示す「ハ（半角）＋°（半角）＋ン（半角）」７０１であったとすると、次のような処理が行われる。
【００５７】
キー項目正規化手段１２は、先ず、キー項目「ハ（半角）＋°（半角）＋ン（半角）」７０１に対して、図６のフローチャートに示した正規化処理（ＮＦＫＣ正規化処理）を行う（ステップＳ８１）。この結果、図７に示す正規化結果「ハ（全角）＋°（全角）＋ン（全角）」７０２が得られる。
【００５８】
その後、キー項目正規化手段１２は、正規化結果「ハ（全角）＋°（全角）＋ン（全角）」７０２に対して、図４のフローチャートに示した正規化処理（ＮＦＣ正規化処理）を行う（ステップＳ８２）。この結果、図７に示す正規化結果「パ（全角）＋ン（全角）」７０３が得られる。
【００５９】
そして、最後に、キー項目正規化手段１２は、登録手段５に正規化結果を渡す（ステップＳ８３）。
【００６０】
次に、登録手段５の動作を説明する。図９のフローチャートに示すように、登録手段５は、入力処理切り換え手段１１から登録データが渡され、キー項目正規化手段１２からキー項目が渡されると、登録データをデータ記憶部７に登録し、キー項目を索引部６に登録し、キー項目から登録データへのポインタを設定する（ステップＳ３１）。
【００６１】
〔検索時の動作〕
次に、検索時の動作について説明する。
【００６２】
ユーザは、検索時、先ず、検索の目的に応じたオプション種別をオプション指定部３を用いて指定する。即ち、検索キーをそのまま用いて検索を行いたい場合（検索キーと一致するものだけを検索したい場合）は、第１オプションを指定し、検索キーに対してＮＦＣ正規化を行った正規化検索キーを用いて検索を行いたい場合（ＮＦＣ正規化処理を行った検索キーと一致するものを検索したい場合）は、第２オプションを指定し、検索キーに対してＮＦＫＣ正規化を行った正規化検索キーを用いて検索を行いたい場合は、第３オプションを指定し、検索キーに対してＮＦＫＣ正規化処理およびＮＦＣ正規化処理を行った正規化検索キーを用いて検索を行いたい場合は第４オプションを指定する。その後、ユーザは、検索キー入力部４から検索キーを入力する。
【００６３】
ＵＮＩＣＯＤＥデータ処理部１内の検索処理切り換え手段１４は、検索キーが入力されると、図１０のフローチャートに示すように、オプション指定部３によって指定されているオプション種別が第１オプションであるか否かを判定する（ステップＳ１０１）。そして、第１オプションが指定されていると判定した場合（ステップＳ１０１がＹＥＳ）は、検索キーを検索手段８に渡す（ステップＳ１０２）。これに対して、第２〜第４オプションの内の何れかが指定されていると判定した場合（ステップＳ１０１がＮＯ）は、検索キーとオプション種別とを検索キー正規化手段１５に渡す（ステップＳ１０３）。
【００６４】
検索キー正規化手段１５は、検索処理切り換え手段１４から検索キーとオプション種別が渡されると、図１１のフローチャートに示すように、検索キーをオプション種別に応じて正規化する（ステップＳ１１１）。即ち、オプション種別の値が第２オプションであった場合には、図４のフローチャートに示す正規化処理と同様の処理を行い、第３オプションであった場合には、図６のフローチャートに示す正規化処理と同様の処理を行い、第４オプションであった場合には、図８のフローチャートに示す正規化処理と同様の処理を行う。その後、検索キー正規化手段１５は正規化した検索キーを検索手段８に渡す（ステップＳ１１２）。
【００６５】
検索手段８は、検索処理切り換え手段１４あるいは検索キー正規化手段１５から検索キーが渡されると、図１２のフローチャートに示すように、上記検索キーに対応付けて索引部６に設定されているポインタに従ってデータ記憶部７から該当するデータを検索し、検索結果を要求元に返却する（ステップＳ１２１、Ｓ１２２）。
【００６６】
なお、本実施の形態は、ＤＢＭＳ（データベース管理システム）に適用可能である。本実施の形態をＤＢＭＳに適用した場合には、登録データ入力部２からの登録データに入力は、ＳＱＬ文におけるＩＮＳＥＲＴ文、ＵＰＤＡＴＥ文によって実行されるデータ操作に対応し、検索キー入力部４からの検索キーの入力は、ＳＱＬ文におけるＳＥＬＥＣＴ文、ＵＰＤＡＴＥ文、ＤＥＬＥＴＥ文に対する検索条件の指定に対応する。
【００６７】
〔実施の形態の効果〕
本実施の形態によれば、１つの文字に対する表現方法が複数存在するＵＮＩＣＯＤＥ等のコード体系で表されたデータを検索する場合、ユーザの希望にあった検索結果を得ることが可能になる。その理由は、索引部６に登録するキー項目や、検索キーを正規化するか否かを指定するオプション指定部３を備えているからである。即ち、合成文字や互換文字をどう扱うか（一致と判定するか、あるいは不一致と判定するか）をユーザが自由に設定することができるので、ユーザに希望にあった検索結果を得ることが可能になる。
【００６８】
また、本実施の形態では、合成済み文字を基底文字とした正規化処理を行うようにしているので（合成ができなくなるまで、正規化処理を行うようにしているので）、索引部６に格納されるデータ量を少なくすることができる。
【産業上の利用可能性】
【００６９】
本発明は、１つの文字に対する表現方法が複数存在するＵＮＩＣＯＤＥ等のコード体系で表されたデータを管理するＤＢＭＳ等に適用すると好適である。
【図面の簡単な説明】
【００７０】
【図１】本発明にかかるデータ管理装置の実施の形態の構成例を示すブロック図である。
【図２】正規化処理表１３の内容例を示す図である。
【図３】入力処理切り換え手段１１の処理例を示すフローチャートである。
【図４】オプション種別として第２オプションが指定されたときの、キー項目正規化手段１２の処理例を示すフローチャートである。
【図５】キー項目正規化手段１２の処理を説明するための図である。
【図６】オプション種別として第３オプションが指定されたときの、キー項目正規化手段１２の処理例を示すフローチャートである。
【図７】キー項目正規化手段１２の処理を説明するための図である。
【図８】オプション種別として第４オプションが指定されたときの、キー項目正規化手段１２の処理例を示すフローチャートである。
【図９】登録手段５の処理例を示すフローチャートである。
【図１０】検索処理切り換え手段１４の処理例を示すフローチャートである。
【図１１】検索キー正規化手段１５の処理例を示すフローチャートである。
【図１２】検索手段８の処理例を示すフローチャートである。
【符号の説明】
【００７１】
１…ＵＮＩＣＯＤＥデータ処理部
１１…入力処理切り換え手段
１２…キー項目正規化手段
１３…正規化処理表
１４…検索処理切り換え手段
１５…検索キー正規化手段
２…登録データ入力部
３…オプション指定部
４…検索キー入力部
５…登録手段
６…索引部
７…データ記憶部
８…検索手段
【図１】
2008243151.tif 000003
【図２】
2008243151.tif 000004
【図３】
2008243151.tif 000005
【図４】
2008243151.tif 000006
【図５】
2008243151.tif 000007
【図６】
2008243151.tif 000008
【図７】
2008243151.tif 000009
【図８】
2008243151.tif 000010
【図９】
2008243151.tif 000011
【図１０】
2008243151.tif 000012
【図１１】
2008243151.tif 000013
【図１２】
2008243151.tif 000014