MySQL > Struktur

Wadlschrat

Mitglied
In einer Tabelle namens Rasse will ich eine Tierrasse darstellen. Diese Tierrasse hat ein oder mehrere Herkunftsländer und ein oder mehrere Zuchtgebiete.
Wie bilde ich soetwas ab? Ich gehe davon aus, daß um m:n - Beziehungen geht. Ich muß aber gestehen, daß meine Internetrecherche keine Erleuchtung gebracht hat. Wo gibts ein Dummy-Tutorial?
 
Hallo,

das sieht für mich auch nach N:M aus. Solche Beziehungen werden in relationalen Datenbanken über eine separate Join-Tabelle abgebildet. Zum Beispiel so:

SQL:
----------------
-- Entitäten
----------------
CREATE TABLE Rassen (
  RasseID INTEGER PRIMARY KEY,
…
);

CREATE TABLE Länder (
  LandID INTEGER PRIMARY KEY,
…
);

CREATE TABLE Gebiete (
  GebietID INTERGER PRIMARY KEY,
…
)


----------------
-- Beziehungen
----------------
CREATE TABLE stammt_aus (
  RasseID INTEGER REFERENCES Rassen,
  LandID INTEGER REFERENCES Länder,
  PRIMARY KEY (RasseID, LandID)
);

CREATE TABLE gezüchtet_in (
  RasseID INTEGER REFERENCES Rassen,
  GebietID INTEGER REFERENCES Gebiete,
  PRIMARY KEY (RasseID, GebietID)
);

Grüße,
Matthias
 
Zuletzt bearbeitet:
Danke. Habe es jetzt verstanden und ein wenig erweitert. Ich habe die Tabellen Länder und Gebiete zusammengefaßt und diese mit einer parentID strukturiert.
 
Zuletzt bearbeitet:
Ja, ich war mir da nicht ganz sicher, ob und wie Länder und Gebiete zusammenhängen sollen. Das kommt davon, wenn man sich mit der zu modellierenden Thematik nicht auskennt :) Aber das Entscheidende ist ja rüber gekommen. Wäre nett, wenn du das Thema noch als erledigt markieren könntest.

Grüße,
Matthias
 
Zurück