MySQL beste Modellierung

Oldboii

Mitglied
Hi Java-forum,

Ich hab jetzt kein direktes Problem an sich. Aber mich würde einfach mal die beste Lösung interesieren.
Also, mir geht es um eine bestimmte Tabelle. Und zwar, brauche ich eine Auftragstabelle unter anderem enthält diese natürlich Auftragsnummer, Erstellungsdatum, etc. etc.; jetzt habe ich folgendes gedankliches Problem - in der Auftragstablle soll unterem auch festgelegt werden ob ein Firmeneigener Mitarbeiter oder eine Fremdfirma den Auftrag übernommen hat.
Wird der Auftrag von einem Mitarbeiter erledigt, werden die Kosten mit Stundensatz*Stunden berechnet, was ebenfalls im Auftrag stehen soll.
Wird der Auftrag jedoch von der Fremdfirma übernommen, können allein Kosten eingetragen werden.
Es gibt bereits eine Tabelle Mitarbeiter und eine Tabelle Fremdfirmen(Dienstleister). Wie lassen sich nun die meisten Informationen in die Auftragstabelle packen, unter Einhaltung der Normalformen??
Alle Überlegungen von mir enden mit sinnlosen Nullwerten oder überflüssigen Spalten. ???:L

Wie immer, ich möchte nicht das mir irgendjemand jetzt meine "Arbeit" abnimmt.
Ich würde lediglich gerne eure Ideen oder Tipps, hören falls euch spontan etwas dazu einfällt.
Danke
 
M

Marcinek

Gast
Man muss bei sowas immer Aufwand und Nutzen gegebüberstellen.

i.D.R. sind jetzt ein paar "überflüssige" Werte nur für dich als Implementierer "doof" anzusehen. (Das kenne ich zu genüge).

Wenn du aber in absehbarer Zeit vor hast noch mehr Abwicklungen zu einem Auftrag zu machen würde ich wie Folgt vorgehen:

Auftragstabelle:
Bearbeitertyp (enum) MA, FREMD
BearbeiterID: ID aus der jeweiligen Tabelle

Grundkosten
kostenmultiplikator

Wenn nun eine MA das bearbeitet, dann ist

Bearbeiterryp = MA, BearbeiterID: ID aus MA Tabelle

Grundkosten deine Kosten / Stunde
Multiplikaor anzahl der Stunden

Andernfals

Festpreis und multiplikator = 1

in beiden Fällen wird Grundpreis * multi berechnet für den Auftragswert, egal wer es gemacht hat.
 

Oldboii

Mitglied
Hmmm danke Marcinek.
Alles unter einen Bearbeitungstyp packen + ID und den Kostenmultiplikator nach Typ entscheiden zu lassen... wenn ich das richtig verstanden habe; ist keine schlechte Idee.

Im Moment wollte ich es mit 2 ComboTabellen lösen. Eine Tabelle ComboMA mit eigener ID, AuftragsID, MitarbeiterID und Stunden. Und eben eine Fremdfirma ComboTabelle mit ID, AuftragsID, FirmenID, Kosten.
 

Ähnliche Java Themen


Oben