channels
があり、それぞれに がありid
、1 つ以上のがあるシステムの SQL スキーマを構築しようとしていますfixtures
。この 1 対多のマッピングを実装する方法を見つけるのに苦労しています。(つまり、1channel
対多fixtures
)。H2 データベース エンジンを使用しています。
私はテーブルを持つことができません:
id | fixture
----|----------
1 | 1
1 | 2
2 | 3
CREATE TABLE channel(
id INT NOT NULL PRIMARY KEY,
fixture INT NOT NULL
);
... にPRIMARY KEY
id
違いないUNIQUE
。
同様に、次のようにマッピングできません。
CREATE TABLE channel(
id INT NOT NULL PRIMARY KEY,
f_set INT NOT NULL REFERENCES fixtures(f_set)
);
CREATE TABLE fixtures(
id INT NOT NULL PRIMARY KEY,
f_set INT NOT NULL
);
...これが必要なf_set
ためUNIQUE
現在、次のように実装しています。
CREATE TABLE channel(
id INT NOT NULL PRIMARY KEY,
f_set INT NOT NULL REFERENCES fixture_set(id)
);
CREATE TABLE fixtures(
id INT NOT NULL PRIMARY KEY,
f_set INT NOT NULL REFERENCES fixture_set(id)
);
CREATE TABLE fixture_set(
id INT NOT NULL PRIMARY KEY
);
...しかし、これは、割り当てられていないchannel
aを持つことができることを意味します(理想的ではありません)。fixture_set
fixtures
これにどのようにアプローチするか(または私の理解が間違っている場所)について何か提案があるかどうか疑問に思っていました. ありがとう