Hallo Cheatah!
das nennt sich n:m-Beziehung. Das, was Du im Moment als Spalten ansiehst, werden Datensätze einer weiteren Tabelle. Die Verknüpfungen zwischen beiden bestehenden Tabellen werden durch eine dritte geregelt, Kreuztabelle genannt.
gut das Du mich dran erinnerst, ich hatte gar nicht an den Fall gedacht, das auf einem System evtl die Anwendung mehr als einmal laufen könnte. Denn dann klappt es nicht mehr so gut mit veränderbaren Tabellen. Die von dir geschilderte Variante verwende ich dort schon mehrfach, aber hier ist das evtl. etwas problematisch: das ist die einzige Tabelle die veränderbar sien soll. Das das doof ist habe ich gemerkt, aber ob jetzt mit einem alter-table Statement, oder mit aktualisierungs-Abfragen in Deiner Spalten-Tabelle, das Problem ist und bleibt dasselbe:
Die Inhalte, das gesamte Layout der Tabelle sind nicht 100% genau definiert. Das _soll_ so sein, nur doof das ich die Daten dann woanders brauche. Deshalb mußt ich irgendwie die Spalten die ich definitiv brauche vorgeben, und nur den Rest der Tabelle dynamisch gestalten, nur weiß ich halt noch nicht so ganz wie man das praktisch machen soll.
Ich könnte da sja so machen:
Tabelle Liefreanten:
id
firmenname
Tabelle Lieferanten-Spalten:
id
lieferanten_id(mit Tabelle Lieferanten verknüpft)
spaltenname
Tabelle Lieferanten-Daten
id
spaltennamen-id(mit Tabelle Lieferanten-Spalten verknüpft)
wert
Ich schreibe Grundsätzlich den Eintrag ID und Firmenname vor, der Rest wird vom Kunden als Datensatz eingetragen. ODer meinst DU ich sollte auf die erste Tabelle verzichnten und alles mit diesen n:m Beziehungen schreiben?
- Verwende ich die Tabelle direkt in einer Übersicht, d.h. ich lese in einer Übersicht denFirmennamen aus, und auf eien Interseite die genauen Daten, wie kann ich es geschickt anstellen, dass ich die Spalte mit dem Firmennamen abfragen kann, wobei ich ja gar nicht direkt weiß wie sie heist?
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.
Mit Deiner Variante sollte doch auch das Problem mit den ungültigen Spaltennamen erledigt sein!
Grüße
Andreas