原文: http://www.atmarkit.co.jp/fjava/rensai4/devtool11/devtool11_1.html ------------------------------------------------------------------------------------------------------------------------------------------------ データベースのテーブ
原文:
http://www.atmarkit.co.jp/fjava/rensai4/devtool11/devtool11_1.html
------------------------------------------------------------------------------------------------------------------------------------------------
データベースのテーブル設計を行うときに皆さんは、どのようにしているでしょうか?
いくつかの無料で利用できるツールが提供されているので、筆者はそれらを利用していましたが、
最近「ERMaster」と呼ばれるEclipseプラグインの存在を知りました。
ERMasterは、ほかのツールに比べ、直感的で分かりやすいUI(ユーザーインターフェイス)に、
カスタマイズ可能な、Excelで出力できるテーブル定義書、
辞書機能など痒いところに手が届くERモデリングのツールです。本稿では、このERMasterについてご紹介します。
----------------------------------------------------------------------------------
進行數據庫設計的時候,同學們,你們都在怎麼個樣子工作的呢?
有幾個可以免費使用的工具可以提供,筆者就是使用這些東西的,
最近呢,又知道了一個叫做【ERMaster】的eclipse插件
所謂ERMaster,與其他工具比較,有直感的易於理解的UI,
可以個性化的,並輸出成excel的表設計書,
字典功能等等。本稿,是這個ERMaster相關的介紹
図1 ERMasterの画面(画像をクリックすると、拡大します) |
----------------------------------------------------------------------------------
ERMasterには、主に次のような特徴があります。
先ほどの図1のように、テーブルや関連などを左のペインから選択して、画面にテーブルを配置したり、テーブル同士を接続して関連付けるなど、サクサクとテーブル設計ができます。
また、ノートでメモを残せたり、カテゴリによるグループ化など、テーブルの物理モデルには直接影響を与えない部分に関しても、開発者が分かりやすくテーブル設計ができる工夫が施されています。
論理ビューと物理ビュー、双方の同時表示をサポートしています。上流工程でのモデリングから、下流工程での詳細な設計まで、幅広い用途で利用できます。
----------------------------------------------------------------------------------
如剛剛圖1所示,表和關聯等組件在左邊的面板裡選擇,拖到畫面之上,然後建立關聯,很輕鬆地可以設計表結構
而且,可以利用Note組件留下你的說明,可以利用分類組件把表分組化,在不直接影響表的物理模式的前提下,開發者便可作出易於理解的表設計來
支持邏輯View和物理View,雙方的同時表示。從項目初期的模塊劃分,到項目後期的詳細設計,可以在很廣泛的用途範圍裡利用
----------------------------------------------------------------------------------
図2 論理ビュー |
図3 物理ビュー |
図4 論理/物理ビュー |
商用のデータベースではOracle、DB2、オープンソースのデータベースとしては、PostgreSQL、MySQLに加え、HSQLDBや組み込み向けで利用されているSQLiteなどをサポートしており、主要なデータベースは、ほぼサポートしているといえます。
----------------------------------------------------------------------------------
商用的數據庫支持Oracle,DB2,開源的數據庫有PostgresSql,MySql, 還有HSQLDB和SQLite等嵌入式DB也支持,主要的數據庫,大部分都支持
----------------------------------------------------------------------------------
図5 ERMasterがサポートしているデータベース一覧 |
ExcelやHTML、そしてPNG形式への画像でER図でモデリングしたテーブルを出力できます。ExcelやHTMLでは、HTMLやExcelファイルで提供されるテンプレートをカスタマイズして、プロジェクト独自のフォーマットで出力もできます。
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
図6 Excelへの出力例 |
図7 HTMLへの出力例 |
ERダイアグラムの表記方法においては、「IE(Information Engineering)」「IDEF1X」をサポートしているので、慣れた表記方法で利用できます。IE表記法の例は、次のようになります。本稿のほかの図は、すべてIDEF1X法の表記モードを利用しています。
図8 IE表記法による表時 |
ER図に成果物情報のスタンプを入れられます(図9)。プロジェクト名や作成者、更新日時などを管理できるので、便利です。
図9 スタンプ機能 |
辞書機能は、一度定義した列を使いまわす機能です。例えば、あるテーブルにおいて、ある列を次のように定義したとします。
一度定義した列情報は、辞書に登録されるので、別のテーブルを作成する際に単語を選択するだけで、論理名や型情報を入力でき、型の不一致を減らせます。また、一個所を変更すれば、同じ単語を利用した個所が自動的に変更されるので、DB設計のリファクタリングも簡単にできます(図10)。
図10 辞書機能による列の定義 |
定義した辞書を、Excelやテキストで出力する機能もあります(図11)。
図11 Excelへ出力された単語辞書 |
すでにデータベース上に存在するテーブルから、ERダイアグラムをリバースして生成できます。
ERMasterは、Eclipse 3.3以上で動作するEclipseプラグインとして提供されています。下記のアップデートサイトから、Eclipseのインストール機能を利用してインストールできます。
なお、本稿では、Eclipse 3.5に日本語化やJava開発に有用なプラグインを同梱した「Pleiades All In One」のJavaエディションを利用しました。Pleiades All In Oneは、こちらから入手してください。
インストールが完了したら、ERダイアグラムを作成してみましょう。Eclipseのメニューの[ファイル]→[新規]→[その他]→[ERMaster/ERMaster]を選択します。ファイル名と利用するデータベースを選択すると、ダイアログの編集画面が表示されます。左のペインから操作を選択して、ダイアグラムを作成します。
図3 テーブル定義画面(再掲) |
ERMasterでは、無償で使えるほかのERダイアグラム作成ツールにない特徴的な機能としてノート機能とカテゴリ機能があります。商品情報テーブルには注釈(ノート)が付けれらています。カテゴリ機能を利用すると、カテゴリでテーブルをグルーピングできます。
図12 カテゴリによるテーブルのグルーピング |
テーブルを配置して、テーブルをクリックするとテーブルの編集画面になります。ここで、テーブルの列を定義していきます。[テーブル情報]ダイアログの[追加]から、列を追加していきます(図13)。
図13 列の追加 |
次ページでは、豊富なダイアグラム操作メニューやエキスポート機能も紹介します。
ERダイアグラムの表記方法においては、「IE(Information Engineering)」「IDEF1X」をサポートしているので、慣れた表記方法で利用できます。IE表記法の例は、次のようになります。本稿のほかの図は、すべてIDEF1X法の表記モードを利用しています。
図8 IE表記法による表時 |
ER図に成果物情報のスタンプを入れられます(図9)。プロジェクト名や作成者、更新日時などを管理できるので、便利です。
図9 スタンプ機能 |
辞書機能は、一度定義した列を使いまわす機能です。例えば、あるテーブルにおいて、ある列を次のように定義したとします。
一度定義した列情報は、辞書に登録されるので、別のテーブルを作成する際に単語を選択するだけで、論理名や型情報を入力でき、型の不一致を減らせます。また、一個所を変更すれば、同じ単語を利用した個所が自動的に変更されるので、DB設計のリファクタリングも簡単にできます(図10)。
図10 辞書機能による列の定義 |
定義した辞書を、Excelやテキストで出力する機能もあります(図11)。
図11 Excelへ出力された単語辞書 |
すでにデータベース上に存在するテーブルから、ERダイアグラムをリバースして生成できます。
ERMasterは、Eclipse 3.3以上で動作するEclipseプラグインとして提供されています。下記のアップデートサイトから、Eclipseのインストール機能を利用してインストールできます。
なお、本稿では、Eclipse 3.5に日本語化やJava開発に有用なプラグインを同梱した「Pleiades All In One」のJavaエディションを利用しました。Pleiades All In Oneは、こちらから入手してください。
インストールが完了したら、ERダイアグラムを作成してみましょう。Eclipseのメニューの[ファイル]→[新規]→[その他]→[ERMaster/ERMaster]を選択します。ファイル名と利用するデータベースを選択すると、ダイアログの編集画面が表示されます。左のペインから操作を選択して、ダイアグラムを作成します。
図3 テーブル定義画面(再掲) |
ERMasterでは、無償で使えるほかのERダイアグラム作成ツールにない特徴的な機能としてノート機能とカテゴリ機能があります。商品情報テーブルには注釈(ノート)が付けれらています。カテゴリ機能を利用すると、カテゴリでテーブルをグルーピングできます。
図12 カテゴリによるテーブルのグルーピング |
テーブルを配置して、テーブルをクリックするとテーブルの編集画面になります。ここで、テーブルの列を定義していきます。[テーブル情報]ダイアログの[追加]から、列を追加していきます(図13)。
図13 列の追加 |
次ページでは、豊富なダイアグラム操作メニューやエキスポート機能も紹介します。
ダイアグラムエディタ上で右クリックを押すと、メニューが表示されて、ここからさまざまな操作ができます。
図14 メニューの表示 |
各メニューは選択すれば、おおよそ使い方は分かると思いますので、詳細は省略します。エキスポートについては、文字化けという問題点や、テンプレートのカスタマイズ機能があるなど説明が必要ど思う部分があるので、紹介します。
画像(PNG形式)でダイアグラムを出力際にデフォルトのフォント設定では、ノートに日本語を入れると、文字化けします。フォントを「Tahoma」から、「MS Pゴシック」などに変更してください(図15)。
図15 文字化け回避のためのフォントの変更 |
またExcelで出力する際には、出力するExcelのテンプレートをカスタマイズできます。テンプレートの設定は、Eclipseのメニューの[ウィンドウ]→[設定]より設定ダイアログを開いて、[ERMaster]→[DB定義書テンプレート]から行います(図16)。
図16 Excelテンプレートの変更 |
上部の[テンプレートのダウンロード(日本語)]をクリックすると、テンプレートのひな型がダウンロードできます。ダウンロードしたテンプレートをカスタマイズして同画面上の[新規]ボタンをクリックすれば、プロジェクトでカスタマイズしたテンプレートを登録できます。
ダイアログ上のエキスポートメニューでExcelを選択すると、テンプレートを選択する画面が表示されるので、ここで登録したテンプレートを選択すれば、カスタマイズしたテンプレートに基付き、Excelでテーブル定義書を出力できます。
本稿ではERMasterを紹介しましたが、いかがでしたでしょうか。ERMasterの現在開発中の機能として、テストデータ作成支援機能があり、この機能が実装されれば、テストデータを簡単に作成できるようになりそうです。
案件によっては痒いところに手が届く機能がオープンソースのプロダクトとして提供されているのは、非常に魅力的に感じます。ぜひ機会があれば利用してみてください。
ERダイアグラムの表記方法においては、「IE(Information Engineering)」「IDEF1X」をサポートしているので、慣れた表記方法で利用できます。IE表記法の例は、次のようになります。本稿のほかの図は、すべてIDEF1X法の表記モードを利用しています。
図8 IE表記法による表時 |
ER図に成果物情報のスタンプを入れられます(図9)。プロジェクト名や作成者、更新日時などを管理できるので、便利です。
図9 スタンプ機能 |
辞書機能は、一度定義した列を使いまわす機能です。例えば、あるテーブルにおいて、ある列を次のように定義したとします。
一度定義した列情報は、辞書に登録されるので、別のテーブルを作成する際に単語を選択するだけで、論理名や型情報を入力でき、型の不一致を減らせます。また、一個所を変更すれば、同じ単語を利用した個所が自動的に変更されるので、DB設計のリファクタリングも簡単にできます(図10)。
図10 辞書機能による列の定義 |
定義した辞書を、Excelやテキストで出力する機能もあります(図11)。
図11 Excelへ出力された単語辞書 |
すでにデータベース上に存在するテーブルから、ERダイアグラムをリバースして生成できます。
ERMasterは、Eclipse 3.3以上で動作するEclipseプラグインとして提供されています。下記のアップデートサイトから、Eclipseのインストール機能を利用してインストールできます。
なお、本稿では、Eclipse 3.5に日本語化やJava開発に有用なプラグインを同梱した「Pleiades All In One」のJavaエディションを利用しました。Pleiades All In Oneは、こちらから入手してください。
インストールが完了したら、ERダイアグラムを作成してみましょう。Eclipseのメニューの[ファイル]→[新規]→[その他]→[ERMaster/ERMaster]を選択します。ファイル名と利用するデータベースを選択すると、ダイアログの編集画面が表示されます。左のペインから操作を選択して、ダイアグラムを作成します。
図3 テーブル定義画面(再掲) |
ERMasterでは、無償で使えるほかのERダイアグラム作成ツールにない特徴的な機能としてノート機能とカテゴリ機能があります。商品情報テーブルには注釈(ノート)が付けれらています。カテゴリ機能を利用すると、カテゴリでテーブルをグルーピングできます。
図12 カテゴリによるテーブルのグルーピング |
テーブルを配置して、テーブルをクリックするとテーブルの編集画面になります。ここで、テーブルの列を定義していきます。[テーブル情報]ダイアログの[追加]から、列を追加していきます(図13)。
図13 列の追加 |
次ページでは、豊富なダイアグラム操作メニューやエキスポート機能も紹介します。
ダイアグラムエディタ上で右クリックを押すと、メニューが表示されて、ここからさまざまな操作ができます。
図14 メニューの表示 |
各メニューは選択すれば、おおよそ使い方は分かると思いますので、詳細は省略します。エキスポートについては、文字化けという問題点や、テンプレートのカスタマイズ機能があるなど説明が必要ど思う部分があるので、紹介します。
画像(PNG形式)でダイアグラムを出力際にデフォルトのフォント設定では、ノートに日本語を入れると、文字化けします。フォントを「Tahoma」から、「MS Pゴシック」などに変更してください(図15)。
図15 文字化け回避のためのフォントの変更 |
またExcelで出力する際には、出力するExcelのテンプレートをカスタマイズできます。テンプレートの設定は、Eclipseのメニューの[ウィンドウ]→[設定]より設定ダイアログを開いて、[ERMaster]→[DB定義書テンプレート]から行います(図16)。
図16 Excelテンプレートの変更 |
上部の[テンプレートのダウンロード(日本語)]をクリックすると、テンプレートのひな型がダウンロードできます。ダウンロードしたテンプレートをカスタマイズして同画面上の[新規]ボタンをクリックすれば、プロジェクトでカスタマイズしたテンプレートを登録できます。
ダイアログ上のエキスポートメニューでExcelを選択すると、テンプレートを選択する画面が表示されるので、ここで登録したテンプレートを選択すれば、カスタマイズしたテンプレートに基付き、Excelでテーブル定義書を出力できます。
本稿ではERMasterを紹介しましたが、いかがでしたでしょうか。ERMasterの現在開発中の機能として、テストデータ作成支援機能があり、この機能が実装されれば、テストデータを簡単に作成できるようになりそうです。
案件によっては痒いところに手が届く機能がオープンソースのプロダクトとして提供されているのは、非常に魅力的に感じます。ぜひ機会があれば利用してみてください。
----------------------------------------------------------------------------------
----------------------------------------------------------------------------------