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
| ||||
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!! |
| ||||
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. |