Мне нравится помещать столбцы идентификаторов во все таблицы. Это упрощает идентификацию определенных c строк для обновления и удаления.
Конечно, в таблице фактов с большим количеством измерений такой столбец может показаться излишним. Однако обычно существует первичный ключ, который представляет собой комбинацию измерений.
Я бы посоветовал вам иметь первичный ключ в таблице, либо столбец идентификаторов, либо комбинацию существующих строк. Если вы используете составной первичный ключ, вы должны быть осторожны с порядком расположения ключей. SQL Сервер по умолчанию использует первичный ключ в качестве кластеризованного индекса, и если вы поместите ключи в неправильном порядке, ваша таблица будет фрагментирована. Ключи идентификации не имеют этой проблемы.