2011-12-08 18 views
0

私は目的と呼ばれるテーブルを持っていますが、それぞれの目的は他の目的との因果関係をゼロから多く持っています。これらの関係をデータベースに保存しなければなりません。 。テーブル間の関係

+0

サンプルデータを書いてもらえますか? – danihp

答えて

0

追加のテーブルを作成せずにレコードを関連付ける方法はありません(原因の可能性のあるN効果をモデル化するには、現在のテーブルにN-1個の追加の列が必要です)。

以下のような追加のテーブルを作成すると、目的が達成されます。

CREATE TABLE cause_effect (
    cause integer NOT NULL, 
    effect integer NOT NULL, 
    CONSTRAINT cause_effect_pkey PRIMARY KEY (cause, effect), 
    CONSTRAINT cause_effect_cause_fkey FOREIGN KEY (cause) 
     REFERENCES yourtable (id), 
    CONSTRAINT cause_effect_effect_fkey FOREIGN KEY (effect) 
     REFERENCES yourtable (id) 
) 

適用するFKeyの動作を適用します。

関連する問題