Datenmodell

Hier wie von @fkleedorfer angeregt ein einfaches ER-Diagramm des Datenmodells. Es spiegelt ungefähr wider, wie ich den aktuellen Diskussionsstand in Software umsetzen würde. Es sind allerdings nur die ganz grundlegenden Beziehungen und Attribute angegeben. Es geht um das Verständnis der Struktur, nicht um die Details.

Und hier der Quelltext dazu:

[Need]
  *id
  title
  description
  +creating_user_id
  +satisfying_activity_id

[User]
  *id
  username
  reputation

[ActivityPattern]
  *id
  title
  description
  effort
  +result_means_pattern_id

[MeansPattern]
  *id
  +knowledge_term_id
  amount

[DemandPattern]
  *id
  +activity_pattern_id
  +means_pattern_id

[KnowledgeTerm]
  *id

[Activity]
  *id
  +activity_pattern_id
  +result_means_id
  relevance

[Means]
  *id
  +means_pattern_id

[Demand]
  *id
  +demand_pattern_id
  +activity_id
  +means_id

Need                *--1 User
Need                *--* ActivityPattern
ActivityPattern     *--? MeansPattern
DemandPattern       *--1 ActivityPattern
DemandPattern       *--1 MeansPattern
MeansPattern        *--1 KnowledgeTerm
Activity            *--1 ActivityPattern
Need                ?--? Activity
Means               ?--1 MeansPattern
Activity            *--? Means
Demand              *--1 DemandPattern
Demand              *--1 Activity
Demand              *--? Means
User                *--* Activity

Super, danke! Bin mal neugierig: mit welchem tool generierst du das Diagramm aus diesem sourcecode?

Entschuldige, ja, das hätte ich dazuschreiben sollen, wenn ich schon den Quelltext mitgebe. Ich habe dieses Werkzeug gefunden:

Es bedient im Wesentlichen graphviz. Die Installation ist etwas anstrengend, aber am Ende habe ich es geschafft. Der Nachteil ist, dass ich an der Anordnung der Entities nichts ändern kann. Die Vorteile sind vermutlich sofort sichtbar.