Für die Klassen:
Code:
CREATE TABLE klasse (
id INTEGER NOT NULL PRIMARY KEY,
parent INTEGER NOT NULL REFERENCES klasse(id),
name VARCHAR(100) NOT NULL UNIQUE
);
Damit hast du eine Tabelle, die auf sich selbst referenziert (als einfaches Beispiel). Jede Unterklasse referenziert auf eine übergeordnete Klasse - die Haiptklasse lässt du dabei einfach auf sich selbst referenzieren (id = parent).
Für die anderen Daten:
Du brauchst eine Tabelle mit Schlüsseln, eine mit Werten, eine mit Tieren.
In die Wertetabelle trägst du für jedes Tier eine Referenz auf dieTabelle mit den Namen der Tiere, eine Referenz auf den Schlüssel (Farbe, Größe, Lebensraum, ...) und den Wert ein. Für 3 Werte hast du folglich 3 Einträge in deiner Tabelle. Jeder Schlüssel (Farbe, Größe, Lebensraum, ...) taucht exakt einmal in der Schlüsseltabelle auf, jedes Tier einmal in der Tabelle mit den Tieren. Die Tabelle mit den Tieren ist auch der geeignete Platz, eine Referenz auf die Klassentabelle anzugeben.
Lesezeichen