Рассмотрим сценарий продуктового магазина (я придумал это), где у вас есть записи FACT, которые представляют транзакцию продажи, где столбцы таблицы Fact включают
SaleItemFact Table
------------------
CustomerID
ProductID
Price
DistributorID
DateOfSale
Etc
Etc
Etc
Даже если в таблице есть дубликаты, когда вы рассматриваете ВСЕ ключи, я бы сказал, что должен быть создан суррогатный рабочий числовой ключ (то есть столбец идентификатора), например, TransactionNumber типа Integer.
Я вижу, как кто-то утверждает, что таблица фактов может не иметь уникального ключа (хотя я бы изобрел его и потратил впустую 4 байта, но как насчет таблицы измерений?