Stiamo utilizzando NHibernate e uno dei modelli comuni che abbiamo per memorizzare informazioni enum è quello di definire tabelle separate per l'enum e basta fare riferimento all'ID nell'entità principale/tabella che utilizza l'enum. Un semplice esempio:Enum tables in Hibernate/NHibernate
Message
-------
ID (bigint PK)
MessageTypeID (bigint FK)
Body (varchar)
MessageType
-----------
ID (bigint PK)
Value (varchar)
La tabella MessageType contiene un piccolo numero di valori enum come: SMS, MMS, PSMS, ecc
vale la pena di mettere valori enum in tabelle separate come questo? Immagino che il pro dell'enumerazione sia che puoi estenderlo più facilmente in futuro ed è più normalizzato, ma il problema è che devi fare un join ogni volta che recuperi un messaggio. C'è un punto di rottura in cui sceglieresti l'uno rispetto all'altro?