2015年3月2日月曜日

VB DB 文字データ ハンドリング (2) 漢字と読み [つぶやき]

データベースを作りたい。  でも、色々な、留意点がありますね。
我々、日本人には、漢字 があります。
でも、読めない字や読み方が分らない事も。
そして、登場するのが、 読み の登録ですね。  [つぶやき]


語句の読み方を正確に伝える為の 読み ですが、
50 音順(あいうえお順)に並べたり、検索(フィルター掛け)の要素(索引)として扱ったりと、大活躍です。

データベースには つきもの の 読み。

ルビを振る と言う言葉がありますが、本来は、読みは独立した要素ではありません。
データを扱う上で、便宜上、ひとつの項目で扱われますが、
名称や項目名の注釈的な役割である筈です。

登録 ID が、データを一意に決定する為に用いられる様に、
読みも、本来、 黒子であるべきなのかなぁ と思っています。
  だって、誰が読んでも全て読める項目の場合、そこに、読みの欄(列)を設ける事は少ないでしょうから。
  更に、読み で行の入れ替え(ソート)をする必要が無ければ、まず、読みの欄(列)は不要ですね。

とは言うものの、読み は、便利です。
漢字で表記された名称や項目名を一覧でソートして見れば、一目一目瞭然です。
そこには、意味の無い(文字のコード順に並び替えられた) 順番で表示されているデータ群があります。
読み の列でソートして、初めて、意味のある並びになります。  50 音順(あいうえお順)。



では、項目と読みとが共存するデータベースでの検索(フィルター処理)を考えましょう。


簡単に対処するには、 どの列を対象にするか選択させ、適切な語句を入れてもらう でしょうね。


でも、待って下さい。
漢字 と ひらがな のみ とでは、区別する方法があるんじゃぁ ないの。

そうです。
漢字が入っていないなら 読み の列、 1文字でも漢字があれば 項目(漢字表記) の列 を、プログラムが選択すれば済みますね。
つまり、ひとつの検索用の語句入力で、ふたつの列 を対象にした、検索(フィルター処理)が可能になります。

以下のページにヒント(具体的なコーディング方法)が説明されています。
     
    文字がひらがなか、カタカナか、漢字か、英数字か調べる  Dobon Net


尚、限定されてしまいますが、
文字が日本語だけで 尚且つ 漢字が U+3200 以降 と決め付けてしまえば(例外あり)、
項目と読みとの判別は、 もっと、簡単な判断基準にする事も出来ますね。  U+3200 以降の文字が含まれれば、読みではなく項目。.
勿論、上の方法は 全角文字 によるルビ で、半角カタカナ U+FF65 ~ U+FF9F の場合は、また、別ですが。


更に、データ入力時に、 何も、項目(漢字表記) の全てに 読み を振る必要がないかも知れません。
例えば、最初の数文字分で済ませるとか、整数値に置き換えるとか、  臨機応変に考えてもいい気がしています。



0 件のコメント:

コメントを投稿