Stellen Sie sich vor, ich habe eine Tabelle Bestellungen mit Spalten OrderID (PK), CustomerID, CustomerOrderN und so weiter. Jetzt muss ich eine Möglichkeit hinzufügen, um Bestellungen zu "schließen" und einen Grund anzugeben, warum der Auftrag geschlossen wird (zum Beispiel "angebotener Preis ist zu hoch für den Kunden", "nicht verfügbar", "Kunde gebeten, den Auftrag zu schließen").Wie modelliert Open/Closed Status in einer Datenbank?
Frage 1. Was wäre der beste und korrekte Weg, dies im Datenbankdesign zu implementieren?
Ich denke, der beste Weg ist, Closed-Spalte, die Null (wenn Reihenfolge geöffnet ist) und wenn nicht null (d. H. Wenn Reihenfolge geschlossen ist), dann der Wert verweist auf eine andere Tabelle OrderCloseReasons.
Frage 2. Was ist, wenn ich bereits :) eine boolesche Spalte in Orders Tabelle geschlossen, und jetzt muss ich implementieren Möglichkeit, Gründe für das Schließen angeben. Ich kann nicht viel umgestalten, weil das System nicht schon so klein ist, so dass es schwierig ist, das Datenbankschema umzuformen. Was wäre der beste Weg, die Möglichkeit hinzuzufügen, Gründe für die Schließung in einem solchen Fall zu spezifizieren?
Ich denke, wenn ich nur CloseReasonID Spalte auf Bestellungen Tabelle hinzufügen wird es nicht gut sein. Aber ich bin mir nicht sicher.
Vielen Dank im Voraus.
Schöne Frage, aber ich fordere Sie auf, Ihren Fragetitel zu überarbeiten. Vielleicht würde etwas wie "Wie man offene/geschlossene Status in einer Datenbank modellieren" –