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



当我们在oracle中指定foregin-key关系时,我们不需要说关系是1对1、1对多等。但当我们在cognos框架管理器中指定关系时,为什么我们需要指定1对1,1对多等等?此外,不相关但只是好奇,像Hibernate这样的ORM工具中的行为也是如此。该规范是否仅用于选择目的?

我的另一个问题是,指定一个错误的基数关系会产生什么影响?i、 e,我指定了一个1对1的关系,它实际上是1对多。我冒的后果是什么?

do在Oracle中声明关系,关系的性质在向Oracle声明的方式中是隐含的,例如:

CONSTRAINT fk FOREIGN KEY (id) REFERENCES parent_table (id)

意味着父表和该表之间存在1:M关系。

此外,如果子表上存在唯一约束,例如:

CONSTRAINT uk UNIQUE (id)

意味着关系是1:1。

来自Cognos文档:

IBM®Cognos®软件通过以下方式使用关系的基数:

以避免重复计算事实数据
支持星形模式模型中常见的循环联接
优化对底层数据源系统的访问
识别表现为事实或维度的查询主题

有关更多详细信息,请查看此处:框架管理器基础

相关内容

  • 没有找到相关文章

最新更新