画期的な、データベースのリファクタリングツール

XEAD Editorがバージョンアップ2012.07.11版し、
PostgreSQLへの対応が向上しました。

データベースの論理名と物理名両方に漢字を使えるようになりました。
たぶん高額なツールでも対応していないはず。
そんな必要がないと考えられているからだ。

物理名は半角英数のローマ字、論理名は全角の日本語という形式から、

物理名も論理名も両方同じ文字を漢字で設定できます。



データベースを設計する際に、概念・論理・物理名の置換が発生する。

もともと、データベースのフィールド名に漢字などのマルチバイトコードを
使うことができなかったため、trn売上伝票、顧客マスタ、などと判り易い名前付けができず。
trn_uriage_denpyou、mst_kokyakuなどとASCII文字に変換してフィールド名をつける。

この場合、trn売上伝票を論理名、trn_uriage_denpyouが物理名である。

基幹業務を開発する現場では、この置換をツール等を使用して意識することなく
開発できるため、何の疑問も持たず、論理名、物理名を使い分けてきた。


一方、パソコンユーザーは早い時期からテーブル名もフィールド名も日本語を
あたりまえに使ってきた。

小規模なデーターベース開発ツールとして、ACCESSがあるが、
ACCESS95のころから、物理名に漢字を使用することができた。
ACCESS2000より、UNICODEに対応したためさらに多くの漢字を利用できるようになった。

ACCESSは、MDBという形式のデータベースを利用することができるが、複数ユーザでの
同時接続に対応していないため、SQLサーバーなどの商品が提供されるようになってきた。

MDBは、フィールド名に機種依存文字なども含め自由にに漢字を使えたが、
SQLサーバーは機種依存文字が使えなかった。
よく使われていて問題になるのは一文字の「№」

顧客№、売上№などに使われている。大体この文字を使うフィールドはキーとなる場合が多いので、
キー項目には使えないなどの制限がある場合がある。

論理名から物理名への変更を余儀なくされるか、無変更で受付てくれるデータベースを探すかだ。

当時MS社のSQL7が販売されていた。PostgreSQLは、バージョン6.4だったが、無変更で利用できる唯一の
OSSデータベースだったので、利用を始めた。

私にとってはデータベースはPostgreSQL、フロントエンドは慣れたACCESSを利用することが、
複数ユーザ対応へ対応する近道だった。

XEAD Driverの実装仕様書設計ツールである、XEAD Editorは論理名、物理名を使い分けて利用できるが、
論理名が漢字に対応していなかった。

今回、論理名、物理名が共に漢字が使えるように対応した。


その利点は画期的なものだ。

論理名、物理名の置換が不要、つまり、論理名でSQLを記述できることによりSQL及び
プログラムの視認性があがり、直感的に開発、メンテナンスすることができる。

たとえば、次のような簡単なSQL文どちらが見易いですか?

select kokyaku_id, kokyaku_name from mstkokyaku where kokyaku_id = 123 ;
select 顧客id, 顧客名 from mst顧客台帳 where 顧客id = 123 ;


XEAD Editorは、データベースのテーブル設計情報をXMLで保持している。

設計情報と実際のデータベースを同期するための仕掛けがあり。同期していなければ
ALTER文を自動作成し、設計情報と実テーブルの状況を同期させる便利な仕掛けが組み込まれている。

システムのリプレイスをするツールとして誠に便利。

注意点は、サーバーへの接続が完了すると、テーブルを直接変更する、変更で対応できない場合は
削除して新規作成するので、決して運用中のデータベースにつながないでください。
データーベースを複写して壊しても良いテスト環境でお試しください。
また、一部の漢字・記号や、半角の大文字小文字が混在する場合は同期できない場合があります。
PostgreSQLの方言で、abcは、abc ABCは"ABC" Abcは"Abc"として取り扱うからです。
<