idさて、私は4つの列( 、、、 )event_idを持つテーブルを持っています。ここでgroup_id、isbnidは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」としましょう)は、それぞれに必要な限り同じように繰り返すことができますisbnevent_idevent_idevent_idibsngroup_id
問題を何度か繰り返したのは知っていますが、難しい質問なので、間違った答えが返ってくる可能性を低くしたいと思います。
編集1:@Andomarの回答について、isbnはカーディナリティ(1、n)1-isbn-> n-group_idによってgroup_idに関連付けられている必要があり、回答の構造はそれを行いません