エンティティ関係の標準 (非グラフィカル) 表記法はありますか?
今、私は独自のジャンキー表記法を使用しています:
- ユーザー >> 写真 , (1-多数)
- ユーザー > プロファイル、(1-1 hasOne)
- プロフィール < ユーザー , (1-1 所属先)
- 写真 << ユーザー , (多数-1 所属)
- 写真 <> タグ , (多-多)
エンティティ関係の標準 (非グラフィカル) 表記法はありますか?
今、私は独自のジャンキー表記法を使用しています:
ほぼ 10 年後、平文の標準を見つけるのにも苦労しました。これが私がこれまでに見つけたものです(公正な警告ですが、テキストでうまく機能するのは主にグラフィカルな標準です)。
まず、オブジェクト間の関係のカーディナリティを表す一般的な用語は「多重度」です。
この関連付け関係は、(少なくとも) 2 つの関連するクラスの 1 つが他のクラスを参照することを示します。この関係は通常、「A has a B」(母猫には子猫がいて、子猫には母猫がいる)と表現されます。
かなりの数のソースでも「カーディナリティ」という用語が使用されています。この SO question about Multiplicity vs Cardinalityの違いについて、いくつかの良い答えがあります。これはかなり簡潔であることがわかりました。
...多重度は、下位カーディナリティと上位カーディナリティで構成されます。カーディナリティは、セット内の要素の数です。したがって、多重度は、セットの最小許容メンバーと最大許容メンバーを示します。
UML の多重度表記はテキストでうまく機能します。
+--------------+--------+-----------------------------------------+
| Multiplicity | Option | Cardinality |
+--------------+--------+-----------------------------------------+
| 0..0 | 0 | Collection must be empty |
| 0..1 | | No instances or one instance |
| 1..1 | 1 | Exactly one instance |
| 0..* | * | Zero or more instances |
| 1..* | | At least one instance |
| 5..5 | 5 | Exactly 5 instances |
| m..n | | At least m but no more than n instances |
+--------------+--------+-----------------------------------------+
これにはいくつかのバリエーションがあるようです:
Microsoft の関係表記法
+---------------------------------+---------------------+
| Multiplicity | Cardinality |
+---------------------------------+---------------------+
| * | One to zero or more |
| 1..* | One to one or more |
| 0..1 | One to zero or one |
| 1 | Exactly one |
| Two numbers separated by a dash | a range |
+---------------------------------+---------------------+
+------+--------------------+-------------------------------+
| Rose | Software Architect | Description |
+------+--------------------+-------------------------------+
| n | * | Unlimited number of instances |
| 1 | 1 | Exactly 1 instance |
| 0..n | * | 0 or more instances |
| 1..n | 1,,* | 1 or more instances |
| 0..1 | 0..1 | 0 or 1 instances |
+------+--------------------+-------------------------------+
Smartdraw のマーティン スタイル
私が読んだことから、チェンスタイルは「オリジナルフォーマット」です。私は通常、これをテキストで次のように表現しています。
+----------+--------------+
| Notation | Description |
+----------+--------------+
| 1:1 | One to One |
| 1:N | One to Many |
| N:1 | Many to One |
| M:N | Many to Many |
+----------+--------------+
IDEF1x (NIST 標準) があります。
IDEF1X は、概念スキーマの開発に必要なセマンティック コンストラクトをサポートするように設計された構文を使用して、リレーショナル データベースを設計する方法です。
これは、ウィキペディアのエンティティ関係モデルの記事で参照されているMin-Max / ISO 表記法(英語のリンクは現在壊れていますが、ここにドイツ語の記事があります) を説明しているようです。 .
(min,max) 表記に関するドイツ語の記事には、UML、Chen、(min,max)、およびMC (Modified Chen)を比較する便利な表もあります。
+----------------------+-----------------+---------------------------------+-------------+-----------------+----------------------+
| (min,max) [Entity 1] | [UML, Entity 1] | Chen-Notation | MC-Notation | [UML, Entity 2] | (min,max) [Entity 2] |
+----------------------+-----------------+---------------------------------+-------------+-----------------+----------------------+
| (0,1) | 0..1 | 1:1 | c:c | 0..1 | (0,1) |
| (0,N) | 0..1 | 1:N | c:mc | 0..* | (0,1) |
| (0,N) | 1..1 | 1:N + total participation | 1:mc | 0..* | (1,1) |
| (0,N) | 0..* | M:N | mc:mc | 0..* | (0,N) |
| (1,1) | 0..1 | total participation + 1:1 | c:1 | 1..1 | (0,1) |
| (1,N) | 0..1 | total participation + 1:N | c:m | 1..* | (0,1) |
| (1,1) | 1..1 | total part. + 1:1 + total part. | 1:1 | 1..1 | (1,1) |
| (1,N) | 1..1 | total part. + 1:N + total part. | 1:m | 1..* | (1,1) |
| (1,N) | 0..* | total participation + M:N | mc:m | 1..* | (0,N) |
| (1,N) | 1..* | total part. + M:N + total part. | m:m | 1..* | (1,N) |
+----------------------+-----------------+---------------------------------+-------------+-----------------+----------------------+
ER-Diagramms と同じものを使用しない理由:
等々。しかし、公式の平文標準については聞いたことがありません。