Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: Filantropo en 1 Abril 2020, 08:00



Título: ¿forma correcta de guardar en campo con numero limitado de posibles valores?
Publicado por: Filantropo en 1 Abril 2020, 08:00
Tengo una duda, hay campos que tienen un numero limitado de posibles valores como:
Código:
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:
Código:
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?
      


Título: Re: ¿forma correcta de guardar en campo con numero limitado de posibles valores?
Publicado por: engel lex en 1 Abril 2020, 11:59
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




Título: Re: ¿forma correcta de guardar en campo con numero limitado de posibles valores?
Publicado por: Filantropo en 4 Abril 2020, 00:00
Gracias.