Umfrage. Denormalisierung oder nicht?

Kürzlich haben mein professioneller Kollege und ich die Architektur eines bestimmten Systems im Internet (genauer gesagt im LAN auf Habré) besprochen, und wir hatten einen Streit über ein Problem.



Es gibt ein Lager, in dem verschiedene Materialien gelagert werden, es gibt Dokumente für den Empfang und den Verbrauch von Materialien, es gibt Aufzeichnungen in den Dokumenten mit Informationen "Material, Menge", eine Eins-zu-Viele-Beziehung. Die Datenbank enthält eine Tabelle mit Informationen zur aktuellen Verfügbarkeit von Materialien im Lager, eine Tabelle für Dokumente und eine Tabelle für deren Positionen. Nennen wir sie "current_stocks", "documents", "document_positions".



Sollte die Tabelle "current_stocks" als Daten-Denormalisierung betrachtet werden?



Das Argument des Kollegen ist, dass die Daten in "current_stocks" aus Dokumenten für die gesamte Lebensdauer des Systems berechnet werden können. Dies ist also eine Denormalisierung.



Mein Argument ist, dass jeder aktuelle Status aus dem Änderungsverlauf berechnet werden kann, dies ist also keine Denormalisierung. Andernfalls wäre der Begriff "Normalisierung" nicht sinnvoll. Es bezieht sich speziell auf die Modellierung des aktuellen Zustands. Dies sind verschiedene Modelle, "current_stocks" modelliert den Status des Lagers, "document_positions" Textzeilen in Dokumenten.




All Articles