Considere un escenario de tienda de comestibles (lo estoy inventando) donde tiene registros FACT que representan una transacción de venta, donde las columnas de la tabla de hechos incluyenVerdadero o falso: un buen diseño requiere que cada tabla tenga una clave principal, si no otra cosa, un entero en ejecución
SaleItemFact Table
------------------
CustomerID
ProductID
Price
DistributorID
DateOfSale
Etc
Etc
Etc
Incluso si hay duplicados en la tabla si tenemos en cuenta todas las llaves, yo sostendría que un sustituto corriendo tecla numérica (es decir, la columna de identidad) debe estar compuesta, por ejemplo, , TransactionNumber de tipo Entero.
puedo ver a alguien argumentando que una tabla de hechos que no tenga una clave única (aunque me gustaría inventar uno y los residuos de los 4 bytes, pero ¿qué hay de una tabla de dimensiones?
tablas de auditoría de lo que ocurrió no requieren claves primarias. Adición de un índice (que tiene un cierto nivel de serialización y gastos generales) que sólo puede causar fallos y añade ningún otro valor es lo contrario de un buen diseño. –