SQL eins zu viele

Ich versuche, ein SQL-Schema für ein System zu erstellen, in dem wir habenchannelsjeweils mit einemidund eine oder mehrerefixtures. Ich habe Schwierigkeiten, einen Weg zu finden, um diese Eins-zu-Viele-Zuordnung zu implementieren. (d. h. Einschannel zu vielenfixtures). Ich benutze dieH2-Datenbankmodul.

Ich kann keinen Tisch haben:

 id | fixture
----|----------
  1 |    1
  1 |    2
  2 |    3

CREATE TABLE channel(
  id INT NOT NULL PRIMARY KEY,
  fixture INT NOT NULL
  );

... als diePRIMARY KEY id muss seinUNIQUE.

Ebenso kann ich nicht wie folgt abbilden:

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
  );

... wie dies erforderlich istf_set seinUNIQUE

Ich setze es derzeit wie folgt um:

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
  );

... aber das bedeutet, dass wir eine haben könnenchannel mit einerfixture_set die hat keine zugeordnetfixtures (Nicht ideal).

Ich habe mich gefragt, ob Sie Vorschläge haben, wie ich das angehen könnte (oder wo mein Verständnis falsch ist). Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage