カラスの足の表記法(IE表記法とも呼ばれます)の最も認識しやすい特徴は、関係の「多くの」側面を示すためにグラフィカルな記号を使用することです。三叉の「多」記号は、この広く使用されている表記法の名前の由来でもあります。データモデリングの歴史の中でカラスの足がどこに配置されているかを見て、そのシンボルを見てみましょう。
歴史:カラスの足の表記法がどのように始まったか
カラスの足の表記の始まりは、ゴードンエベレストの記事(1976年、第5回コンピューティング会議、IEEE)にまでさかのぼります。表記の命名規則が変更されていました。実際、それは数年にわたって進化してきました。この問題について私に尋ねられたとき、エベレスト氏は次のように述べました。
私はそれを「逆矢印」と呼んだ。当時、バッハマンの記法と区別するために。方向性や物理的なアクセスパスを意味するものではなく、視覚的に直感的で多くを示しているため、矢印よりも好んで使用しました。その後、他の人はそれを鶏の足と呼び始めました(例:カーリス教科書¹ )。私は今、それをフォークと呼ぶことを好みます。これは短くて要点があり、所有格のカラスや長い鶏肉を必要としません。私の元の論文では、「一般的な例で説明されている基本的なデータ構造」に焦点が当てられていました。² (タイトルは、後に私のMcGraw Hillテキストの第4章になりました、データベース管理、1986年)。慎重に選択されましたが、表記の使用は偶発的でした。フォークは次のように標準の文字セットで簡単に表現できるので気に入っています。
[X] ------ <[Y]
個々のXが複数のYに関連付けられることを示します(各Yは最大で1つのXに関連付けられます)。
カラスの足の表記の記号
次に、エンティティの表現を見てみましょう。 および関係 カラスの足の表記で。
エンティティ
定義
エンティティは、オブジェクトのクラスの表現です。人、場所、物などです。エンティティには通常、それらを説明する属性があります。
カラスの足の表記では、エンティティは長方形で表され、その名前が上部に表示されます。名前は複数形(エンティティ)ではなく単数形(エンティティ)です。
属性
定義
属性は、特定のエンティティを説明するプロパティです。
エンティティのインスタンスを一意に区別する属性は、識別子です。 。通常、このタイプの属性にはアスタリスクが付いています。
関係
定義
関係は、2つのエンティティ間の関連付けを示しています。それらは直線として表されます。通常、各関係には、関係行に書かれた動詞として表される名前があります。これは、オブジェクトを接続する関係の種類を示しています。
上記のタイプの関係はバイナリであることに注意してください。実体関連モデルでは、3次以上の関係を表すことには問題があります。
カーディナリティ
関係には2つの指標があります。これらは線の両側に表示されます。
-
最初のもの(しばしば多重度と呼ばれます )は最大を指します 1つのエンティティのインスタンスを関連エンティティのインスタンスに関連付けることができる回数。 1つにすることができます または多く 。
-
2つ目は、最小について説明します。 1つのインスタンスを他のインスタンスに関連付けることができる回数。 ゼロにすることができます または1つ 、したがって、関係をオプションとして説明します または必須 。
これら2つのインジケーターの組み合わせは、常に特定の順序になっています。関係の外側の端に配置され、多重度のシンボルが最初に来ます。関係が必須かオプションかを示す記号は、多重度の記号の後に表示されます。
カラスの足の表記:
- 複数の1つ および必須の関係 関係線に垂直な直線で表されます。
- 多数の多数 三叉の「カラスの足」のシンボルで表されます。
- オプションの関係 空の円で表されます。
最後に、ここに示すように、関係には4つの可能なエッジがあります。
-
ゼロまたは多数
-
1つまたは複数
-
たった1つ
-
ゼロまたは1
関係度により、次のように読みやすくなります:
-
1対1
-
1対多
-
多対多
ERD表記を比較するには、次を参照してください:
- 陳表記
- UML表記
- バーカー表記
- 矢印表記
- IDEF1X表記
John Vincent Carlis、Joseph D. Maguire(2001)。 *データモデリングの習得:ユーザー主導のアプローチ
「一般的な例で説明されている基本的なデータ構造モデル」* Computing Systems 1976 *、Proceedings Fifth Texas Conference on Computing Systems、テキサス州オースティン、1976年10月18〜19日、39ページ-46。 (カリフォルニア州ロングビーチ:IEEE Computer Society Publications Office)