Wir haben ein Sales-bezogenes Projekt.Datenbankentwurf?
Jetzt führen wir den Lagerbestand der Produkte in einer separaten Tabelle mit dem Namen Stock
. Zum Zeitpunkt des Verkaufs, Verkauf-Rückgabe, Kauf und Rückgabe wird die Lagerliste aktualisiert. Es funktioniert gut, aber während wir einen Verkauf oder Kauf löschen oder ändern, ist es schwieriger, den Bestand zu erhalten.
Ich sagte meinem Chef, dass wir den Bestand nicht in einer separaten Tabelle behalten wollen, sondern eine Funktion schreiben, um den Bestand aus den zugehörigen Tabellen zu berechnen (sales
, purchase
, ...). Wann immer der Benutzer den Bestand wissen möchte, ruft er die Funktion auf, um den Bestand sehr einfach zu erhalten. Dabei müssen wir nicht über die Lagerhaltung nachdenken. Ich denke, es ist eine gute Idee.
Aber er sagte mir, dass, wenn viele Datensätze kommen, die Funktion mehr Zeit zur Ausführung braucht und es die Effizienz der Software reduziert. Ich weiß nicht, ob das stimmt oder nicht. Eine Sache, die ich weiß, ist, dass es gegen die Normalisierung von DB ist. Wir müssen die berechneten Werte nicht innerhalb oder außerhalb der Tabelle behalten.
Wie könnte ich diese DB entwerfen? Ist ein separater Stock
Tisch besser oder nicht?