Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Mediumint (8) MySQL

Estas en el tema de Mediumint (8) MySQL en el foro de Bases de Datos General en Foros del Web. Amigos foreros, la pregunta en cuestión es esta: Tengo una tabla de alumnos, el id del alumnos es autoincremental y esta declarado como mediumint (8), ...
  #1 (permalink)  
Antiguo 31/03/2010, 13:05
Avatar de martin0341  
Fecha de Ingreso: septiembre-2006
Ubicación: Rosario - Santa Fe
Mensajes: 296
Antigüedad: 17 años, 7 meses
Puntos: 8
Mediumint (8) MySQL

Amigos foreros, la pregunta en cuestión es esta:
Tengo una tabla de alumnos, el id del alumnos es autoincremental y esta declarado como mediumint (8), la pregunta seria: cuantos alumnos como máximo puedo guardar en un campo declarado como mediumint de 8??

Pensando que la tabla alumnos puede llegar a crecer muuuuucho en 5 años quiero sacarme esa duda, para ver si me conviene o no.

Gracias!
  #2 (permalink)  
Antiguo 31/03/2010, 13:21
 
Fecha de Ingreso: marzo-2009
Mensajes: 30
Antigüedad: 15 años, 1 mes
Puntos: 2
Respuesta: Mediumint (8) MySQL

ese tipo de dato va desde -8388608 hasta 8388607
  #3 (permalink)  
Antiguo 31/03/2010, 13:46
Avatar de martin0341  
Fecha de Ingreso: septiembre-2006
Ubicación: Rosario - Santa Fe
Mensajes: 296
Antigüedad: 17 años, 7 meses
Puntos: 8
Respuesta: Mediumint (8) MySQL

independientemente de que lo declare de 8 o de 2????
  #4 (permalink)  
Antiguo 03/04/2010, 19:32
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Mediumint (8) MySQL

Cita:
Iniciado por martin0341 Ver Mensaje
independientemente de que lo declare de 8 o de 2????
SI, porque lo que determina el rango es el tipo de dato (o de columna) y no ese valor que tiene que ver con la representación de los números.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 06/04/2010, 05:35
Avatar de martin0341  
Fecha de Ingreso: septiembre-2006
Ubicación: Rosario - Santa Fe
Mensajes: 296
Antigüedad: 17 años, 7 meses
Puntos: 8
Respuesta: Mediumint (8) MySQL

Ok muchas gracias.
Saludos!
  #6 (permalink)  
Antiguo 08/04/2010, 02:01
Avatar de enrique8923  
Fecha de Ingreso: marzo-2010
Mensajes: 7
Antigüedad: 14 años, 1 mes
Puntos: 0
Pregunta Respuesta: Mediumint (8) MySQL

Cita:
Iniciado por rojaswilmer Ver Mensaje
ese tipo de dato va desde -8388608 hasta 8388607
No entiendo eso, como que va desde 8388608 hasta 8388607 ?? .
Deberia ser algo asi como "va desde 0 hasta 99999999" , pero estas diciendo una cifra que disminuye en 1 .

Explicamelo porfavor.
Gracias
  #7 (permalink)  
Antiguo 08/04/2010, 05:37
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Mediumint (8) MySQL

Es un problema de representación de datos en binario (Tema 1, Bolilla 1, de Introducción a la computación).
Miralo así:

1. Los números, desde el punto de vista digital, no existen. Son sistemas de codificación de información, numérica en este caso, y los sistemas digitales sólo entienden binario. ¿Por qué binario? Bueno, no te olvides que se trata de circuitos de silicio que sólo pueden tener dos estados: Cargados o sin carga. No hay otra.

2. Si solamente entiende binario, un sistema de computación necesita codificar la información para que cada secuencia binaria sea comprendida de una determinada form, sea para almacenar, operar, calcular o mostrar. Los números tienen esa misma particularidad.

3. El problema de los binarios, es que sólo pueden representar números naturales, esto es, del cero en adelante. ¿Cómo haces entonces para representar valores negativos, que son una creación de la mente humana? Sencillo: Usas el binario para representar ambos, pero usando solamente la mitad para los positivos y la mitad para los negativos.

4. Ahora bien, del hecho de usar binarios surgen dos cosas: a) Todo valor posible es potencia de dos, y no de 10; b) El cero debe estar representado.

