Ho bisogno della soluzione più pulita ed efficiente per il mio caso. Sto cercando di memorizzare Marks of student in un DB MySQL. Uno studente può essere "ASSENTE" o "CASO DI COPIA", voglio memorizzare tali informazioni anche in DB.Memorizzazione di enum nel database MySQL
Ho pensato di assegnare i codici per il caso precedente come -1 per ABSENT, -2 per COPY CASE, ecc. Questi codici saranno memorizzati solo nella colonna Marks.
Più mai, mentre la loro lettura con una query di selezione, dovrei avere i loro valori di visualizzazione cioè ABSENT
, COPY CASE
, ecc solo.
Tutti questi possono essere raggiunti solo alla fine DB?
Oppure devo implementare queste cose solo a livello di applicazione?
Esistono API disponibili per Java per tale funzionalità?
Solo una nota che, anche se sono d'accordo con Sanjay che l'utilizzo di [i tipi numerici] (http://dev.mysql.com/doc/ refman/5.0/it/integer-types.html) la rappresentazione per l'enum è generalmente più efficiente dell'uso di [tipi di stringhe] (http://dev.mysql.com/doc/refman/5.0/en/char.html) (prestazioni e spazio), il tipo Enum è un'eccezione, utilizzerà internamente un bit 16 bit (corto) per memorizzare i valori in modo efficiente e non ho mai avuto problemi di prestazioni. –