Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/04/2009, 02:26
anoderwan
 
Fecha de Ingreso: abril-2009
Mensajes: 1
Antigüedad: 15 años, 9 meses
Puntos: 0
Claves primarias. Longitud.

Hola. Tengo que hacer con Access y vba una aplicación. En la base de datos tengo una tabla cuyos registros se identifican inequívocamente por la combinación de 3 campos:

fecha_alta: 20090417
sociedad: 0001
oficina: 0001

Mi duda es si, en cuanto a rendimiento, es preferible crear un nuevo campo numérico cuyos valores sean la concatenación de esos 3 campos convertidos a tipo "Decimal" (14bytes), que en Access es el único que me aguanta números de 16 dígitos.

2009041700010001

o lo mismo pero con tipo string (16bytes)

o si el hecho de tener un campo clave con un número tan largo o con un alfanumérico de 16 caracteres va a resultar más pesado para consultas y búsquedas que el usar una clave combinada por los 3 campos originales separados.

Tengo unas cuantas tablas que se relacionarán con esta mediante la clave primaria que le ponga a esta, así que este último caso me implicaría poner en todas las demás tablas 3 campos para la clave ajena. Y todas las consultas tendrán que filtrar por 3 campos en lugar de uno.

¿Alguien se las ha visto con algo parecido y me puede aconsejar la forma de hacerlo?. Gracias de antemano.