Aquí podría ser tu PUBLICIDAD


¿Cuándo se debe asignar una columna a Enum?

votos
1

Tal vez esta es una pregunta tonta, pero ¿cuándo debería mapear una columna en un tipo de enumeración? Por ejemplo, todos sabemos que la columna Género que se representa como M o F en la base de datos se puede asignar a una enumeración llamada Género. Dado que en general hay 2 géneros :), podemos estar bastante seguros de que esta enumeración no necesitará actualización. Sin embargo, ¿qué pasa con la configuración enum para la lógica de negocios? Por ejemplo, supongamos que para la región, si tiene un Enum que representa todas las regiones dentro de su base de datos, siempre que inserte otra región en su base de datos, esa enumeración tiene que cambiar, por lo tanto, se necesita otra promoción. ¿Es esta una buena practica? ¿Hay una mejor práctica al respecto?

¡Gracias!

Publicado el 12/03/2009 a las 16:59
fuente por usuario Herman
En otros idiomas...        العربية       

2 respuestas

votos
1

En realidad, esta es una pregunta complicada: cuando estás usando una enumeración, es tradicional tener también una tabla de búsqueda en la base de datos, como sugiere Reed. Pero esto plantea el problema de sincronizar las definiciones.

Lo que hacemos es generar las tablas a partir de las definiciones enum como parte de nuestros scripts de compilación / implementación para garantizar que ambas reflejen el mismo conjunto de valores legales.

Luego tenemos funciones de conveniencia que toman un DataSet devuelto de una consulta de DB, y columnas de id de mapa a columnas (recién creadas) con valores enum. Pero lo hacemos enseguida después de recuperar los resultados de la consulta. Así que mi consejo sería mapearlos lo antes posible, preferiblemente en su DAL.

Respondida el 12/03/2009 a las 05:13
fuente por usuario Jeff Kotula


Aquí podría ser tu PUBLICIDAD


votos
0

Es mejor que prepare una tabla separada para la región, con su propia ID única. Luego usa la ID de la región en tu tabla principal.

Esto permite más flexibilidad en el futuro, ya que agregar una región es solo agregar un nuevo registro.

Consulte cualquier texto sobre Normalización de la base de datos para obtener detalles y explicaciones completas.

Respondida el 12/03/2009 a las 05:02
fuente por usuario Reed Copsey