• empty画像はerwin-rtfでアップロード済み

erwin Data Modeler - 機能

モデルをガイドにして…

企業は情報で一杯です。顧客、製品、販売に関するデータ、数十あるいは数百の異なったアプリケーションで共有されるデータベース上のデータなど多種多様な情報が混在しています。

これらのデータをどのように理解して管理しますか?
また、どのように企業競争力に役立てていますか?

使いやすく、すぐ使え、パワフルなモデリングツール"erwin"を使うことで、以下の改善を行えます。
コミュニケーション
複雑な情報を図式化することで理解を容易にし、思考の共有を促進します。
設計
複雑な構造を図面に書き表すことでより効率的な構築を可能にします。
実装
データモデルからダイレクトにデータベース構造を生成することでクライアント/サーバー、Web、データ ウェアハウス アプリケーションの開発がスピードアップします。
たとえば、現在のテーブル構造をAs-Isモデルとしてデータモデルで表現し、これを分析し古いテーブル構造、冗長性を排除します。
そして新しいシステム要件や適切なテーブル構造を分析・設計したTo-Beモデルを作成することができます。

  

  複雑で冗長なAs-Isモデル

新しい要件を満たし、
且つシンプルなTo-Beモデル

データ モデリング

ERダイアグラムは、データベースの青写真となります。システムの分析設計から実装、運用に至るシステムのライフサイクル全体に渡り開発ドキュメントとして、あるいはエンドユーザーとの共通の”言語”として使用することができます。 erwinはこのERダイアグラムを、優れた操作性で作成することができ、国内外の多くのユーザーから高い評価をいただいています。

優れた操作性

erwinの優れた操作性は、導入してから実際のプロジェクトで使用するまでの時間で証明できるでしょう。

データ モデリングを行ってきたユーザーならば、何の初期教育もなしにerwinの基本機能を使用することができます。またデータベースをご存知の方なら、ERダイアグラムからデータベース オブジェクトを作成(フォワード エンジニアリング)したり、既存のデータベース構造をERダイアグラムに逆生成(リバース エンジニアリング)したりすることができます。

3種類の表記法

ダイアグラムの表記法にはIDEF1X、IE(Information Engineering)に加え物理モデルでは多次元モデリングの3種類をサポートします。多次元モデリングを使用すれば、スタースキーマの描画に加えデータ ウェアハウス アプリケーションの構築、運用を支援する機能をサポートします。

論理モデルで利用可能な表記法:
IDEF1X、IE

物理モデルで利用可能な表記法:
IDEF1X、IE、多次元モデリング


IDEF1X表記

IE表記

多次元モデリング

ビジネス ルールをデータベースに実装

erwinは単にERダイアグラムを描くだけのツールではなく、分析・設計されたテーブル構造やビジネスルールをデータベースに実装できます。

たとえば、ビジネスルールに関しては、「過去に受注された商品は、商品台帳から削除できない。」というビジネスルールを実装するための参照整合性制約やトリガーを自動生成し、誤った操作からデータを保護できます。

論理・物理の独立モデリング

論理モデルと物理モデルでは設計の目的が異なるためERダイアグラムに表記するオブジェクトも異なってきます。

たとえば、論理モデルではサブタイプを使用してエンティティを分類しますが、物理モデルではサブタイプを使用できません。また、実装時のパフォーマンスを考慮する物理モデルではサマリー テーブルやテンポラリ テーブルなど論理モデルでは排除される様々なテーブルが必要になります。

erwinは、論理モデルと物理モデルの違いをふまえて複数のモデル タイプをサポートします。

論理 概念レベルや論理レベルの設計を行うモデル。エンティティ、属性、キーグループ、サブタイプなどのオブジェクトを含みます。
物理 データベース固有の設計を行うモデル。テーブル、カラム、インデックス、データタイプ、トリガー、プロシージャなどのオブジェクトを含みます。
論理/物理 従来のerwinモデル。論理モデルは物理モデルと密接に関係し、論理モデルに対する変更は自動的に物理モデルに反映されます。同様に、物理モデルに対する変更は自動的に論理モデルに反映されます。
論理モデルのみあるいは物理モデルのみに存在する特定のオブジェクトは、「論理のみ」、「物理のみ」を設定することで解決できます。

論理モデル

物理モデル

論理/物理モデル

論理/物理モデルの分離機能を使用すると、論理/物理モデルとして作成しているモデルを別々の論理モデル、物理モデルに分離して設計することができます。これにより、正規化された論理モデルと非正規化された物理モデルを別々に保有することができます。

