Entity-Relationship-Diagramm

Basierend auf der Information-Engineering-Notation, auch Krähenfußnotation genannt.

Dies ist eine Erweiterung des Klassen Diagramms. Dieses wird erweitert um:

  • weitere Beziehungen für die Information-Engineering-Notation,
  • ein entity Alias, dass auf das Klassendiagramm class abbildet,
  • und * als zusätzlicher Sichtbarkeitsmodifikator zur Kennzeichnung vorgeschriebener Attribute.

Ansonsten ist die Syntax für das Zeichnen von Diagrammen die gleiche wie für Klassendiagramme. Alle anderen Funktionen von Klassendiagrammen werden ebenfalls unterstützt.

Information-Engineering-Beziehungen

Art Symbol
Eine oder Keine |o--
Exakt Eine ||--
Keine oder Viele }o--
Eine oder Viele }|--

Beispiele:

🎉 Copied!

@startuml
Entität01 }|..|| Entität02
Entität03 }o..o| Entität04
Entität05 ||--o{ Entität06
Entität07 |o--|| Entität08
@enduml

Entitäten

🎉 Copied!

@startuml
entity Entität01 {
  * identifizierendes_attribut
  --
  * vorgeschriebenes_attribut
  optionales_attribut
}
@enduml

Auch hier handelt es sich um die normale Klassendiagrammsyntax (abgesehen von der Verwendung von entity anstelle von class). Alles, was Sie in einem Klassendiagramm tun können, können Sie auch hier tun.

Der Sichtbarkeitsmodifikator * kann verwendet werden, um vorgeschriebene Attribute zu kennzeichnen. Nach dem Modifizierungszeichen kann ein Leerzeichen verwendet werden, um Konflikte mit der Creole-Syntax für Fettdruck zu vermeiden:

🎉 Copied!

@startuml
entity Entität01 {
   optionales Attribut
   **optionales fettes Attribut**
   * **vorgeschriebens fettes Attribut**
}
@enduml

Komplettes Beispiel

🎉 Copied!

@startuml

' verstecke das E im Entitäten-Titel
hide circle

' verhindere Probleme mit gewinkelten Krähenfüßen
skinparam linetype ortho

entity "Entität01" as e01 {
  *e1_id : nummer <<generiert>>
  --
  *name : text
  beschreibung: text
}

entity "Entitäten02" as e02 {
  *e2_id : nummer <<generiert>>
  --
  *e1_id : nummer <<FS>>
  andere_details : text
}

entity "Entität03" as e03 {
  *e3_id : nummer <<generiert>>
  --
  e1_id : nummer <<FS>>
  andere_details : text
}

e01 ||..o{ e02
e01 |o..o{ e03

@enduml

Derzeit sehen die Krähenfüße nicht sehr gut aus, wenn die Beziehung in einem Winkel zum Objekt gezeichnet wird. Dies kann durch die Verwendung des linetype ortho skinparam vermieden werden.

WARNING
 This translation need to be updated. 
WARNING


Privacy Policy      Advertise