Enterprise Architect: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
| (2 intermediate revisions by the same user not shown) | |||
| Line 2: | Line 2: | ||
* https://en.wikipedia.org/wiki/Enterprise_Architect_(software) | * https://en.wikipedia.org/wiki/Enterprise_Architect_(software) | ||
* https://www.sparxsystems.de/enterprise-architect/ | * https://www.sparxsystems.de/enterprise-architect/ | ||
= Database Schema = | |||
== Core Tables == | |||
<uml> | |||
hide methods | |||
hide stereotypes | |||
hide circle | |||
skinparam classAttributeIconSize 0 | |||
package "Core Tables" { | |||
class t_package { | |||
Package_ID INTEGER | |||
Parent_ID INTEGER | |||
Name TEXT | |||
ea_guid TEXT | |||
} | |||
class t_object { | |||
Object_ID INTEGER | |||
Package_ID INTEGER | |||
Object_Type TEXT | |||
Name TEXT | |||
ea_guid TEXT | |||
} | |||
class t_attribute { | |||
ID INTEGER | |||
Object_ID INTEGER | |||
Name TEXT | |||
Type TEXT | |||
Scope TEXT | |||
ea_guid TEXT | |||
} | |||
class t_operation { | |||
OperationID INTEGER | |||
Object_ID INTEGER | |||
Name TEXT | |||
Type TEXT | |||
ea_guid TEXT | |||
} | |||
class t_operationparams { | |||
OperationID INTEGER | |||
Name TEXT | |||
Type TEXT | |||
Pos INTEGER | |||
} | |||
class t_connector { | |||
Connector_ID INTEGER | |||
Start_Object_ID INTEGER | |||
End_Object_ID INTEGER | |||
Connector_Type TEXT | |||
SourceCard TEXT | |||
DestCard TEXT | |||
} | |||
} | |||
package "Tagged Value Tables" { | |||
class t_objectproperties { | |||
PropertyID INTEGER | |||
Object_ID INTEGER | |||
Property TEXT | |||
Value TEXT | |||
} | |||
class t_attributetag { | |||
PropertyID INTEGER | |||
ElementID INTEGER | |||
Property TEXT | |||
VALUE TEXT | |||
} | |||
class t_operationtag { | |||
PropertyID INTEGER | |||
ElementID INTEGER | |||
Property TEXT | |||
VALUE TEXT | |||
} | |||
class t_connectortag { | |||
PropertyID INTEGER | |||
ElementID INTEGER | |||
Property TEXT | |||
VALUE TEXT | |||
} | |||
} | |||
t_package "1" --> "0..*" t_package : Parent_ID | |||
t_package "1" --> "0..*" t_object : Package_ID | |||
t_object "1" --> "0..*" t_attribute : Object_ID | |||
t_object "1" --> "0..*" t_operation : Object_ID | |||
t_operation "1" --> "0..*" t_operationparams : OperationID | |||
t_connector --> t_object : Start_Object_ID | |||
t_connector --> t_object : End_Object_ID | |||
t_object "1" --> "0..*" t_objectproperties : Object_ID | |||
t_attribute "1" --> "0..*" t_attributetag : ElementID | |||
t_operation "1" --> "0..*" t_operationtag : ElementID | |||
t_connector "1" --> "0..*" t_connectortag : ElementID | |||
note right of t_package | |||
Root packages have Parent_ID = 0 | |||
end note | |||
note right of t_object | |||
Object_Type discriminates: | |||
- Class | |||
- Interface | |||
- Package | |||
- Note | |||
etc. | |||
end note | |||
note right of t_connector | |||
Connector_Type: | |||
- Association | |||
- Generalization | |||
- Dependency | |||
- Aggregation | |||
etc. | |||
end note | |||
note bottom of "Tagged Value Tables" | |||
Quirk: Inconsistent naming | |||
- t_objectproperties uses "Value" | |||
- Others use "VALUE" | |||
Quirk: Inconsistent FK columns | |||
- t_objectproperties: Object_ID | |||
- Others: ElementID | |||
end note | |||
</uml> | |||
= Logical Schema = | |||
<uml> | |||
object Model { | |||
Root of hierarchy | |||
Synthetic type | |||
} | |||
object Package { | |||
Name | |||
ea_guid | |||
} | |||
object Class { | |||
Name | |||
Stereotype | |||
} | |||
object Attribute { | |||
Name | |||
Type | |||
Scope | |||
} | |||
object Operation { | |||
Name | |||
Type | |||
} | |||
object Parameter { | |||
Name | |||
Type | |||
Pos | |||
} | |||
object Association { | |||
Name | |||
SourceCard | |||
DestCard | |||
} | |||
object TaggedValue { | |||
Property | |||
Value/Notes | |||
} | |||
Model "1" *-- "0..*" Package : packages > | |||
Package "1" *-- "0..*" Package : packages > | |||
Package "1" *-- "0..*" Class : classes > | |||
Package "1" *-- "0..*" Association : associations > | |||
Class "1" *-- "0..*" Attribute : attributes > | |||
Class "1" *-- "0..*" Operation : operations > | |||
Operation "1" *-- "0..*" Parameter : parameters > | |||
Class "1" *-- "0..*" TaggedValue : taggedValues > | |||
Attribute "1" *-- "0..*" TaggedValue : taggedValues > | |||
Operation "1" *-- "0..*" TaggedValue : taggedValues > | |||
Association "1" *-- "0..*" TaggedValue : taggedValues > | |||
note right of Model | |||
Root packages from t_package | |||
WHERE Parent_ID = 0 | |||
end note | |||
note right of Package | |||
Nested packages via | |||
Parent_ID foreign key | |||
end note | |||
note right of Association | |||
From t_connector filtered | |||
by Connector_Type | |||
Ownership simulated via: | |||
Package → Object → Connector | |||
using Start_Object_ID | |||
end note | |||
note bottom of TaggedValue | |||
Comes from different tables | |||
depending on parent type: | |||
- Class: t_objectproperties | |||
- Attribute: t_attributetag | |||
- Operation: t_operationtag | |||
- Association: t_connectortag | |||
end note | |||
</uml> | |||
Latest revision as of 06:31, 13 February 2026
Links
- https://en.wikipedia.org/wiki/Enterprise_Architect_(software)
- https://www.sparxsystems.de/enterprise-architect/
Database Schema
Core Tables

Logical Schema
