
ERIL (エンティティ リレーションシップおよび継承言語) は、コンピュータ システムのデータ構造を表現するためのビジュアル言語です。その名前が示すように、ERIL はエンティティ リレーションシップ図とクラス図に基づいています。ERIL は、データ モデリングに対するリレーショナルアプローチとオブジェクト指向アプローチを組み合わせています。
概要
ERIL は、構造図の読みやすさを向上させることを目的としたガイドラインのセットと見ることができます。これらのガイドラインは、ロシアの宇宙計画で作成されたフローチャートのバリエーションであるDRAKONから借用されました。ERIL 自体は Stepan Mitkin によって開発されました。
図を描くための ERIL ガイドライン:
- 線は、厳密に垂直または水平の直線でなければなりません。
- 縦線は所有権(構成)を意味します。
- 水平線はピア関係(集約)を意味します。
- 線の交差は許可されません。
- データ モデル全体を 1 つの図に収めることはお勧めしません。代わりに、単純な図をたくさん描きます。
- 同じクラス (テーブル) が同じ図に複数回出現する場合があります。
- 関係の種類を示すには、次の標準記号を使用します。
- 1対1: シンプルなライン。
- 1対多、双方向: 「足跡」のある線。
- 1対多、一方向: 矢印。
- 多対多: 2 つの「足」がある線。
- 継承とデータ関係を一緒にしないでください。[1]
インデックス
ERIL のクラス (テーブル) には複数のインデックスを設定できます。ERIL の各インデックスには、リレーショナル データベースのインデックスと同様に、1 つ以上のフィールドを含めることができます。ERIL のインデックスは論理的です。オプションで実際のデータ構造によって実装することもできます。
リンク
ERIL のクラス (テーブル) 間のリンクは、いわゆる「リンク」フィールドによって実装されます。リンク フィールドは、リンク タイプに応じてさまざまなタイプになります。
- 参照;
- 参照資料のコレクション。
例: DocumentsとLines の間には 1 対多のリンクがあります。1 つのDocumentには複数のLines を含めることができます。その場合、Document.Linesフィールドは、ドキュメントに属する行への参照のコレクションになります。Line.Documentは、行を含むドキュメントへの参照です。
リンク フィールドも論理的です。システム内に物理的に実装される場合と実装されない場合があります。
使用法
ERIL は、ストレージに関係なく、あらゆる種類のデータをモデル化することを目的としています。同じ ERIL 図で、リレーショナル データベース、NoSQLデータベース、XMLファイル、またはメモリに保存されているデータを表すことができます。
ERIL 図には 2 つの目的があります。主な目的は、既存または将来のシステムやコンポーネントのデータ構造を説明することです。2 番目の目的は、モデルからソース コードを自動的に生成することです。生成できるコードには、特殊なコレクション クラス、ハッシュおよび比較関数、データ取得および変更手順、SQL データ定義コードなどが含まれます。ERIL 図から生成されたコードは、参照と一意のデータ整合性を確保できます。さまざまな種類のシリアル化コードも自動的に生成できます。いくつかの点で、ERIL はオブジェクト リレーショナル マッピングフレームワークに似ています。
参照
注記
- ^ ERIL: データモデリングのためのビジュアル言語
