4

エンティティ関係の標準 (非グラフィカル) 表記法はありますか?

今、私は独自のジャンキー表記法を使用しています:

  • ユーザー >> 写真 , (1-多数)
  • ユーザー > プロファイル、(1-1 hasOne)
  • プロフィール < ユーザー , (1-1 所属先)
  • 写真 << ユーザー , (多数-1 所属)
  • 写真 <> タグ , (多-多)
4

3 に答える 3

7

ほぼ 10 年後、平文の標準を見つけるのにも苦労しました。これが私がこれまでに見つけたものです(公正な警告ですが、テキストでうまく機能するのは主にグラフィカルな標準です)。

まず、オブジェクト間の関係のカーディナリティを表す一般的な用語は「多重度」です。

この関連付け関係は、(少なくとも) 2 つの関連するクラスの 1 つが他のクラスを参照することを示します。この関係は通常、「A has a B」(母猫には子猫がいて、子猫には母猫がいる)と表現されます。

かなりの数のソースでも「カーディナリティ」という用語が使用されています。この SO question about Multiplicity vs Cardinalityの違いについて、いくつかの良い答えがあります。これはかなり簡潔であることがわかりました。

...多重度は、下位カーディナリティと上位カーディナリティで構成されます。カーディナリティは、セット内の要素の数です。したがって、多重度は、セットの最小許容メンバーと最大許容メンバーを示します。

UML の多重度表記

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             |
    +---------------------------------+---------------------+
    
  • IBMの

    +------+--------------------+-------------------------------+
    | 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 とその他

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)                |
+----------------------+-----------------+---------------------------------+-------------+-----------------+----------------------+
于 2018-05-15T05:28:49.313 に答える
5

ER-Diagramms と同じものを使用しない理由:

  • ユーザー1-nの写真
  • ユーザー 1-1 プロフィール
  • 写真n-1 ユーザー

等々。しかし、公式の平文標準については聞いたことがありません。

于 2009-10-06T21:15:46.917 に答える