Foros del Web » Programando para Internet » ASP Clásico »

checkbox y bd

Estas en el tema de checkbox y bd en el foro de ASP Clásico en Foros del Web. quería saber qué es mejor, almacenar valores de tipo si/no en un cmabo de tipo si/no, de tipo numerico como 0/1 o de tipo texto ...
  #1 (permalink)  
Antiguo 14/05/2005, 04:27
Avatar de mrgubu  
Fecha de Ingreso: febrero-2002
Ubicación: Granada
Mensajes: 431
Antigüedad: 22 años, 3 meses
Puntos: 2
checkbox y bd

quería saber qué es mejor, almacenar valores de tipo si/no en un cmabo de tipo si/no, de tipo numerico como 0/1 o de tipo texto como 0/1? He visto estas diferentes formas de hacerlo pero no sé cuál es mejor.

Gracias
  #2 (permalink)  
Antiguo 14/05/2005, 06:17
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
tipo si/no-> 1 bit
el resto->1 byte
  #3 (permalink)  
Antiguo 17/05/2005, 12:29
Avatar de mrgubu  
Fecha de Ingreso: febrero-2002
Ubicación: Granada
Mensajes: 431
Antigüedad: 22 años, 3 meses
Puntos: 2
lo determinante es el peso de la base de datos?
  #4 (permalink)  
Antiguo 17/05/2005, 12:46
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Es varible...

El peso es muy importante, pero tambien por lo general para ser mas entendible usas S y N, algo como

TieneHijos char(1) - 1 byte
-- S
-- N

TieneHijos tnyint - 1 bytes
-- 1
-- 0

A lo que me refiero, es que configurando bien los campos el peso podria quedar igual, pero ahora atacas el detalle de la facilidad de leer los campos, es como:

Tienes Hijos ? 1

Tienes Hijos ? S

Es mas claro el S, pero en este campo especifico, porque si tienes algo como:

Activo tnyint - 1 byte
-- 1
-- 0

El 1 es mas representativo para este tipo de campos.

En fin... el peso es muy importante, y ademas algo que hace mas eficiente el DataBase es cuando tienes campos fijos, no variables, hablo de como, char(4), es mas fijo que varchar(4), pero todo tiene su propia aplicacion.

Entonces tu debes decidir basado en peso y luego en lo legible de tus datos segun el tipo de campo que estas usando.

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #5 (permalink)  
Antiguo 17/05/2005, 23:02
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
lo legible de los datos se puede arreglar con programación. con un poco de lógica sabes que 1=cierto y 0=falso. de esto se deduce que la mejor acción es un campo bit (o si/no o como quieras llamarlo)
  #6 (permalink)  
Antiguo 18/05/2005, 09:43
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Hola

Con bit, te refieres a booleano, True , False ???
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #7 (permalink)  
Antiguo 18/05/2005, 17:38
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
es que no hay tal true ni tal false. es un bit puro, un 1 o un 0. en los frontends de las bases de datos te los pueden representar con checkboxes o como sea, pero para la máquina es eso, un 1 o un 0.
  #8 (permalink)  
Antiguo 18/05/2005, 17:59
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Ok.

Pero realmente en la base de datos, tu guadas eso en 1 byte, no un bit, por ejemplo:

tinyint 1 byte

char(1) 1 byte

boolean 1 bit

Pero los boolean no son muy recomendables en bases de datos, es mas recomendable usar tnyint y char(1), por eso la mayoría de las bases de datos tienen ese tipo de cambos, y lo legible de los datos es otro tema, que tambien resulta importante en la construccion de las bases de datos.

Claro, en ASP haces lo que quieres como:

TieneHijos = 1

Write "Si tiene hijos"

Bueno, asi es como estoy acostumbrado a manejar ese tipo de campos, aunque tienes razon, 1 bit es 7 veces menos espacio que los otros.

Un saludo.
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:17.