Forum: PC-Programmierung Dropdown-Eingaben in MySQL-DB verarbeiten


von Mike (Gast)


Lesenswert?

Hallo,

ich habe ein kleines Design-Problem bei einer Web-Basierten Datenbank 
(PHP/MySQL). Es geht um Eingabefelder, dessen Eingaben mehr oder weniger 
aus einer überschaubaren Menge an Daten bestehen und von mir daher 
zunächst mit Hilfe von Dropdowns realisiert wurden. So ein Dropdown kann 
z.B. eine Auswahl an unterschiedlich hohen Preisnachlässen enthalten. Da 
später auch mal eine Fakturierung geplant ist, hielt ich es zunächst für 
sinnvoll, die ausgewählten Werte direkt in der Datenbank zu speichern. 
So lassen sich die gespeicherten Werte später auch wieder mit wenig 
Aufwand in einer lesbaren Form anzeigen. Soll jedoch vor der 
Rechnungsstellung noch etwas geändert werden, hat man natürlich das 
Problem, dass es die damaligen Werte unter Umständen schon gar nicht 
mehr in der Dropdown-Auswahl gibt! Die Werte sollen nach Möglichkeit 
aber auch nicht manuell eingegeben werden, sondern auf eine festen 
Auswahl beschränkt werden, die nur jemand mit entsprechenden 
Berechtigungen ändern kann.
Spontan fallen mir jetzt 2 Möglichkeiten ein, wie man das lösen könnte:
1) Ich speichere anstelle der tatsächlichen Werte nur Fremdschlüssel und 
lösche die nicht benötigten Werte nicht wirklich, sondern markiere sie 
nur als gelöscht, damit sie nur in der Dropdown-Auswahl angezeigt 
werden, wenn sie früher bereits gespeichert wurden.
2) Ich speichere die tatsächlichen Werte und füge bei späteren 
Änderungen dynamisch den jeweils gespeicherten Wert zur aktuellen 
DropDown-Auswahl hinzu.
Ansatz 1 scheint mir vom DB-Design her sauberer zu sein, weil ich hier 
nicht ständig prüfen müsste, ob die frühere Auswahl noch in der 
aktuellen Auswahl vorhanden ist, damit nicht 2 identische Werte zur 
Auswahl stehen. Allerdings mache ich mir hier Gedanken wegen der 
Rechnungen. Da würde ich aus Sicherheitsgründen lieber direkte Werte 
speichern und keine Fremdschlüssel.
Oder ist das hier ein klassischer Fall, wo man auf die Normalisierung 
verzichtet und sowohl den direkten Wert als auch den Fremdschlüssel 
speichert?


Viele Grüße,
Mike

von Peter II (Gast)


Lesenswert?

Preisnachlässen würde ich gar nicht normalisieren. Es wird wohl später 
nie die Notwendigkeit bestehen aus alles 5% Nachlässen 15% zu machen.

Damit hat man auch die Möglichkeit der manuellen Eingabe (wenn man es 
denn will). Also ich bin für Lösung 2.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.