Ver Mensaje Individual
  #1  
Antiguo 22-02-2008
brandolin brandolin is offline
Miembro
 
Registrado: jul 2003
Ubicación: Mendoza
Posts: 324
Reputación: 23
brandolin Va por buen camino
Correcta eleccion del primary key

A ver, creo que ese no es el titulo correcto pero no encuentro otro. Paso a explicar el problema.

Tengo una tabla de facturas donde el primary key deberia ser el numero de factura (por ej: 0001-12345678) la idea era ponerlo a todo ese numero (sin el guin) como in bigint (uso firebird + dbexpress + delphi7) pero resulta que el dbexpress me lo pone como tipo TBCDxxx y no se porque no me deja asignar valor a dicho campo...
Para evitar esto puse a este campo como varchar(15) pero no me gusta que un varchar sea primary key (creo haber leido un problema de velocidad en la indexacion)
Entonces para evitar esto lo he puesto como float... alli si toma todo el nuemro de corrido es decir 112345678, ahora bien varias preguntas.
1-Es optimo poner un float como primary key ? No se desperdicia espacio sin sentido...
2- y un varchar?
3- si aplico un formatfloat("9999-9999999", 1123456789) me devolvera 0001-12345678 ?
4- Alguno otro consejo de diseño ?

desde ya muchas gracias
Responder Con Cita