È 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?