Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-11-2004
JulioGO JulioGO is offline
Miembro
 
Registrado: ago 2004
Posts: 94
Poder: 20
JulioGO Va por buen camino
Question Duda sobre campo autonumerico

Hola forofos:

Quisiera despejar algunas dudas sobre el campo autonumerico:

Primero: Que tan cierto es que el mencionado campo, consuma mas memoria por ser entero y no varchar.

Segundo: Si mi BD esta en una red, y dos estaciones insertar una fila simultaneamente, ¿quien será el primero en ser numerado?, o en todo caso ¿como funciona o deberia funcionar?

Saludos.
Responder Con Cita
  #2  
Antiguo 14-11-2004
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Primero:
Cita:
Shortint –128..127 signed 8-bit
Smallint –32768..32767 signed 16-bit
Longint –2147483648..2147483647 signed 32-bit
Int64 –2^63..2^63–1 signed 64-bit
Byte 0..255 unsigned 8-bit
Word 0..65535 unsigned 16-bit
Longword 0..4294967295 unsigned 32-bit
Un char ocupa 8 bits, sin comentar idiomas multibyte, si tienes digamos un campo varchar de 10 serian 80 bits.... pues ya ocupa mas que un entero largo.

Estamos hablando de bits, o sea, que no es tan grave.

Segundo
Digamos de dos usuarios A y B, el primero que le de a anadir, es el que obtiene el numero mas pequeno,

A le da a anadir,
despues B,
ahora A cancela el registro.
B guarda el registro.

UPPPs te queda un hueco con el autonumerico.

Cuando anadas datos de prueba los autonumericos no se reinician, y tendras que acceder a una tabla de sistema para volverlo a poner a cero. Depende del sistema gestor de bases de datos tendras que hacer una u otra cosa.

A lo que vamos, es mejor poner un campo Entero y controlar tu el valor que se le va a dar al anadir un registro, por ejemplo con una consulta a la base datos al anadir un registro.

Saludos
Responder Con Cita
  #3  
Antiguo 14-11-2004
Avatar de kinobi
kinobi kinobi is offline
Miembro
 
Registrado: may 2003
Posts: 2.621
Poder: 24
kinobi Va por buen camino
Hola,

Cita:
Empezado por Lepe
Un char ocupa 8 bits, sin comentar idiomas multibyte, si tienes digamos un campo varchar de 10 serian 80 bits.... pues ya ocupa mas que un entero largo.
me temo (si no me equivoco) que JulioGO está hablando de tipos de datos InterBase y no de tipos de datos Delphi, aunque no hay grandes diferencias con lo que tú expones.

En caso de ser así...

Integer (generadores) -> 32 bits (4 Bytes)
Varchar -> Depende del juego de caracteres utilizado (como mínimo, un byte por caracter)

Cita:
Empezado por Lepe
Cuando anadas datos de prueba los autonumericos no se reinician, y tendras que acceder a una tabla de sistema para volverlo a poner a cero. Depende del sistema gestor de bases de datos tendras que hacer una u otra cosa.
En el caso de InterBase no existe el tipo Autonumérico. Lo más parecido son los generadores/enteros. Para reiniciar/fijar un generador tendrá que "jugar" con la función incorporada GEN_ID(...)

Saludos.

Última edición por kinobi fecha: 14-11-2004 a las 15:05:38.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 10:50:17.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi