elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el ttwitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  ¿Dudas tipo numéricos en MYSQL?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Dudas tipo numéricos en MYSQL?  (Leído 5,731 veces)
BlaineMonkey

Desconectado Desconectado

Mensajes: 72


Ver Perfil
¿Dudas tipo numéricos en MYSQL?
« en: 30 Marzo 2010, 17:10 »

Tengo una duda:
¿Cual es el tipo numérico idóneo para valores que pueden ser 0 ó 1?

Creo que el Decimal de 1 de longitud. ¿Es así?

Para registros que pueden ir desde el 0 al 999 sería mejor utilizar el tipo DECIMAL de longitud 3 que un INTEGER. No?  Si no es así, ¿cual sería el más apropiado?


En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: ¿Dudas tipo numéricos en MYSQL?
« Respuesta #1 en: 30 Marzo 2010, 17:40 »

Citar
¿Cual es el tipo numérico idóneo para valores que pueden ser 0 ó 1?

Tipo de datos  Bit  (toma 0 o 1)

Citar
Creo que el Decimal de 1 de longitud. ¿Es así?

Decimal accepta numeros con punto o flotantes, no valores enteros.... O sea los valores en Decimal van mas o menos asi (10.000, 234.000, etc) No enteros.

Citar
Para registros que pueden ir desde el 0 al 999 sería mejor utilizar el tipo DECIMAL de longitud 3 que un INTEGER. No?  Si no es así, ¿cual sería el más apropiado?

Smallint ... va de 0 a 65535 (cuando son numeros positivos).  No te digo Tinyint porque el maximo de este es de 0 a 255 cuando son numeros positivos.


En línea

Skeletron


Desconectado Desconectado

Mensajes: 1.731


A long way to go


Ver Perfil WWW
Re: ¿Dudas tipo numéricos en MYSQL?
« Respuesta #2 en: 30 Marzo 2010, 18:02 »

Pero para los booleanos, la base de datos ocupa lo mismo poner un BOLEAN que un TINYINT.. o me equivoco?
En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: ¿Dudas tipo numéricos en MYSQL?
« Respuesta #3 en: 30 Marzo 2010, 18:10 »

Pero para los booleanos, la base de datos ocupa lo mismo poner un BOLEAN que un TINYINT.. o me equivoco?

Si, en espacio si ocupan 1 byte en memoria ambos tipos de datos....

La diferencia en este caso es, que Tinyint puede guardar cualquier numero que este en el rango 0 a 255 positivos, y si el chico solo quiere 0 y 1 pues.. tendra que controlar que valores llegan a insertarse en este campo a traves de su lenguaje de programacion (No es un proceso complicado ni dificil lo sabes.. pero hay que hacerlo).

En cambio con el tipo de datos BIT solo ocupa 0 o 1  no otra cosa...

PD: Me corrigo a mi misma (Soy mediocre con los numeros disculpen).

No Skeletron, el tipo Bit en MySQL ocupa menos que Tinyint  ;)

Tinyint ocupa 1 bytes en memoria.
Bit ocupa 1 bit en memoria

1 bytes tiene un numero limitado de bits... pueden ser 4 bit, 5 bit, 6 bit..etc pero son varios no 1 solo.


Fuente:  http://es.wikipedia.org/wiki/Bit

Dios... debo estudiar mas electronica y matematica Binaria  :xD   :xD 
« Última modificación: 30 Marzo 2010, 18:15 por ^TiFa^ » En línea

Skeletron


Desconectado Desconectado

Mensajes: 1.731


A long way to go


Ver Perfil WWW
Re: ¿Dudas tipo numéricos en MYSQL?
« Respuesta #4 en: 30 Marzo 2010, 21:34 »

Tiffa, yo ya se que el bit es 1 posicion, y el bait son 8.. Pero, por ahí leí que MySQL ocupaba mas...

A ver, cual es el tipo de dato BOLEAN de MySQL?
Haré unas pruebas
En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: ¿Dudas tipo numéricos en MYSQL?
« Respuesta #5 en: 30 Marzo 2010, 21:47 »

Ciertamente BIT solia ser tambien interpretado por el motor como un Tinyint segun la web de MySQL:

Citar
En MySQL 5.0.3, un tipo de datos BIT está disponible para almacenar valores de un bit. (Antes de 5.0.3, MySQL interpreta BIT como TINYINT(1).)

http://dev.mysql.com/doc/refman/5.0/es/numeric-types.html

Pero hace referencia a MySQL 5.0.3 (bastante antiguo) pero claramente dice que en versiones de MySQL 5.0.3 he inferiores BIT los interpretaba el motor como un TINYINT pero es a partir de esa vieja version de MySQL he inferiores, ya en las superiores aparentemente no es tratado de la misma manera.

Que conste que nunca me he visto en la necesidad de dar uso de este tipo de datos en un motor.
En línea

Skeletron


Desconectado Desconectado

Mensajes: 1.731


A long way to go


Ver Perfil WWW
Re: ¿Dudas tipo numéricos en MYSQL?
« Respuesta #6 en: 30 Marzo 2010, 22:05 »

Yo lo utilizo para:
En una tabla de e-mails, cual ya ha sido enviado o no
En una tabla de usuarios, cual tiene una foto registrada a su poder o no
En una tabla de usuarios, si la persona es MUJER o HOMBRE (0=mujer, 1=hombre)

Por lo que veo, al leer "La Biblia de MySQL" muchos conceptos estan demaciados viejos ahí...
Tendre que leer algo que me ponga mas al tanto..
En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: ¿Dudas tipo numéricos en MYSQL?
« Respuesta #7 en: 30 Marzo 2010, 22:32 »

Si esos libros estan un poco viejitos ya... pero sirven de base para entender algo  ;)

Le convendria usar BIT para los true y false pero... para sacar el valor tendra que usar un convertidor en su consulta (ya que el dato se guarda binario y leerlo a pura consulta SQL saldra simbolito raro) entonces el tendria que consultar asi:

SELECT BIN(campo) FROM TABLA WHERE ...

Para que al imprimir el valor salga en numero entero y no un caracter rarisimo ahi en Ascii.

Si usase Tinyint, tendria que controlar los valores que llegan al motor ya que tinyint soporta mas valores ademas de 0 y 1

Besis
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Cadena con sólo carecteres numéricos
.NET (C#, VB.NET, ASP)
Bucay 2 1,955 Último mensaje 31 Julio 2011, 21:04
por $Edu$
el tipo set de mysql en sql server
Bases de Datos
Zeroql 2 2,739 Último mensaje 19 Diciembre 2011, 20:14
por Zeroql
Examen tipo test MySQL y PHP « 1 2 »
PHP
migue_coco 10 12,266 Último mensaje 29 Mayo 2013, 19:11
por migue_coco
Retos Numéricos
Foro Libre
AlbertoBSD 0 611 Último mensaje 9 Junio 2014, 19:24
por AlbertoBSD
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines