Faktentabellen

Jedes Data Warehouse enthält eine oder mehrere Faktentabellen. Im Mittelpunkt eines stern- bzw. schneeflockenförmigen Schemas werden in der Faktentabelle die Daten erfasst, mit denen die Aktivitäten eines Teams gemessen werden. Faktentabellen enthalten normalerweise viele Zeilen, insbesondere dann, wenn sie den Verlauf eines umfangreichen Teamprojekts über ein oder zwei Jahre enthalten.

Ein Hauptmerkmal einer Faktentabelle besteht darin, dass sie numerische Daten (Fakten) enthält, die zusammengefasst werden können, um Informationen über den Verlauf der Aktivitäten einer Organisation zu liefern. Jede Faktentabelle enthält zudem einen mehrteiligen Index, der als Fremdschlüssel die Primärschlüssel verwandter Dimensionstabellen enthält, die wiederum die Attribute der Faktendatensätze enthalten. Faktentabellen sollten keine beschreibenden Informationen oder andere Daten als die Felder für numerische Daten (Fakten) und die Indexfelder enthalten, die die Fakten mit den entsprechenden Einträgen in den Dimensionstabellen in Beziehung setzen.

Faktentabellen im Datencube

In der folgenden Tabelle werden die in der relationalen Team System-Datenbank enthaltenen Faktentabellen aufgeführt.

Tabelle Beschreibung

Builddifferenzmenge

Enthält eine Zeile pro Differenzmenge in diesem Build, die jedoch nicht in einem früheren Build desselben Typs enthalten war. Dadurch können Buildinformationen mit Eincheckvorgängen sowie mit den Arbeitsaufgaben korreliert werden, die den Eincheckvorgängen zugeordnet sind.

Build Coverage

Enthält eine Zeile für jeden Zeitcode, wenn Metriken für einen Build erfasst wurden

Builddetails

Enthält eine Zeile für jede Ausführung eines Builds

Projekt erstellen

Enthält eine Zeile für jede Erstellung eines Projekts in einem Builds

Codeänderung

Enthält eine neue Zeile für jede Überarbeitung einer Datei

Aktuelle Arbeitsaufgabe

Enthält eine Zeile für jede Arbeitsaufgabe, die sich derzeit im System befindet

Auslastungstestzähler

Zusammenfassungsinformationen für jeden gelesenen Leistungsindikatorwert für die einzelnen ausgeführten Auslastungstests. Enthält die Zähler-ID, den Wert sowie den Ursprungscomputer.

Belastungstestdetails

Enthält eine Zeile für jede Ausführung eines Auslastungstests

Auslastungstest-Seitenzusammenfassung

Enthält eine Zeile für jeden URL, der während eines Auslastungstests aufgerufen wurde. Fasst Informationen für jede Seite der obersten Ebene zusammen, enthält jedoch keine detaillierten Informationen für abhängige Anforderungen, z. B. Bilder.

Zusammenfassung des Auslastungstests

Enthält eine Zeile für jeden im Rahmen eines Auslastungstests ausgeführten Testlauf. Enthält die Anzahl der Ausführungen des Tests, die Anzahl der Fehler, die durchschnittliche Dauer der Ausführung usw.

Belastungstesttransaktion

Enthält die Durchschnittsdauer der einzelnen Transaktionen. Wenn beispielsweise Komponententests bei Belastung ausgeführt werden, werden die Zeitgeber im Test als erfasste Durchschnittsdauer für jede Transaktion gemeldet.

Run Coverage

Enthält eine Zeile für jede Ausführung eines Testlaufs, bei dem Codeabdeckungsmetriken erfasst werden

Testergebnis

Enthält eine Zeile pro Ausführung der einzelnen Tests. Enthält das Ergebnis des Tests, Start- und Endzeitpunkt sowie Metadaten zum Test (Kategorie, CSS-Knoten usw.).

Arbeitsaufgaben-Differenzmenge

Enthält eine Zeile für jede Beziehung zwischen einer Arbeitsaufgabenrevision und einer Differenzmenge

Arbeitsaufgabenversionsgeschichte

Versionierte Datei mit Arbeitsaufgaben, wobei mit Übergangsanzahl und Datensatzanzahl Informationen zu einem bestimmten Zeitpunkt aggregiert werden

Es gibt fünf Felder, die in allen Faktentabellen angezeigt werden:

  • ID

  • Logische Verfolgungs-ID

  • LastUpdatedTime

  • LastUpdatedBy

  • TrackingId

Darüber hinaus gibt es einen Satz von Fremdschlüsseln, der Verknüpfungen mit den Dimensionstabellen herstellt.

Verfolgungsverlauf in der Faktentabelle

Arbeitsaufgaben und Testergebnisse enthalten Fakten, die sich mit der Zeit ändern. Es ist hilfreich, Informationen über diese Elemente zu aggregieren und den Trend der Gesamtwerte über einen Zeitraum oder Elemente zu einem bestimmten Zeitpunkt in der Vergangenheit zu untersuchen. Im Team System-Data Warehouse wird jede Revision einer Arbeitsaufgabe und jede Ausführung eines Tests so aufgezeichnet, dass Berechnungen im OLAP-Cube möglich sind, mit denen Informationen zu beliebigen Zeitpunkten aggregiert werden können. In der folgenden Tabelle werden die zwei Ganzzahlenspalten in der relationalen Datenbank beschrieben, mit denen die Änderungen verfolgt werden.

Column Beschreibung

Anzahl der Datensätze

Bei jeder Änderung an einem Datensatz (beispielsweise wenn sich die Priorität eines Fehlers ändert) werden zwei Datensätze in die Datenbank geschrieben. Der erste Datensatz, der als kompensierender Datensatz bezeichnet wird, legt die Spalte Anzahl der Datensätze auf -1 fest, wodurch die zeitlich davor liegenden Ereignisse aufgehoben bzw. kompensiert werden. Im zweiten Datensatz werden die neue Werte des Fakts aufgezeichnet, und die Anzahl der Datensätze wird auf 1 festgelegt. Im Cube führt das Aggregrieren aller Datensätze zwischen zwei Zeitpunkten effektiv zur Aufhebung aller Datensätze mit Ausnahme des Datensatzes, der zum betreffenden Zeitpunkt aktuell ist. Die Anzahl der Datensätze stellt die Grundlage für die Anzeige laufender Gesamtwerte für einen Tag dar.

Anzahl der Zustandsänderungen

Da Zustandsänderungen einen wichtigen Aspekt bei der Berichterstellung darstellen, wird bei jeder Änderung des Zustands einer Arbeitsaufgabe bzw. eines Testergebnisses das spezielle Flag "Anzahl der Zustandsänderungen" auf true festgelegt. Die Anzahl der Zustandsänderungen stellt die Grundlage für die Anzeige der Aktivitäten für einen Tag dar.

Siehe auch

Konzepte

Beziehungen zwischen Faktentabellen
Dimensionstabellen

Weitere Ressourcen

Grundlagen der Struktur des Data Warehouse-Cubes