id
さて、私は4つの列( 、、、 )event_id
を持つテーブルを持っています。ここでgroup_id
、isbn
idはPKでevent_id
ありgroup_id
、FKであり、私の問題は次のとおりです。
isbn番号はそれぞれに固有でevent_id
ある必要があります。可能であるはずの行と、そうでない行の例をいくつか示します。
id | event_id | group_id | isbn
(1,1,1,123) ok
(2,1,2,123) ok
(3,1,4,123) ok
(4,1,7,1234) ok
(5,2,8,123) NOT OK, the 'isbn' must be unique for event_id('123' was already used in the first row with event_id = 1)
はgroup_id
それぞれに1回だけ表示されますevent_id
が、3つの列で一意の制約を作成すると、を変更するだけでisbnを繰り返すことができます。これは、使用された後は別の列に表示されevent_id
ません。 (「1」としましょう)は、それぞれに必要な限り同じように繰り返すことができますisbn
event_id
event_id
event_id
ibsn
group_id
問題を何度か繰り返したのは知っていますが、難しい質問なので、間違った答えが返ってくる可能性を低くしたいと思います。
編集1:@Andomarの回答について、isbnはカーディナリティ(1、n)1-isbn-> n-group_idによってgroup_idに関連付けられている必要があり、回答の構造はそれを行いません