mysql - 维度建模 : how to create a table without Surrogate Primary Keys?

标签 mysql sql data-warehouse dimensional-modeling

据我了解,事实表中没有主键,放置代理键在某种程度上是浪费空间。因此,外键组合是事实表的主键。

但我可能会说,我无法做到这一点,因为唯一键可能会在事实表中重复,例如同一个人在同一天在同一家餐厅支付了两次。在这种情况下,主键不再是唯一的...

有没有办法不加代理键就解决这个问题?

提前致谢!

最佳答案

如果您正在构建这样的表,强烈建议使用主键或唯一键组合,但如果您避免添加 PK,您可能希望添加唯一交易编号,以便您可以将客户编号和交易编号组合为组合键。

关于mysql - 维度建模 : how to create a table without Surrogate Primary Keys?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53212212/

相关文章:

SQL - 检查一个表中的所有列是否也存在于另一个表中

mysql - 需要将数据从一张表加载到另一张表

mysql - 定期快照事实表 - 可能缺少一些捕获

mysql - 如何获取 MySQL View 的创建日期?

php - 如何使用php和ajax删除多条记录

sql - 如何在 SQL Server 2008 中将 varchar(4) 转换为 float?

mysql - 在另一个 where 语句(子查询?)中使用一个 sql 查询的结果

azure - 如何更正此 SQL 脚本中的错误(使用 Azure 数据仓库的数据库)

php - 当数组来自 mysql_fetch_array 时,在 php 中显示数组差异

php - 创建自定义 WHERE 子句以过滤数据表