また、論理モデルへの変更(プロパティやレイアウト)が物理モデルに反映されたり、物理モデルへの変更が論理モデルに反映されたりすることを防ぎます。 基のファイルとの変更点もモデルソースとシンクロ機能を行うことで簡単に確認でき、変更点を反映することもできます。

図形描画ツール

erwinの[描画オブジェクト]ツールバーには、各種の描画ツールが用意されています。描画オブジェクトを使用するとダイアグラムに描画オブジェクトやテキスト ボックスを作成できます。

これにより、リソース系エンティティのみを囲むオブジェクトを配したり、導出テーブルにテキストボックスでコメントを記したりと自由に使用できます。ダイアグラム上のオブジェクト同士は、グループ化してレイアウトを保持することができます。

サブモデル(サブジェクト エリア)

erwinでは、大規模で複雑なモデルでも容易に分析・設計が行えます。

たとえば、大規模モデルを業務単位、またはサブシステム単位で複数のサブモデルに分割し、ある特定のエリアに焦点をあてた分析・設計を行うことができます。

erwinでは、このサブモデルを”サブジェクト エリア”と呼びます。各サブジェクト エリアで加えた変更は自動的に他のサブジェクト エリアや全体モデルに反映されるので、サブジェクト エリア間の乖離が発生することはありません。

また、サブジェクト エリア単位でフォワード エンジニアリングおよび完全比較を実行することも可能です。

データベース連携機能


サポート データベース

erwinはOracle、SQL Server、Sybase、Informix、Accessなど10種類以上のDBMSをサポートしています。物理モデルでは、これらのDBMSから対象となるDBMSを選択し、エンティティ、属性などに対応するテーブル名、カラム名などの設計を行います。また、共通して使用される属性をドメインとして設計することにより、開発生産性、再利用性、メンテナンス性を高める機能も有しています。

ERwin r9.5(インターナショナル版)サポートデータベース一覧
データベース名 バージョン
IBM DB2 for i 5.x/6.x
IBM DB2/LUW 9.1, 9.5, 9.7
IBM DB2/zOS 8.1, 9.1
Informix 9.x/10.x/11.x
Microsoft SQL Server 2000, 2005, 2008, 2012
MySql 5.x/6.x
ODBC/Generic 2.0, 3.0
Oracle 10x/11x
Progress 9.x/10.x
SAS stabilized support
SQL Azure using the SQL Azure Extension
12.5/15
Sybase IQ 12.x
Teradata 2.6, 12, 13, 13.10, 14, 14.1
ERwin r7.2(日本語版)サポートデータベース一覧
データベース名 バージョン
Advantage Ingres 2.5、2.6、2006
IBM DB2 iSeries 5.x
IBM DB2/UDB 8.x/9.x
IBM DB2/zOS 7、8
Informix 7.x、9.x/10.x
Microsoft Access 2000/2002/2003
Microsoft SQL Server 7.0、2000、2005/2008
Microsoft Visual FoxPro
MySql 5.x
ODBC/Generic 2.0, 3.0
Oracle 8i、9.x、10.x/11.x
Progress 8.x、9.x/10.x
Redbrick 5.x/
SAS
Sybase 12.5/15
Sybase IQ 12.5
Teradata 2.x

フォワード エンジニアリング

物理設計ではサポートする10種類以上のデータベースからひとつのデータベースを選択し、そのデータベースに特化した設計が行えます。たとえば、Oracleを選択した場合、テーブル/インデックス パーティションを設計することができ、DB2 UDBではマテリアライズ照会表を設計できます。erwinは物理モデルから、対象データベースに特化したDDLを自動生成します。

生成できるDDLはテーブル、インデックス、参照整合(主キー、外部キー、トリガー)、デフォルト、チェック制約などをサポートしているので、手作業でDDLを作成する作業は必要なくなり、データベース構築に劇的な生産性を提供します。


リバース エンジニアリング

現在のデータベース構造が明確でない、またはあるデータベースから別のデータベースに同じテーブル構造を移行する必要がある場合、リバース エンジニアリング機能が効果的です。

erwinはデータベース(DDLファイル)を読み込み、テーブル、ビュー、参照整合性制約、インデックス、デフォルト、チェック制約、トリガー、ストアド プロシージャなどのデータベース オブジェクトをERダイアグラムに逆生成することができます。これにより最新のデータベース構造がERダイアグラムでグラフィカルに描画できます。またリバースしたERダイアグラムの対象データベースを変更すれば、同じデータベース構造を他のデータベースにフォワード エンジニアリングすることができます。


完全比較

生き物に例えられるように、データベースは日々成長してゆきます。

