1

Oracleで外部キー関係を指定する場合、関係が1対1、1対多などであるかどうかを指定する必要はありません。ただし、cognosフレームワークマネージャーで関係を指定する場合、なぜ1対1、1を指定する必要があります。多くの人などに?また、無関係ですが、好奇心が強いだけで、HibernateのようなORMツールの動作も同じです。仕様は最適化のみを目的としていますか?

私の他の質問は、間違ったカーディナリティ関係を指定した場合の影響は何ですか?つまり、実際には1対多である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 に答える