FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Campo clave unico en Dif. PC, Como?
Que tal a todos...
Estoy desarrollando una aplicacion en Delphi 2010 usando firebird 2.5 con los componentes FIBPlus 6.9.9 y quiero una idea de ustedes de hacer lo siguiente: Tener una campo clave en una tabla independiente de todos los campos, ya que los datos se digitaran en diferentes laptop offline y luego se uniran en una DB. He oido habla de un tipo de dato (que ahora no recuerdo el nombre) que son unos identificadores unico, lo he visto en delphi tienen un formato de numeros y letras mayusculas entre {}. Una manito por favor. |
#2
|
||||
|
||||
Son los identificadores globalmente únicos (GUIDs). En Delphi existen dos funciones que pueden servirte:
CreateGUID, para crear un nuevo GUID, y GUIDToString, para convertirlo a cadena de caracteres si fuese necesario. Ambas se encuentran en la unidad SysUtils. Espero sea de utilidad, no dejes de comentarnos lo que hagas al respecto. Saludos. Al González. |
#3
|
||||
|
||||
O también, si es tu preferencia y/o necesidad... puedes trabajar estos números únicos de identificación directamente desde Firebird con sus funciones GEN_UUID, CHAR_TO_UUID y UUID_TO_CHAR.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
#4
|
||||
|
||||
Por cierto, en la base de datos se guardan en un campo varchar(16) con el charset OCTETS.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#5
|
|||
|
|||
Cita:
y por ultimo yo acostumbro a usar el charset win1252 porque uso las Ñ y los acentos ese, como le puedo poner el charset solo al campo llave que comenta guillotmarc? Le agradezco mucho su tiempo... un saludo. |
#6
|
||||
|
||||
Cita:
Pero hay que ver si esa pérdida es asumible si realmente lo necesitas. Tal vez para las operaciones y el volumen que tú necesitas no sea apreciable. Tendrás que "evaluar" los pros y los contras.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#7
|
||||
|
||||
Yo no creo que vayas a notar la diferencia a nivel de rendimiento. Total un entero son 4 bytes y estas claves son de 16 bytes, tampoco es que estés sobrecargando de mala manera el sistema.
Donde si vas a notar un gran cambio es en la comodidad de acceder a la base de datos. Y es que para lanzar consultas individuales no es lo mismo la comodidad de consultar el registro 24521 que consultar el registro e3aa1e81-0025-44ee-a83b-83a5a8929d3d NOTA: Para poner el valor de la UUID en este formato hexadecimal, legible para nosotros, tienes que usar esas funciones CHAR_TO_UUID y UUID_TO_CHAR Olvídate del rendimiento, eso es lo de menos. Respecto a como definir un charset específico para unos determinados campos. Puedes definirte, por ejemplo, este dominio en la base de datos. Ahora cualquier campo que definas con este dominio, ya tendrá el tipo y charset adecuado.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Cómo volver los registros a cero de una tabla con autoincremento como campo clave? | cesar_gta86 | Varios | 1 | 25-02-2009 07:54:08 |
campo unico duplicado | seken | Conexión con bases de datos | 4 | 15-04-2005 22:28:45 |
Como copiar un registro cambiando el campo de clave primaria | Javi2 | SQL | 2 | 17-09-2004 21:49:50 |
registros duplicados en campo unico | fearlex | Conexión con bases de datos | 3 | 12-08-2004 19:34:15 |
Añadir la propiedad unico a un campo de Interbase | mario_uria | Firebird e Interbase | 2 | 22-07-2003 12:08:48 |
|