erwinの完全比較機能を利用すれば、ERダイアグラムとデータベース(またはDDLファイル、他のERダイアグラム)との差分をテーブル、カラム、データ型、Nullレベルから、テーブルの物理ストレージ、インデックス メンバー、参照整合性制約、トリガー コードなどに至るまで詳細に検出し、相違点を解消するためのDDLをデータベースに生成したり、データベースに合わせてERダイアグラムを変更することができます。この機能を利用すれば、いつでもERダイアグラムとデータベース構造の同期を取ることができます。

ドメイン

データモデルで繰り返し使われる属性、たとえば”郵便番号”属性は、顧客の”郵便番号”であっても従業員の”郵便番号”であっても同じ属性(カラム)プロパティ(データ型:char(8)など)を持っています。

通常、これらの属性(カラム)には個別にプロパティを設定してきました。このため、類似した作業や重複した管理が発生しました。このような属性を超えた共通プロパティを一元管理するのがドメインです。ドメインとは属性を超えて共通利用できるプロパティの集合です。たとえば[郵便番号]ドメインを作成し、このドメインに定義:エンティティ名+”郵便番号”、ノート:”7桁で登録”、データ型:char(8)というプロパティを設定します。

郵便番号に関わる属性は、[郵便番号]ドメインをアタッチすることにより、個別にプロパティを設定する必要はなくなります。ドメインに予め設定しておいたすべてのプロパティが自動的に属性のプロパティへ継承されるからです。これにより、プロパティに変更が生じた場合も属性毎に再設定を行うのではなく、ドメインのプロパティを修正するだけでドメインを設定したすべての属性に変更を反映することができます。

一般的に属性を識別したりカテゴライズしたりする作業は、属性が持っているデータの型を使用して行います。大別して属性の型には、[文字列]型、[数値]型、[日付/時刻]型、[BLOB]型があります。erwinはこれらの4つの型に<デフォルト>を加えた5つの型を、論理ドメインとして装備しています。論理ドメインを活用することにより整理された論理設計が可能になります。
また、これら論理ドメインは対応する物理ドメインにおいて適切な物理データ型が設定されています。つまり、[文字列]論理ドメインは、char()、varchar()など、[数値]論理ドメインは、number、integer、decimalなどが設定されています。これにより、論理設計から物理設計へ作業をスムーズに移行できます。

erwinでは、ドメインをモデル エクスプローラおよび[ドメイン ディクショナリ]ダイアログ ボックスで管理しています。ドメインをモデル エクスプローラの[モデル]タブの[ドメイン]ノードからエンティティまたはテーブルへドラッグ&ドロップするだけですべてのプロパティを継承した新規属性(カラム)を簡単に作成できます。これによりデータモデルの作成効率が向上し、ミスが軽減します。

多次元モデリング

多次元モデリングで伝統的に使用されてきた斜めのリレーションシップを表記できるため、美しいスター スキーマを描くことができます。テーブル間にリレーションシップを引くと、その構造から各テーブルの役割を判断し、ファクト テーブル、ディメンジョン テーブル、アウトリガー テーブルに応じたアイコンを表示することもできます。これによりグラフィカルで直観的なデータモデルを作成できます。

膨大なデータの中からユーザーが知りたい情報を素早く取り出すために必須となるスター インデックス、ビットマップ インデックス、またテーブルやインデックスのパーティショニング機能をサポートしています。

様々な基幹システムのデータを格納するデータ ウェアハウスではデータの出所(データソース)を管理することが重要になります。

データ ウェアハウスのカラムに格納されるデータは、元のシステムでのデータ書式からデータ ウェアハウス用データベースに適した書式にデータを変換する必要があります。この場合は変換ルールを明確に文書化しなければいけません。
さらに、ひとつのカラムに格納されるデータが複数の基幹システムから発生している、つまり複数のデータソースを持つこともあるのです。erwinではデータソース情報と変換のコメントを文書化できるので、データ ウェアハウスの管理運用に必要なしっかりとしたドキュメントを作成することができます。

データソースの情報はデータベースから直接インポートすることができます。基幹システムのデータベースとerwinを接続することによりテーブルやカラム情報をerwinのエディタにツリー構造でインポートできます。 またシステム化されていない情報はCSV形式のテキスト形式で記述すればフラット ファイルからインポートすることも可能です。

データ ウェアハウスを更新する必要がある場合、または将来のメンテナンスに備えルールを定義することもできます。これらすべてのデータ ウェアハウス支援機能がデータ ウェアハウスの構築だけでなく、後の保守にも重要な役割を果たします。

レポート機能

erwinのレポート機能を利用すると、データモデルの情報を詳細にレポートできます。 erwinではレポート生成ツールとして、データ ブラウザとレポート テンプレート ビルダの2種類が実装されています。

