Ho visto diverse domande su questo sito web che spiegano che le enumerazioni dovrebbero essere mantenute nel database quando ce n'è uno ( questo per esempio). Tuttavia, ritengo che il mio caso sia diverso e che ci siano ulteriori elementi da prendere in considerazione.
L'applicazione su cui sto lavorando fornisce un'interfaccia utente per personalizzare le "schermate" (che sono fondamentalmente pagine web) basate su un insieme piuttosto limitato di "moduli". Vogliamo dare una cornice agli utenti finali, quindi per ogni modulo ci sarà una personalizzazione limitata. Il modulo verrà creato a mano, quindi il modulo più i valori immessi dall'utente verranno analizzati per creare le pagine web. Il nostro ambiente è molto specifico, quindi non sarà necessariamente HTML direttamente, ma possiamo considerarlo HTML.
Ritengo che non possiamo archiviare gli interi moduli nel database, specialmente le funzioni utilizzate per analizzare l'input dell'utente per generare l'output. Tuttavia, altre righe nel DB dovranno fare riferimento a quel modulo. In tal caso, quale sarebbe il modo migliore per andare? Dovrei fare una semplice tabella "enum" e usare chiavi esterne nel DB, e nell'app collegare i valori dell'enum con le procedure associate, o dovrei semplicemente scrivere una stringa "ID" della classe nelle colonne che si suppone possano fare riferimento quei moduli, riducendo al minimo la complessità del DB e mantenendo i moduli più "centralizzati" nell'app?
Non esiste alcuna condivisione delle tabelle DB e non è prevista alcuna condivisione delle tabelle DB.