Io ho realizzato un'applicazione che faceva una cosa del genere.Originariamente inviato da skidx
Visto che ci sono svantaggi in entrambe le soluzioni, io ho pensato bene di adottarle entrambe![]()
Ovvero: tengo il campo nella tabella, per cui effettuo l'ALTER TABLE nel momento in cui viene creato; allo stesso tempo però mantengo una tabella a parte con una riga per campo. Questo mi era reso indispensabile dal fatto che dovevo gestire una sorta di browsing ridotto sui record che mostrasse solo alcuni campi, e dovevo dare all'utente la possibilità di scegliere questi campi. Quindi non potevo fare a meno di una tabella campi, ma allo stesso momento non ritenevo accettabile utilizzare una tabella generica 'campo'-'valore' per i valori (a questo proposito però si potrebbe considerare l'alternativa di una tabella per ogni campo, sebbene questo reintroduca in qualche modo il problema di effettuare delle CREATE TABLE a livello applicativo)
Per quanto riguarda le tue obiezioni sull'ALTER TABLE, ti faccio notare che in ogni caso a livello applicativo è un'operazione che verrà eseguita molto raramente. L'utente non cambia i campi ogni tre per due.
Spero che si sia capito qualcosa...![]()
![]()