Halihallo Andreas
[...] (entschuldige, wenn ich alles wegwische, aber ich weiss nicht, auf was ich mich
explizit beziehen soll)
Allgemein habe ich folgende Bemerkungen:
Du hast mehrere Objekte, welche gemeinsame Daten haben, jedoch dann noch spezielle
Angaben die vom Typ des Objektes abhängig sind.
Aus der Datenbankmodellierung sind zwei Möglichkeiten vorhanden, dies gut zu lösen:
a) die horizontale Partitionierung
b) die vertikale Partitionierung
Du musst erkennen, dass "Einfamilienhäuser", "Wohnungen" und "Ferienhäuser" Subtypen von
"Immobilien" sind; sie stehen also in einer ISA (is-a => "ist ein") Beziehung.
Immobilien
|
ISA
/ | \
/ | \
/ | \
/ | \
Ferienhaus Wohnung Einfamilienhaus
Nun, dies lässt sich (wie oben angedeutet) auf zwei Arten in ein Relationenschema um-
wandeln:
Tbl_Immobilie
immobilien_id
preis
flaeche_des_grundstuecks
typ : ENUM('wohnung','ferienhaus','einfamilienhaus') // evtl. (obwohl redundant bei
// disjunkter Partitionierung
// => jede imm_id einem Typ zug.)
Tbl_Wohnung
immobilien_id
kauf_preis
Tbl_Ferienhaus
immobilien_id
miet_preis
Tbl_EinfamHaus
immobilien_id
kauf_preis
anzahl_zimmer
oder die andere Möglichkeit: Für jedes Objekt eine Relation, welche alle möglichen
Attribute/Spalten enthält (was du vorschlägst).
Das ist zumindest das, was ich dir aus der Modellierung beitragen kann, was du dann
verwendest und der kleinste Aufwand darstellt, muss ich dir überlassen. Ich hoffe das
hilft dir etwas.
Viele Grüsse
Philipp