Faktentabellen
Aktualisiert: November 2007
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 |
---|---|
Buildchangeset |
Enthält eine Zeile pro Changeset 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 jede URL, die 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-Changeset |
Enthält eine Zeile für jede Beziehung zwischen einer Arbeitsaufgabenrevision und einem Changeset |
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 Data Warehouse von Team System 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. |