Таблицы фактов
Обновлен: Ноябрь 2007
В каждом хранилище данных содержится одна или несколько таблиц фактов. Таблица фактов, расположенная в центре схемы типа "звезда" или "снежинка", захватывает данные, которые измеряют операции группы. Обычно таблицы фактов содержат большое количество строк, особенно если в таблицах содержится история крупного командного проекта за год или несколько лет.
Основной характеристикой таблицы фактов является то, что она содержит числовые данные (факты), которые можно суммировать для представления сведений о журнале операций организации. Каждая таблица фактов также включает составной индекс, который, как внешние ключи, содержит первичные ключи соответствующих таблиц измерения и атрибуты записей фактов. Таблицы фактов не должны содержать описательные сведения или любые другие данные, за исключением числовых полей измерения и полей индекса, которые сопоставляют факты с соответствующими записями в таблицах измерений.
Таблицы фактов в кубе данных
В следующей таблице показаны таблицы фактов, содержащиеся в реляционной базе данных Team System.
Таблица |
Описание |
---|---|
Набор изменений построения |
Содержит одну строку для каждого набора изменений, включенного в это построение, но отсутствующего в предыдущем построении этого типа. Это позволяет сопоставить сведения о построении с возвратами, а также с рабочими элементами, связанными с возвратами. |
Покрытие построения |
Содержит одну строку для каждого кода времени, когда метрики были собраны для построения. |
Сведения о построении |
Содержит одну строку для каждого выполнения построения. |
Построение проекта |
Содержит одну строку для каждого построения проекта в сборке. |
Обработка кода |
Содержит одну строку для каждой редакции любого файла. |
Текущий рабочий элемент |
Содержит по одной строке для каждого рабочего элемента, имеющегося в системе на текущий момент. |
Счетчик нагрузочного теста |
Сводные данные для каждого чтения значений счетчика производительности по каждому выполненному нагрузочному тесту. Содержит ИД счетчика, значение и имя компьютера, с которого оно получено. |
Сведения о нагрузочном тесте |
Содержит одну строку для каждого раза, когда выполняется нагрузочный тест. |
Страничная сводка нагрузочного теста |
Содержит одну строку для каждого URL-адреса, посещенного во время нагрузочного теста. Обобщает сведения для каждой страницы верхнего уровня, но не включает подробные сведения для зависимых запросов, например, изображений. |
Сводка нагрузочного теста |
Содержит одну строку для каждого тестового запуска, являющегося частью нагрузочного теста. Содержит количество тестовых запусков, количество сбоев при выполнении теста, среднее время выполнения теста и другие сведения. |
Транзакция нагрузочного теста |
Содержит среднее время для каждой транзакции. Например, если модульные тесты выполняются под нагрузкой, данные таймеров в тестах выводятся как среднее время, необходимое для каждой транзакции. |
Покрытие запуска |
Содержит одну строку для каждого выполненного тестового запуска, во время которого собирались метрики покрытия кода. |
Результат теста |
Содержит одну строку для каждого выполнения любого теста. Содержит время начала и завершения теста, его результат и метаданные теста (категория, узлы CSS и т. д.) |
Набор изменений рабочего элемента |
Содержит один ряд для каждой связи редакции рабочего элемента и набора изменений. |
Журнал рабочего элемента |
Файл рабочих элементов с контролем версий, использующий число переходов и число записей для статистических вычислений на определенный момент времени. |
В таблицах фактов отображается пять полей.
ИД
ИД логического отслеживания
LastUpdatedTime
LastUpdatedBy
TrackingId
Кроме того, существует набор внешних ключей для связывания с таблицами измерений.
Журнал отслеживания в таблице фактов
Рабочие элементы и результаты тестов содержат факты, которые изменяются с течением времени. Полезно агрегировать сведения об этих элементах и просматривать тренд итоговых значений за период времени или элементы на один момент времени. Хранилище данных Team System захватывает каждую редакцию рабочего элемента или каждый тестовый запуск таким образом, который позволяет вычислениям куба OLAP агрегировать сведения на любой заданный момент времени. В следующей таблице описаны целочисленные столбцы в реляционной базе данных, отслеживающей изменения.
Столбец |
Описание |
---|---|
Число записей |
При каждом изменении записи (например, изменение приоритета ошибки) в базу данных вносится две записи. Первая запись, которая называется компенсирующей, устанавливает для столбца числа записей значение -1, которое исключает или компенсирует предыдущие события во времени. Вторая запись регистрирует новые значения, связанные с фактом, и устанавливает для числа записей значение 1. В кубе агрегирование всех записей между двумя точками во времени приводит к исключению всех записей на данный момент времени, кроме последней. Число записей служит основой для отображения промежуточных итогов за день. |
Число изменений состояния |
Поскольку изменения состояния являются важным аспектом, используемым в отчетах, при каждом изменении рабочего элемента или результата теста для специального флага "Число изменений состояния" устанавливается значение true. Число изменений состояния служит основой для отображения действий за день. |