Based on the Information Engineering notation.
This is an extension to the existing
Class Diagram. This extension adds:
- Additional relations for the Information Engineering notation.
- An
entity
alias that maps to the class diagram class
. - An additional visibility modifier
*
to identify mandatory attributes.
Otherwise, the syntax for drawing diagrams is the same as for class diagrams. All other features of class diagrams are also supported.
Type | Symbol |
Zero or One | |o-- |
Exactly One | ||-- |
Zero or Many | }o-- |
One or Many | }|-- |
Examples:
🎉 Copied!
| @startuml
Entity01 }|..|| Entity02
Entity03 }o..o| Entity04
Entity05 ||--o{ Entity06
Entity07 |o--|| Entity08
@enduml
|
🎉 Copied!
| @startuml
entity Entity01 {
* identifying_attribute
--
* mandatory_attribute
optional_attribute
}
@enduml
|
Again, this is the normal class diagram syntax (aside from use of
entity
instead of
class
). Anything that you can do in a class diagram can be done here.
The
*
visibility modifier can be used to identify mandatory attributes. A space can be used after the modifier character to avoid conflicts with the creole bold:
🎉 Copied!
| @startuml
entity Entity01 {
optional attribute
**optional bold attribute**
* **mandatory bold attribute**
}
@enduml
|
Currently the crows feet do not look very good when the relationship is drawn at an angle to the entity. This can be avoided by using the
linetype ortho
skinparam.