È accettabile utilizzare id
nei moduli HTML e la successiva elaborazione del codice (controller, vista, modello, livelli del repository)?
Ad esempio, devo mostrare qualcosa di simile su una pagina web:
Select Motor Choice:
* 460/50/3
* 380/50/3
* 460/60/3
In HTML questo può essere fatto con un controllo radio
, in cui ogni riga ha un attributo value
, che non viene mostrato, e text
, che viene mostrato sullo schermo.
Ho sopra codificato nel database in questo modo:
id, motor_description
1, "460/50/3"
2, "380/50/3"
3, "460/60/3"
Posso usare id
per value
in HTML radio
control, e posso usare quel id
internamente pure nel mio Controller dove elaboro l'input per fare la ricerca sul motore.
Ma dal momento che id
è una chiave surrogata e non significa nulla, farò meglio a evitare di usarlo, e invece di usare più informazioni significative per l'utente, come il campo motor_description
a cercare i dati nella tabella e fare altre elaborazioni relative alle mie esigenze aziendali?
La mia preoccupazione qui è ... anche se sto usando la chiave surrogata nella tabella del database , continuo a usarla anche in il resto della mia applicazione , o è meglio evitare di farlo?
In altre parole, permetto alla chiave surrogata del database di "riversarsi" in altri aspetti del mio codice, o evito di farlo?