当我们在oracle中指定foregin密钥关系时,我们不需要说明关系是1对1,1对多等。但是当我们在cognos框架管理器中指定关系时,为什么我们需要指定1到1,1对多等? 此外,不相关但只是好奇,同样是像Hibernate这样的ORM工具中的行为。 规格仅适用于验光目的吗?
我的另一个问题是指定错误的基数关系会产生什么影响?我,e,我指定一对一的关系,实际上是1到1。我冒的风险是什么?
答案 0 :(得分:0)
来自Cognos文档:
IBM®Cognos®软件以下列方式使用关系的基数:
避免重复计算事实数据
支持星型模式模型中常见的循环连接
优化对底层数据源系统的访问
识别表现为事实或维度的查询主题
有关详细信息,请查看此处: Framework Manager Cardinality
答案 1 :(得分:0)
你做在Oracle中声明关系,关系的性质隐含在向Oracle声明的方式中,例如:
CONSTRAINT fk FOREIGN KEY (id) REFERENCES parent_table (id)
表示父表与此表之间存在1:M的关系。
此外,如果子表上存在唯一约束,例如:
CONSTRAINT uk UNIQUE (id)
暗示关系是1:1。