Ohne die gesamte Struktur Ihrer Tische zu kennen, bin ich in meinen Ratschlägen eingeschränkt. Nein, Ihre Datenbank wird Ihren Tod jedoch nicht darstellen, wenn Sie eine Spalte unter den folgenden Umständen entfernen (keineswegs erschöpfend):
- Sie verwenden weiterhin einen Datenbankschlüssel, um Ihre Dimensionen zuzuordnen.
- Ihre neuen Indizes in dieser neuen Dimensionstabelle decken die Indizes ordnungsgemäß ab, wenn sie sein sollten.
- Sie verwalten diese Anzahl von Indizes, um das Einfügen / Aktualisieren nicht zu überlasten
Ihr neues Design verfügt über zweidimensionale Tabellen und eine Faktentabelle
- Aus diesem Grund ging es mit einer "Querverweis" -Tabelle von m: 1 nach m: n. Wir nennen dies eine andere Dimension.
Das Design hat tatsächlich die Normalisierung implementiert, um dies zu erreichen
- Durch das Entfernen einer Abhängigkeit ist Ihr Team besser in der Lage, Fakten abzurufen, die die Verarbeitung Ihrer Daten auf eine aussagekräftigere Weise verändern können.
Hinweis zu Abmessungen und Fakten
- Dimensionen für den beschreibenden Kontext
Dimensionen bieten den Kontext „Wer, Was, Wo, Wann, Warum und Wie“, der ein Geschäftsprozessereignis umgibt. Dimensionstabellen enthalten die beschreibenden Attribute, die von BI-Anwendungen zum Filtern und Gruppieren der Fakten verwendet werden. Mit Blick auf die Körnung einer Faktentabelle können alle möglichen Dimensionen identifiziert werden.
Wann immer möglich, sollte eine Dimension einwertig sein, wenn sie einer bestimmten Faktenzeile zugeordnet ist . Dimensionstabellen werden manchmal als „Seele“ des Data Warehouse bezeichnet, da sie Einstiegspunkte und beschreibende Beschriftungen enthalten, mit denen das DW / BI-System für die Geschäftsanalyse genutzt werden kann. Ein unverhältnismäßiger Aufwand wird in die Datenverwaltung und Entwicklung von Dimensionstabellen gesteckt, da diese die Treiber für die BI-Erfahrung des Benutzers sind.
Fakten sind die Messungen, die sich aus einem Geschäftsprozessereignis ergeben und fast immer numerisch sind. Eine einzelne Faktentabellenzeile hat eine Eins-zu-Eins-Beziehung zu einem Messereignis, wie durch die Körnung der Faktentabelle beschrieben . Somit entspricht eine Faktentabelle einem physisch beobachtbaren Ereignis und nicht den Anforderungen eines bestimmten Berichts . Innerhalb einer Faktentabelle sind nur Fakten zulässig, die mit dem deklarierten Korn übereinstimmen . Beispielsweise sind bei einer Einzelhandelsverkaufstransaktion die Menge eines verkauften Produkts und sein erweiterter Preis gute Fakten, während das Gehalt des Geschäftsleiters nicht zulässig ist.
Kimball Dimensional Modeling Techniques
Mein Vorschlag ist, dass das Designteam wissen sollte, dass das Durchsetzen von Regeln in der Datenbank am besten ist, es sei denn, dies beeinträchtigt die Leistung. Ich kenne jedoch die Größe oder Quantifizierung Ihrer DDL-Anweisungen nicht, um dies vollständig zu beantworten.
Seien Sie jedoch versichert, dass dies eine positive Änderung für Ihr System sein sollte, da SQL Server jetzt nicht mehr all diese zusätzlichen Daten durchlaufen muss, um das abzurufen, was tatsächlich wichtig ist.
Ich kann nicht für deine Datenbank sprechen, aber ich würde dich dafür hassen :-)
Die Legacy-Spalte enthält nach der Änderung redundante Daten. Dies kann zu Datenkonflikten führen, wenn die alte Spalte und die neue XRef-Tabelle nicht konsistent miteinander verwaltet werden. Bedenken Sie, dass Entwickler, die mit den technischen Schulden nicht vertraut sind, die Datenbank logisch beschädigen könnten.
Es fällt mir schwer, mir einen Grund vorzustellen, warum man die alte Spalte und Beziehung nicht entfernen sollte. Dadurch wird auch sichergestellt, dass der gesamte abhängige Code ordnungsgemäß geändert wurde.
quelle