ERIL
![](http://upload.wikimedia.org/wikipedia/commons/thumb/c/ca/A_simple_example_ERIL_diagram.png/220px-A_simple_example_ERIL_diagram.png)
ERIL ( Entity-Relationship and Inheritance Language ) は、コンピューター システムのデータ構造を表現するためのビジュアル言語である。その名前が示すように、ERIL はエンティティ関係図とクラス図に基づいている。 ERIL は、リレーショナル アプローチとオブジェクト指向アプローチを組み合わせてデータモデリングを行う。
概要
[編集]ERIL は、構造図の読みやすさを向上させることを目的とした一連のガイドラインとみなすことができる。これらのガイドラインは、ロシアの宇宙計画内で作成されたフローチャートの変形であるDRAKONから借用された。 ERIL 自体は Stepan Mitkin によって開発された。
図を描くための ERIL ガイドラインは次のとおりであるː
- 線は直線、厳密に垂直または水平である必要がある
- 縦線は所有権(構成)を意味する
- 水平線はピア関係 (集約) を意味する
- 線は交差してはならない
- データ モデル全体を 1 つの図に当てはめることは推奨できない。代わりに、簡単な図を複数書くとよい。
- 同じクラス (テーブル) が同じ図に複数回現れることがある
- 関係のタイプを示すには、次の標準記号を使用する
- 1 対 1: シンプルなライン
- 1 対多、双方向: 「足」のある線
- 1 対多、一方向: 矢印
- 多対多: 2 つの「足」を持つ線
- 継承とデータ関係を一緒くたにしない
使用法
[編集]ERIL は、ストレージに関係なく、あらゆる種類のデータをモデル化することを想定している。同じ ERIL 図は、関係データベース、NoSQLデータベース、XMLファイル、またはメモリに保存されているデータを表すことができる。
ERIL 図には 2 つの目的があります。1つ目の目的は、既存または将来のシステムやコンポーネントのデータ構造を説明することである。 2 つ目の目的は、モデルからソース コードを自動的に生成することである。生成できるコードには、特殊なコレクション クラス、ハッシュおよび比較関数、データの取得および変更プロシージャ、SQL データ定義コードなどが含まれる。ERIL 図から生成されたコードは、参照性および一意性のデータ完全性を保証できる。さまざまな種類のシリアル化コードも自動生成できる。ある意味、ERIL はオブジェクト関係マッピングフレームワークと比較できる。