SQL один ко многим

Я пытаюсь построить схему SQL для системы, в которой мы имеемchannelsкаждый сidи один или несколькоfixtures, У меня возникают трудности с поиском способа реализовать это отображение один-ко-многим. (т.е. одинchannel слишком много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 сfixture_set который не имеет назначенногоfixtures (Не идеально).

Мне было интересно, если у вас есть какие-либо предложения о том, как я могу подойти к этому (или где мое понимание неверно). Спасибо

Ответы на вопрос(2)

Ваш ответ на вопрос