5. Como el cero debe estar representado, si tenemos en cuenta, por ejemplo, la longitud de un byte de 8 bits, existen 256 representaciones posibles entre el 00000000 y el 11111111. SI usamos el 00000000 para el cero, nos quedan 255 representaciones útiules... y no se pueden dividir en dos partes iguales... ¿Se entiende hasta allí?

6. Además de eso, queda por definir cómo diferenciarl los negativos de los positivos. Eso se resolvió arbitrariamente: Los binarios que tengan un cero en su bit de mayor peso serían positivos y los que tuviesen un 1 serían negativos. Así, el rango del 00000001 al 01111111 son positivos, con lo que representan los valores del 1 al 255, mientras que del 10000001 al 11111111 son negativos y representan los valores del 1 al 256.

7. Esto se cumple en todos los casos. El tipo de datos numéricos no se guarda como cifras sino como binarios y su rango está definido por la longitud en bytes que usará así, cada uno no es el doble del otro, sino uno por el otro.
A esto debes sumarle que existen números sin signo, los cuales abarcan la totalidad del rango de numeros naturales posibles para su tipo:
Veamos, por ejemplo el uso de MySQL: 11.2. Tipos numéricos

¿Se va comprendiendo la idea?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 09/04/2010, 01:35
Avatar de enrique8923  
Fecha de Ingreso: marzo-2010
Mensajes: 7
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Mediumint (8) MySQL

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Es un problema de representación de datos en binario (Tema 1, Bolilla 1, de Introducción a la computación).
Miralo así:

1. Los números, desde el punto de vista digital, no existen. Son sistemas de codificación de información, numérica en este caso, y los sistemas digitales sólo entienden binario. ¿Por qué binario? Bueno, no te olvides que se trata de circuitos de silicio que sólo pueden tener dos estados: Cargados o sin carga. No hay otra.

2. Si solamente entiende binario, un sistema de computación necesita codificar la información para que cada secuencia binaria sea comprendida de una determinada form, sea para almacenar, operar, calcular o mostrar. Los números tienen esa misma particularidad.

3. El problema de los binarios, es que sólo pueden representar números naturales, esto es, del cero en adelante. ¿Cómo haces entonces para representar valores negativos, que son una creación de la mente humana? Sencillo: Usas el binario para representar ambos, pero usando solamente la mitad para los positivos y la mitad para los negativos.

4. Ahora bien, del hecho de usar binarios surgen dos cosas: a) Todo valor posible es potencia de dos, y no de 10; b) El cero debe estar representado.

5. Como el cero debe estar representado, si tenemos en cuenta, por ejemplo, la longitud de un byte de 8 bits, existen 256 representaciones posibles entre el 00000000 y el 11111111. SI usamos el 00000000 para el cero, nos quedan 255 representaciones útiules... y no se pueden dividir en dos partes iguales... ¿Se entiende hasta allí?

6. Además de eso, queda por definir cómo diferenciarl los negativos de los positivos. Eso se resolvió arbitrariamente: Los binarios que tengan un cero en su bit de mayor peso serían positivos y los que tuviesen un 1 serían negativos. Así, el rango del 00000001 al 01111111 son positivos, con lo que representan los valores del 1 al 255, mientras que del 10000001 al 11111111 son negativos y representan los valores del 1 al 256.

7. Esto se cumple en todos los casos. El tipo de datos numéricos no se guarda como cifras sino como binarios y su rango está definido por la longitud en bytes que usará así, cada uno no es el doble del otro, sino uno por el otro.
A esto debes sumarle que existen números sin signo, los cuales abarcan la totalidad del rango de numeros naturales posibles para su tipo:
Veamos, por ejemplo el uso de MySQL: [URL="http://dev.mysql.com/doc/refman/5.0/es/numeric-types.html"][B]11.2. Tipos numéricos[/B]
[/URL]
¿Se va comprendiendo la idea?


perfectamente, woow, eso si fue una explicacion buenisima, entiendo de los numeros binarios ya que estudie Redes y tenia que aprenderme las conversiones, pues las direcciones IP , son de 32 bits (8bits.8bits.8bits.8bits) y tenia que hacer subneting y VLSM.
Me ayudo mucho para entenderte a la perfeccion.

Gracias
  #9 (permalink)  
Antiguo 11/04/2010, 13:47
Avatar de martin0341  
Fecha de Ingreso: septiembre-2006
Ubicación: Rosario - Santa Fe
Mensajes: 296
Antigüedad: 17 años, 7 meses
Puntos: 8
Respuesta: Mediumint (8) MySQL

:apla uso:

Etiquetas: mysql
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 23:32.