为什么我们需要在cognos / hibernate中指定基数,而不是在oracle中指定基数

时间:2012-09-02 21:27:18

标签: oracle10g cardinality cognos-8

当我们在oracle中指定foregin密钥关系时,我们不需要说明关系是1对1,1对多等。但是当我们在cognos框架管理器中指定关系时,为什么我们需要指定1到1,1对多等? 此外,不相关但只是好奇,同样是像Hibernate这样的ORM工具中的行为。 规格仅适用于验光目的吗?

我的另一个问题是指定错误的基数关系会产生什么影响?我,e,我指定一对一的关系,实际上是1到1。我冒的风险是什么?

2 个答案:

答案 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。