データ ブラウザを使用すると、エクスプローラ風のUIでレポート カテゴリを選択するだけで、同UI上にレポートが表示されます。一度別のアプリケーションに出力する必要が無いので、設計を行いながら必要なモデル情報を取得する際に便利です。

また、レポートを複数の形式でエクスポートして保存することもできます。レポートは、印刷出力、DDEによるWordやExcelなどへのエクスポートに加えてHTMLファイルなどへの出力も行えます。

レポート テンプレート ビルダを使用すると、カラフルで美しいレポートをHTML形式やRTF形式、PDF形式、CSV形式で出力できます。レポート テンプレート ビルダには、レポート出力のための便利なテンプレートが多数用意されています。

レポート テンプレートはカスタマイズして別のテンプレートとして保存することや、まったく新しく作成することができます。erwinのダイアグラム イメージをレポートに表示し、イメージ上のテーブルからテーブル レポートを参照することもできるので、erwinを持っていない開発者へ最新の情報を公開したり、お客様への仕様書として使用したりできます。

HTML形式やRTF形式、PDF形式の場合、レポート生成時にタイトルやヘッダーの色とフォントをカスタマイズしたり、生成オプションを選択したりできます。

属性アイコン

erwinはダイアグラムをより直観的に表現するために属性アイコンを採用しています。属性アイコンは論理モデルで表示することができ、論理モデリングの分析を効果的に支援します。属性に意味のある的確なアイコンをアタッチすることにより、データモデルは視覚的な効果を増し、より直観的に理解できるので、分析し易くなります。

また、アイコンは論理ドメインにもアタッチすることができます。ドメインのページで説明がありますが、一般的に属性を識別したりカテゴライズしたりする作業には、属性が持っているデータの型を使用します。大別して属性の型には、[文字列]型、[数値]型、[日付/時刻]型、[BLOB]型があります。erwinはこれらの論理ドメインに意味のあるアイコンを設定してあります。

論理ドメイン アイコン
デフォルト <デフォルト>アイコン
デフォルト BLOBアイコン
デフォルト 日付/時刻アイコン
デフォルト 数値アイコン
デフォルト 文字列アイコン
デフォルト 主キー アイコン

モデル エクスプローラからドラッグ アンド ドロップを行って論理ドメインから属性を作成すれば、属性は自動的に論理ドメインのアイコンを継承します。これにより論理ドメインを作成したときの分析がデータモデルにグラフィカルに反映されます。

また、ユーザーが作成したアイコンをデータモデルにインポートすることもできます。「属性アイコン ライブラリ」では、ユーザーのみなさまから提供していただいた属性アイコンを公開しています。ダウンロードしてモデリングにお役立てください。

容量計算

物理設計においては、システムの構成ハードウェア要件を考慮するため、またパフォーマンスを長期間維持するためにデータの成長性、保存場所、記憶領域、データベース全体のサイズなどを検討する必要があります。通常、容量の見積り作業は表計算ソフトなどに別途データを登録して行っていますが、erwinではデータモデルに必要なデータを登録することで容量の自動見積りを行えます。

テーブル毎に初期行数、最大行数、1ヶ月当たりの増加行数の予測値を入力します。さらにカラム毎にNULLが許されるカラムに関してはNULLの比率、可変長のデータ型を持つカラムに関しては平均データ長を入力します。

テーブルとカラムに入力した予想値を元に、物理ストレージ単位、データベース オブジェクト単位、テーブル単位で容量の見積りを行います。見積りは初期サイズだけでなく、1、3、6、12、24ヶ月後のサイズを見積もることもできます。

UDP(ユーザー定義プロパティ)

データモデル オブジェクトには実際にデータベースに実装するコメントだけでなく、様々な付加情報を格納したいという要望があります。たとえば、以下のような管理項目があげられます。

カテゴリ 管理項目 サンプルデータ
エンティティ 分析者名 渡辺
レビュア名 岩田
設計確定日 98/09/25
属性 分析に使用した資料 注文伝票
サンプル データ 伝票番号:AB-0025
テーブル データ ライフサイクル 2年
バックアップ頻度 毎月

従来、上記のようなerwinでは管理しにくいメタデータは、Excelなどの別表での管理が発生していました。これにより、erwinのデータモデルと別表のメタデータとの2重管理を行わなければいけませんでした。これを解消するのがUDP(ユーザー定義プロパティ)です。

UDPとは各データモデル オブジェクトにユーザーが管理したい項目をカスタム フィールドとして追加できる機能です。以下は、エンティティで管理したい3つの項目をUDPに追加した画面です。

