2017-01-13 12 views
1

私のデータベースには、m対nの関係をモデル化したテーブルがあります。もちろん、この関係の主キーは、この関係に関係する2つのエンティティの結合された主キーです。m-to-nリレーションテーブル用のプライマリキーまたは外部キー

関係はこのように書きます:主キーまたは外部キーを関連して、それらを置くために:メートルの顧客は

create table customer(
cid    SERIAL PRIMARY KEY, 
... 
); 


create table order(
oid    SERIAL PRIMARY KEY, 
... 
); 


create table has(
oid    INTEGER REFERENCES order(oid) ON DELETE CASCADE, 
cid    INTEGER REFERENCES customer(cid) ON DELETE CASCADE, 
FOREIGN KEY (oid,cid) or PRIMARY KEY (oid,cid) 
); 

n個の注文を持っている私はここで使用するものに少し困惑していますか?

ありがとうございました。

Jaiel

答えて

1

あなたは、テーブルhasで複合キーのためPRIMARY KEYを使用する必要があります。 hasテーブルの注文IDと顧客IDの組み合わせは、一意の単一レコードの識別を可能にするため、そのテーブルの主キーです。

注テーブルhasともoidcidは、それぞれ、ordercustomerテーブルを指し、外国キーであること。

+0

ありがとうございます。外部キーは私に失敗を与えたが、主キーはあなたが言ったようにdidnt:D –

関連する問題