me gustaría utilizar los identificadores de INT como clave en lugar de los códigos ISO y que explique por qué:
Organización que trabajaba, utiliza "propia moneda" (LBP) - por ejemplo, cuando un usuario realiza alguna transacción, recibe una cierta cantidad de LBP como una bonificación. Además, puede cambiar esos LBP a USD, EUR, etc. y viceversa, pagar los servicios con LBP, etc. Además, no encontré la moneda BTC (Bitcoin) en el estándar ISO.
Sí, estas no son monedas oficiales, pero es más flexible desde el punto de vista del sistema y de los usuarios para tenerlas como monedas pero no como un producto adicional que el usuario puede comprar y vender.
Organización que trabajé para no utilizar INTS como clave principal, usan códigos ISO como identificadores (más esas monedas adicionales).
Oficialmente, LBP es el estándar ISO para libra libanesa, por lo que no podrán agregar libra libanesa al sistema sin problemas.
Si identifica sus monedas por código, y en el futuro alguna moneda nueva se registrará como estándar ISO (por ejemplo, LBE o BTC), estas monedas entrarán en conflicto con "sus" monedas.
Alguien mencionó aquí que tener una clave int adicional para las monedas es un índice adicional. Pero perdón, ¿es un problema para 300 registros (recuento aproximado de monedas)?Además, si usa INTs como clave principal para monedas, tiene un beneficio adicional: imagine una tabla con transacciones de 1M que contiene montos y monedas, y que es más eficiente: ¿INTS o CHARS?
Así que me gustaría INTs.
No es necesario que sea 'INT' - pero si lo mantiene como está, me aseguraré de usar 'CHAR (3)' (** no ** VARCHAR!) Para esos códigos . –