¿forma correcta de guardar en campo con numero limitado de posibles valores?

Iniciado por Filantropo, 1 Abril 2020, 08:00 AM

0 Miembros y 1 Visitante están viendo este tema.

Filantropo

Tengo una duda, hay campos que tienen un numero limitado de posibles valores como:
estado_objeto: muy bueno | bueno | regular | malo | muy malo
sexo: masculino | femenino
estado_civil: soltero | casado | divorciado
doc_compra: boleta | factura


Hay quienes guardan el valor en forma de un solo caracter:
estado_objeto: a | b | c | d | e
sexo: m | f
estado_civil: s | c | d
doc_compra: b | f

Pero hay otros que agregan una tabla adicional y alli guardan esos posibles valores y lo relacionan con un foreign key
¿Cual metodo es mas recomendable? O en que situaciones se deberian usar?
     

engel lex

tienes por ejemplo el tipo enum que contiene valores especificos, pero segun yo ya forma mas optima es usar int y bool/bit, esto porque la DB no es para ser leida por humanos, sino para ser optima en funcionamiento

así que el campo sexo lo haces bool, verdadero para un sexo falso para el otro

estado del objeto un tinyint que guarda hasta 255 (o un int personalizado de 3 bits que guarda de 0 a 7)


estado civil y doc_compra igual....

y el codigo en su modelo (asumiendo que usas esquema MVC o similar) sabe como se interpreta cada dato


El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.