Я знаю, что в общем случае не рекомендуется использовать столбец DateTime в качестве вашего PK, однако для моей ситуации я считаю, что это более целесообразно, чем суррогатный ключ в таблице фактов.
Причины ...
- Данные, вставленные в таблицу фактов, всегда последовательны. т.е. я бы никогда не вставил значение даты и времени, которое старше, чем последнее значение, уже в таблице фактов.
- Поле даты и времени - не единственный столбец PK (составной PK), PK, конечно, сам по себе и суррогатный ключ измерения FK.
- То, как я запрашиваю данные, почти всегда основано на времени.
- Суррогатный ключ в таблице фактов ничего не скажет о строке. Каждая строка уже уникальна, и чтобы найти этот конкретный факт, я бы всегда сначала фильтровал по дате и значениям в измерениях.
- Нет отдельной таблицы измерений даты и времени. Нет необходимости сейчас или в обозримом будущем иметь именованные моменты времени и т. Д.
Дополнительные замечания - время будет в UTC и с использованием SQL 2008 R2.
То, что я спрашиваю, это дать ситуацию - каковы недостатки этого? Буду ли я сталкиваться с непредвиденными проблемами?
Является ли это на самом деле хорошей вещью при последующих запросах этих данных?
Хотелось бы знать точки зрения людей в поле DateTime как первый столбец составного PK.