Hi,
das nennt sich n:m-Beziehung. [...]
[...] das ist die einzige Tabelle die veränderbar sien soll.
ja, das nennt sich n:m-Beziehung ;-)
Ernsthaft: Ein DB-Layout dynamisch zu halten ist nicht wirklich gut[tm]. Überlege Dir, welche änderbaren Details die Tabelle haben soll (z.B. n Spalten, davon jeweils Name und Typ beliebig), hinterlege diese Informationen in einer Tabelle (CREATE TABLE spalten (id, name, typ), sinngemäß, ähnlich Deinem Vorschlag weiter unten), referenziere in einer Inhalts-Tabelle auf spalten.id. Wenn es mehrere solcher Tabellen geben soll, gibt's in 'spalten' noch eine Spalte mehr - naja, Du weißt schon was ich meine.
Die Inhalte, das gesamte Layout der Tabelle sind nicht 100% genau definiert. Das _soll_ so sein,
Nein, soll es nicht :-) Das Layout sollte fest sein, aber eben so flexibel, dass die Anforderungen, welche zu dieser Forderung fehlinterpretiert wurden, erfüllbar sind.
Ich könnte da sja so machen:
Jupp.
ODer meinst DU ich sollte auf die erste Tabelle verzichnten und alles mit diesen n:m Beziehungen schreiben?
Die Details der Lösung hängen von den Details der Anforderung ab. Grundsätzlich sind viele Wege möglich; man sollte aber tunlichst einen wählen, bei dem sich das DB-Layout nicht ständig verändert.
Das Layout der Tabellen ist Dir _immer_ bekannt. Ansonsten hast Du Probleme. Überlasse es keinem Fremden, besonders keinem Kunden, das Tabellenlayout mitzubestimmen.
Hier ist es aber explizit gefordert, was ja nicht heißt das der Kunde tatsächlich so eine eigene Tabelle hat, es muß nur so aussehen und funktionieren.
Exakt :-)
Mit Deiner Variante sollte doch auch das Problem mit den ungültigen Spaltennamen erledigt sein!
Jupp, Du hast hier sogar die Möglichkeit selbst zu definieren, was als gültig gelten soll und was nicht. Wenn Du lustig bist, kannst Du als Spaltennamen auch den Inhalt einer Grafik zulassen ;-)
Cheatah
X-Will-Answer-Email: No