Основана на нотации Information Engineering.
Является расширением существующей
диаграммы классов. Это расширение добавляет:
- Дополнительные отношения для нотации Information Engineering.
- Псевдоним
entity
, который сопоставляется с диаграммой классов class
.
- Дополнительный модификатор видимости
*
для идентификации обязательных атрибутов.
В остальном синтаксис построения диаграмм такой же, как и для диаграмм классов. Все остальные возможности диаграмм классов также поддерживаются.
See also Chen [Entity Relationship Diagrams](er-diagram).
*[Ref. [GH-31](https://github.com/plantuml/plantuml/pull/31)]*
WARNING
This translation need to be updated. WARNING
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
|
🎉 Copied!
|
@startuml
' hide the spot
' hide circle
' avoid problems with angled crows feet
skinparam linetype ortho
entity "Entity01" as e01 {
*e1_id : number <<generated>>
--
*name : text
description : text
}
entity "Entity02" as e02 {
*e2_id : number <<generated>>
--
*e1_id : number <<FK>>
other_details : text
}
entity "Entity03" as e03 {
*e3_id : number <<generated>>
--
e1_id : number <<FK>>
other_details : text
}
entity "Entity04" as e04 {
*e4_id : number <<generated>>
--
e1_id : number <<FK>>
other_details : text
}
e01 ||..o{ e02
e01 |o..o{ e03
e01 |o..o{ e04
@enduml
|
В настоящее время вороньи лапки выглядят не очень хорошо, когда отношения нарисованы под углом к сущности. Этого можно избежать, используя параметр
linetype ortho
skinparam.
WARNING
This translation need to be updated. WARNING