大家在做事实表开发时,是否创建主键?

0
大家在做事实表开发时,是否创建主键?创建主键和不创建主键有什么利弊?例如:Fact_Salesdaily。
已邀请:
1

老头子 - 专注是唯一的捷径 2015-10-15 回答

很少做主键,一般是创建唯一索引,两者的区别很明显就是主键有个非空约束。
唯一索引可以有很多,而主键只能有一个。
主键可以被外键引用,这个最大的特性在数据仓库里不建议使用,容易引起锁表,所以建主键没什么优势,也没必要一定要指定主键。
呃 以上言论基于Oracle数据库
0

seng - 从事BI、大数据、数据分析工作 2015-10-15 回答

我主要使用oracle数据库,在大表上,分区上的唯一索引比较多,这是由于分区操作可能比较多,有些操作主键会失效。
 
0

BAO胖子 - 15年BI经验,涉足电力,快消品,医药,信息服务等行业的BI老兵。 2015-10-15 回答

几乎不用主键,但会用唯一索引。
也有时候用surrogate key作为一个名义上的主键,对于Netezza这类需要做distribution的DB,用于random distribute用。
 
如果你有Update Fact Table的需求,就另当别论了,我这几乎永远都是load,偶尔truncate和delete。
0

Flash - BI, ETL,SSIS, Tableau 2015-10-16 回答

不创建主键,但是创建外键,使用的sql server数据库
0

BIWORK - 热衷于微软BI技术,技术架构和解决方案! 2015-10-16 回答

不创建物理主键,只是逻辑上的主键,可以添加一个聚集索引和多个非聚集索引以提升查询效率。

要回复问题请先登录注册