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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Mike (Gast)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.