Cha*_*adD 8 database-design data-warehouse
考虑一个杂货店场景(我正在制作)你有FACT记录代表销售交易,其中Fact表的列包括
SaleItemFact Table
------------------
CustomerID
ProductID
Price
DistributorID
DateOfSale
Etc
Etc
Etc
Run Code Online (Sandbox Code Playgroud)
即使在考虑所有密钥时表中存在重复,我也会认为应该编写一个运行数字密钥(即标识列)的代理,例如Integer类型的TransactionNumber.
我可以看到有人在争论Fact表可能没有唯一的密钥(虽然我发明了一个并浪费了4个字节,但维度表怎么样?
Ran*_*der 11
第一个普通表单需要每个表上的主键.所以这是良好的数据库设计所需的最低要求.你选择什么样的主键是有争议的.但是,数据库设计的第一个正常形式不是.