1

在oracle中指定外键关系时,不需要说关系是1对1、1对多等。但是在cognos框架管理器中指定关系时,为什么要指定1对1、1对许多等?此外,不相关但只是好奇,像 Hibernate 这样的 ORM 工具中的行为也是如此。该规范仅用于优化目的吗?

我的另一个问题是指定错误的基数关系有什么影响?即,我指定了一个 1 对 1 的关系,实际上它是一对多的。我冒的风险是什么?

4

2 回答 2

0

确实在 Oracle 中声明了关系,关系的性质隐含在向 Oracle 声明的方式中,例如:

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

表示父表与本表存在1:M关系。

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

CONSTRAINT uk UNIQUE (id)

意味着关系是 1:1。

于 2012-09-04T03:06:10.097 回答
0

来自 Cognos 文档:

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

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

有关更多详细信息,请查看此处: Framework Manager Cardinality

于 2012-09-03T19:10:14.253 回答