dedlfix: Tabellen umbenennen und wiedererkennen

Beitrag lesen

Tach!

Ich plane eine Webanwendung in der die Benutzer auch Datenbanktabellen erstellen und umbenennen können sollen.

Wie ist es mit Querys? Werden diese immer per Hand mit den aktuellen Tabellennamen eingegeben oder sind zumindest einige vorhanden, die irgendwo festgeklopft sind? Die müssten dann auch von der Namensänderung erfahren. Oder aber sie werden erst zur Laufzeit mit dem aktuellen Namen zusammengebaut.

Die Tabelle foo soll umbenannt werden. Ich würde dann also die Tabelle umbenennen und in der Tabelle "Tabellen" die entsprechende Zeile ändern. (ID=1, name = foobar) So kann ich die Tabelle trotzdem noch erkennen und richtig zuordnen, obwohl sie umbenannt wurde.
Das kommt mir allerdings ziemlich aufwändig vor. Gibt es da in mysql oder sqlite einen Automatismus?

Glaub ich nicht. Tabellennamen sind Identifier. Wenn man einen solchen ändert, muss man alle Referenzen darauf anpassen, da diese ja nur über den Namen laufen. Sowas ist zu aufwendig, weswegen man das lieber vermeidet, wenn es nicht unbedingt erforderlich ist. Selbst wenn man innerhalb einer Query Tabellennamen stets mit Alias verwendet, und so bei Feldverweisen keine Änderungsarbeit hat, so hat man doch üblicherweise eine Menge Querys rumfliegen, bei denen der Name zu ändern ist. Mir ist auch kein Mechanismus in den DBMS bekannt, der quasi Alias-Namen zu physischen Tabellennamen pflegt.

dedlfix.