AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Wie Netzplan in DB abbilden?

Wie Netzplan in DB abbilden?

Ein Thema von Jumpy · begonnen am 19. Feb 2013 · letzter Beitrag vom 20. Feb 2013
Antwort Antwort
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#1

AW: Wie Netzplan in DB abbilden?

  Alt 19. Feb 2013, 09:05
Warum keine Normalisierung?
Normalisiere alles wie gewohnt, passt halt die Darstellung dann dementsprechend an.
Mein erster Gedanke wäre das hier:

Vorgang {[ID, Bezeichnung]}
Vorgänger {[ID, vorID]}
Nachfolger {[ID, nachID]}

Die Beziehung zwischen Vorgäng und Vorgänger/Nachfolger ist 1:n.
Du kannst bei der Darstellung der Vörgänge die Vorgänger und Nachfolger ermitteln und diese auch genauso wie in dieser Tabelle
anzeigen.

Edit: Ich hab mir nur das erste Bild angesehen und direkt daraufhin geantwortet.
Falls es nichts zur Sache tut, dann sry xD
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

AW: Wie Netzplan in DB abbilden?

  Alt 19. Feb 2013, 10:19
Die Beziehung zwischen Vorgäng und Vorgänger/Nachfolger ist 1:n.
Du kannst bei der Darstellung der Vörgänge die Vorgänger und Nachfolger ermitteln und diese auch genauso wie in dieser Tabelle
anzeigen.
Nö, eigentlich nicht. Hättest du dir das erste Bild mal genauer angeschaut, wärst du auf eine m:n Beziehung gekommen. Schließlich kann jeder Vorgang mehrere Vorgänge als "Vorgänger" haben und mehrere Vorgänge als "Nachfolger"

Ich würde da jetzt so ein Datenbankdesign machen:

Tabelle "Vorgang"
- id int autoinc primary_key
- duration int (Zeitaufwand in Minuten oder sowas)
- name varchar(255) (Name des Vorgangs, also z.B. "Material bestellen")

Tabelle "VorgangVorgang"
- id int (optional)
- predID int
- succID int

Die Namen könnte man vielleicht noch überdenken
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: Wie Netzplan in DB abbilden?

  Alt 19. Feb 2013, 10:25
Sry, stimmt. Ich habe nur aus der Perspektive von "Vorgang" gedacht.. Also zu einem Vorgang kann es mehrere Vorgänger/Nachfolger geben..
Danke fürs Korrigieren
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat
EarlyBird

Registriert seit: 29. Mär 2007
235 Beiträge
 
#4

AW: Wie Netzplan in DB abbilden?

  Alt 19. Feb 2013, 10:28
Bei DevExpress findest Du eine Komponente "ExpressOrgChart™ Suite"
Die ist DB gebunden.
http://www.devexpress.com/Products/VCL/ExOrgChart/
In der Trialversion gibt es auch eine Demo dazu.
Vielleicht hilft Dir das als Ansatz ja weiter
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#5

AW: Wie Netzplan in DB abbilden?

  Alt 19. Feb 2013, 13:31
Der Renderer ist aber mistig, oder?
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
2.056 Beiträge
 
Delphi 12 Athens
 
#6

AW: Wie Netzplan in DB abbilden?

  Alt 19. Feb 2013, 14:18
Einen Graph aus Knoten und gerichteten Kanten abbilden.

nodes{ID,Bezeichnung,Dauer, Farbe...}
edges{ID(der form halber),StartNodeID, EndNodeID, Bezeichnung, LinienArt, Farbe,...}

mehr braucht es nicht
Eine liste von Knoten und eine Adjazenzliste.
Andreas
Nobody goes there anymore. It's too crowded!

Geändert von QuickAndDirty (19. Feb 2013 um 14:20 Uhr)
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#7

AW: Wie Netzplan in DB abbilden?

  Alt 19. Feb 2013, 18:42
mehr braucht es nicht
Nun ja. Vielleicht einen Layouter und einen Renderer. Der Layouter sollte die Knoten so plazieren, das sie gleichmäßig angeordnet sind und sich die Verbindungen möglichst nicht überschneiden.

Und der Renderer malt.

Also ein klitzekleinwenig mehr braucht es schon. Und -wie ich finde- sind das die größten Humpen, wobei der Renderer auch keine Hürde ist.
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.740 Beiträge
 
Delphi 6 Enterprise
 
#8

AW: Wie Netzplan in DB abbilden?

  Alt 20. Feb 2013, 07:40
Hallo und guten morgen. Und erstmal danke.

Bevor das ausartet, mir ging es primär um die Datenbankstruktur und da haben apthon und jfheins ja gute Vorschläge gemacht, die ich als Basis nehmen werde.
Ich werde den Vorgängen zusätzlich einen Rang/Ebene/Kategorie o.ä. spendieren, um zu wissen, welche Vorgänge parallel (auf gleicher Höhe) gezeichnet werden sollen.

Aber mir ging es wie gesagt primär um das Speichern in der DB. Zeichnen will ich das gar nicht, vor allem nicht als Graph mit Linien und so, das könnt ich in Visio 100mal schneller. Meine momentane Idee ist, das jeder Rang ein Panel oder Frame ist in den dann die Vorgänge als Checkboxen oder Button kommen. Aber soweit bin ich mit der Planung noch nicht.
Ralph
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#9

AW: Wie Netzplan in DB abbilden?

  Alt 20. Feb 2013, 09:23
Ich werde den Vorgängen zusätzlich einen Rang/Ebene/Kategorie o.ä. spendieren, um zu wissen, welche Vorgänge parallel (auf gleicher Höhe) gezeichnet werden sollen.
Wenn Du dass machst, wäre das m.E. eine redundante Information. Ob es notwendig ist, diese Info (Rang) bequem auslesen zu können, sei dahingestellt. Es wäre dann aber notwendig, bei jedem Insert/Update zu prüfen, ob sich die Rang-Infos verschoben haben. Das kann 0-n Sätze (u.U. ganz viele) betreffen.
Also wäre zu entscheiden: Aufwändig nachführen und bequem auslesen oder aktuell abfragen/evaluieren.
Gruß, Jo
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
2.056 Beiträge
 
Delphi 12 Athens
 
#10

AW: Wie Netzplan in DB abbilden?

  Alt 20. Feb 2013, 10:13
mehr braucht es nicht
Nun ja. Vielleicht einen Layouter und einen Renderer. Der Layouter sollte die Knoten so plazieren, das sie gleichmäßig angeordnet sind und sich die Verbindungen möglichst nicht überschneiden.

Und der Renderer malt.

Also ein klitzekleinwenig mehr braucht es schon. Und -wie ich finde- sind das die größten Humpen, wobei der Renderer auch keine Hürde ist.
Mit "abbilden" war hier, "In einer DB abbilden" gemeint.
Das letzte mal habe ich Graphen über das GraphViz Framework gelayoutet und gerendert. Besonders sinnvoll sind, als SVG Grafik gerenderte Graphen,...leider ist SVG-Support nicht standardmäßig in meinem Delphi 2007 dabei...aber ne Browserkomponente ^^ . Ich habe das damals einfach in C# gemacht
Für einen Netzplan würde ich die DOT engine empfehlen ansonsten liegt mir FDP und Circo sehr.
Andreas
Nobody goes there anymore. It's too crowded!

Geändert von QuickAndDirty (20. Feb 2013 um 10:18 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz