Sondage. Dénormalisation ou pas?

Récemment, mon collègue professionnel et moi avons discuté sur Internet (plus précisément dans les réseaux locaux sur Habré) de l'architecture d'un certain système, et nous avons eu un différend sur une question.



Il y a un entrepôt où sont stockés divers matériaux, il y a des documents pour la réception et la consommation des matériaux, il y a des enregistrements dans les documents avec des informations "article, quantité", une relation un-à-plusieurs. La base de données contient un tableau avec des informations sur la disponibilité actuelle des articles dans l'entrepôt, il y a un tableau pour les documents et un tableau pour leurs positions. Appelons-les "current_stocks", "documents", "document_positions".



La table "current_stocks" doit-elle être considérée comme une dénormalisation de données?



L'argument du collègue est que les données dans "current_stocks" peuvent être calculées à partir de documents pour toute la durée de vie du système, il s'agit donc d'une dénormalisation.



Mon argument est que tout état actuel peut être calculé à partir de l'historique des modifications, il ne s'agit donc pas d'une dénormalisation. Sinon, le terme «normalisation» n'aurait aucun sens. Il se réfère spécifiquement à la modélisation de l'état actuel. Ce sont différents modèles, "current_stocks" modélise l'état de l'entrepôt, "document_positions" lignes de texte dans les documents.




All Articles