新コラム|意外と便利!IBM i 耳より情報 |無償のERMasterでER図を作成する(田中太地)

 

 

皆さん、初めまして。今回よりコラムページの連載を担当することになりました。投稿テーマは「IBM iでのデータ活用促進」です。

日頃お使いいただいているDB2 for iのデータ整理、活用、分析などに使えるツールやOS機能をピックアップしながら紹介していこうと思っています。

ここで少し自己紹介です。私は2016年4月にIBM Zの営業職としてIBMに入社し、2018年1月よりPower Systemsのテクニカルセールスチームに加わりました。IBM iに携わってからまだ2~3年ほどですが、日頃の提案活動の中でIBM iをお使いのお客様と接する機会が多く、私自身、IBM iのもつ魅力に日々驚きを感じています。

お客様との話題はさまざまありますが、その中でもとりわけ、Db2 for iのデータを今後どう活用していくかという論点が多く、それに対してIBM i OS標準機能やその他ツールをどう組み合わせ、活用すればよいかに悩みながら考え続けています。

このコラムを通じて、これまで私が得た気づきや学びから、少しでも皆さんのお役に立てるような情報をシェアすることができれば幸いです。

 

今回のメインテーマ「ERMaster」について

第1回目はDb2 for iのデータ整理の一例として、データベースのテーブル設計に使える便利なオープソースツールをご紹介します。

業務システムの開発ではデータベースのテーブル設計が欠かせず、設計段階での成果物としてER図(Entitiy Relationship Diagram)や必要なデータの項目属性一覧などを作成し、検討メンバー全員で参照・共有する必要があります。

ER図の作成方法には、Excelなどを使って手作業で作ったり、無償/有償ツールを使用するなどさまざまな方法があります。その中でもEcipseのプラグインとして使用でき、他のツールと比べて直感的なユーザー・インターフェースで操作できる無償ツールがあります。それが「ERMaster」です。

ERMasterは以下の特徴を備えるER図作成ツールであり、無償のEclipseプラグインとして利用できます。今はさまざまな製品が有償ツールとして提供されていますが、それらに引けを取らない便利で多彩な機能を無償で利用できる点が、ERMasterの強みです。

ERMasterの主な特徴

・直感的で分かりやすいユーザー・インターフェース
・テーブルの論理ビュー/物理ビューの同時表示をサポート
・豊富なデータベースサポート (リストは後述)
・Excel/HTML/画像への出力
・IE および IDEF1X の両方の表記方法に対応

 上記に挙げたテーブルビューの例としては、以下があります。

論理ビュー

 

・・・・

物理ビュー

 

・・・

論理/物理ビュー

 

・・・

 このほかにも、テーブルごとにノートを作成したり、カテゴリごとにテーブルをグルーピングするなど、DBを設計するうえで便利な機能がすべてオープンソースで利用できます。

 

IBM iでERMasterを使う価値

下記はERMasterで対応しているデータベースです。

Microsoft Access
Db2
H2
HSQLDB
MySQL
Oracle
PostgreSQL
SQLite
Microsoft SQL Server

ERMasterはDb2には対応しているものの、残念ながらDb2 for i用のJDBCドライバは未対応です。

ただし、ERMasterで作成したER図をDDLで保存することもできるので、Db2 for i向けにSQL構文を少し修正すれば、ERMasterで作成したテーブル情報をSQLコマンドでDb2 for i上に作成するといった連携も可能です。

ERMasterで出力できるDDLファイルの例

 

またERMasterは、XMLのインポート/エクスポートに対応しているため、DBからメタデータを持ってきて、ER図を作成するといった利用方法も可能です。

XMLベースのインポート/エクスポートに対応

 

今回紹介したERMasterの導入および利用方法は、下記のオンラインマニュアルにすべて記載されているので、もし興味があれば、ぜひ使ってみてください。

ERMaster ユーザーマニュアル
http://ermaster.sourceforge.net/index_ja.html

今後もIBM iでのデータ整理、活用、分析に活用できる便利なOS機能やツールを紹介していきますので、どうぞよろしくお願いいたします。

 

[i Magazine・IS magazine]

関連リンク

More Posts