Eddie: DB-Entwurfsmuster (Pattern) gesucht: eine Art Weiche

Beitrag lesen

Hallo allerseits,

folgenden Fall habe ich oefter:
die Elemente einer Tabelle verhalten sich im Grunde alle gleich, in einem kleinen Punkt unterscheiden sie sich jedoch elementar.

Ein Beispiel ist ein Ort in einer Landkarte: egal was fuer ein Ort, er hat immer zig Attribute, und braucht auch alle davon (z.B. den Längengrad). Nur in einem Punkt unterscheiden sie sich: sie sind entweder ein Punkt (mit x-y-Pixel-Koordinaten) oder sie sind eine Fläche (mit einem Polygon als Umriss).

Die Frage ist, wie ich diese Daten darstellen kann? Denn im Grunde benötige ich eine Art Weiche!

Bisher mache ich das mit einem zusätzlichen Attribut
   placeType ENUM ('point', 'area') NOT NULL
und zwei Fremdschlüsseln
   fk_pointData
   fk_areaData

Mit PHP müsste ich dann eine entsprechende Fallunterscheidung machen und die passende Tabelle auslesen.

Jetzt die Frage: geht das nicht irgendwie einfacher? Und eleganter?

Danke für eure Hilfe,
Eddie

--
Old men and far travforelers may lie with authority.