UDPに作成した管理項目に登録する値のタイプには以下の6種類があります。実際にUDPに値を登録するときは、タイプごとに使い易いユーザー インターフェイスが提供されます。

タイプ 割り当て対象 UI
コマンド 別のアプリケーションを実行するためのコマンド ボタン
日付 日付(YYYY/MM/DD形式) カレンダー コントロール
整数 整数 テキスト フィールド
実数 実数(小数点付き) テキスト フィールド
テキスト ASCIIテキスト テキスト フィールド
リスト ユーザー定義選択肢の一覧リスト ボックス

erwinマクロ

erwinマクロとは?

erwinマクロとはデータモデル内の指定した情報を取り出したり加工したりするために使用します。

たとえば、%Datetimeというマクロは現在の日付/時刻を返し、%EntityNameはエンティティの名前を返します。erwinでマクロを多用するものには参照整合性トリガー テンプレートがあります。トリガー ボディー部に記述するテーブル名、主キー名、外部キー名などには具体的なオブジェクト名を記述せずトリガー テンプレートにerwinマクロを埋め込んでおきます。 このトリガー テンプレートを様々な親子テーブル間に設定することにより、各テーブル間で適切なテーブル名、主キー名、外部キー名が展開されて、ひとつのテンプレートから異なった複数のトリガー コードが生成されます。

erwinマクロを利用するメリット
トリガー テンプレートのように、参照整合性ルールが同一であれば、複数のトリガー コードを管理するよりも、1つのテンプレート コードで一元管理する方が作業工数と手作業によるミスを軽減できます。 さらにテンプレート化することにより他のモデルに流用したり再利用したりすることが可能になります。また、属性やカラムの命名規則の標準化を支援することもできます。
erwinマクロはどこで使われている?
erwinマクロは非常に多くの場所で使用されています。デフォルト トリガー テンプレート コードをはじめとして以下のフィールドでも使用できます。
  • 論理ドメイン
    • [属性に継承される名前]
    • [属性に継承される定義]
  • 物理ドメイン
    • [カラムに継承される名前]
    • [カラムに継承されるコメント]
  • バリデーション ルール表現
  • プリ/ポスト スクリプト
  • ストアド プロシージャ テンプレート
など…
erwinマクロの活用例

このページでは2つの活用例を公開いたします。各活用例でサンプル ファイルがダウンロードできますので、この資料を参考にして皆様のモデリングにお役立てください。

活用例-Ⅰ

しっかりとしたモデリングを行うにはしっかりとした命名規則が必要です。erwinはマクロを利用して命名規則に基づいたモデリングを支援します。論理ドメインの[属性に継承される名前]、物理ドメインの[カラムに継承される名前]に定義するerwinマクロを利用して命名規則に従ったモデリングが可能になります。

詳細はこちら
活用例-Ⅱ

論理設計終了後、いかにスムーズにデータベースへ実装するオブジェクトの物理名を命名していくか、また論理名と物理名の関係をどのように管理していくかは誰もが悩むところだと思います。lookupマクロを使用して、論理名/物理名の対応表を参照してモデルに読み込むことにより、物理名命名の自動化、そして論理名と物理名の一元管理が可能になります。

詳細はこちら
既知の注意点

新しいerwinマクロに関する注意点です。必要に応じてご覧ください。

  • エンティティのコピー&ペーストを行うと、そのエンティティに含まれる属性のカラム名のマクロが正確に展開されないことがあります。この場合はカラム名のリセットが必要になります。
  • LOOKUPマクロが参照する用語集を修正した場合、これをデータモデルに反映させるにはerwinの再起動が必要になります。
  • LOOKUPマクロが用語集を参照するときは、用語集の先頭から順に適合する用語を検索していくため用語の並び順を意識した配置が必要になります。具体例を以下の例で説明します。[注文明細]エンティティの物理名をマッピング テキストから検索するとき、最初にエンティティ名の先頭にある”注文”とうい用語がマッピング テキストで一致してしまい、まず”注文”のみが”chumon”と変換されます。その後、残った”明細”が検索されますが、”明細”という用語がマッピング テキストに定義されていなければ、この用語だけが変換されずに論理名のまま物理名へと継承されます。従ってテーブル名は”chumon明細”と変換されてしまいます。これを防ぐためには、単語の多い用語は用語集の先頭に配置する必要があります。
lookupされるテキスト ファイル
注文, chumon
注文明細, chumon_meisai
製品, seihin
従業員, jugyoin
顧客, kokyaku


erwin Data Modelerに関するお問い合わせ

ページの先頭へ