Inicio > Delphi > wildchild > Campos Numericos o Alfanumericos en Bases de Datos

Campos Numericos o Alfanumericos en Bases de Datos

Experto:
Usuario:
Fecha: 23/10/2003
Valoración: (4,00 sobre 5) Categoría: Delphi
22/10/2003
acerrato, usuario preguntando en Delphi
Usuario
me gustaria saber que es mas recomendable para codigos identificadores de departamentos, municipios, provincias, etc. un codigo numerico o un alfanumeri? tomese en consideracion que tales codigos luego pasaran a formar parte de un codigo compuesto, como ser un geocodigo o un codigo de centro educativo. Ademas no se hacen operaciones matematicas con dichos codigos. Por ejemplo: es mejor 8 numerico que '08' alfanumerico....???
Gracias
23/10/2003
acerrato, experto respondiendo en Delphi
Experto
Hola acerrato.

En base a lo que me has preguntado, la respuesta es la siguiente: depende.
Si estos codigos de identificacion (ID´s) van a formar otros codigos compuestos, entonces lo recomendable es que los hagas alfanumericos, pues asi evitaras duplicidad en codigos pudiendo agregar letras o guiones como parte del codigo, sin embargo debes tener mucho cuidado y mucho control al no repetir el codigo alfanumerico, puesto a que puede crear ambiguedades. Es decir, si utilizas codigos alfanumericos, debes tener cuidado con tener codigos como estos ('08','008',0008') porque, aunque sea el mismo numero en todos los casos, el codigo es diferente.
Sin embargo, si deseas tener un codigo mucho mas veloz y agil, te recomiendo el numerico, tambien es mas practico.
En conlusion: yo me iria por el numerico.
23/10/2003
acerrato, usuario preguntando en Delphi
Usuario
Antes que nada agradecerte tu pronta respuesta. Para darte un mayor detalle de lo pretendido te dire que tales codigos seran usados para identificar los departamentos, municipios, aldeas, cacerios de mi pais. Basicamente existen solamente 18 departamento y dentro de ellos n-municipios y dentros de cada municipios n-aldeas, etc. Estas tablas auxiliares no seran tocadas nunca mas, a menos que cambie la composicion geografica de mi pais. Sin embargo, observo que la mayoria de las instituciones utilizan codigos alfanumericos, ya que el cero a la izquierda le da un significado al dato, tal como tu dices: '08' y '008' no son lo mismo y su integridad la conservan los procesos que crean dichos codigos. Ahora bien, observo que un codigo numerico como 8 por ejemplo, que represente el departamento 8 y el cual utilizare para crear un geocodigo que obligatoriamente debe ser 08..., requiere una manupulacion, pues hay que convertir a caracter el 8 y agregarle un cero a la izquiera a dicho numero y despues concatenarlo con el codigo del municipio, etc. Me gustaria saber otras ventajas en el uso de codigos numericos, ya que no hare operaciones matematicas. Tambien he observado que los ordenamientos de este campo codigo alfanumerico y numerico son exitosos en uno u otro tipo, ademas de que la forma de ordenar de sybase (Btrees creo) es mas optima pero en gran volumen de datos; pero no en el caso de un volumen de apenas 18 registros (departamentos) en el cual el metodo de burbuja (orden n cuadrado) es igual de optimo que Btrees pues no creo meritorio mejorar el rendimiento con el uso de codigos numericos.
Que piensas???
Perdon por convertir esto en un Foro en lugar de una pregunta....y Gracias nuevamente
23/10/2003
acerrato, experto respondiendo en Delphi
Experto
Hola nuevamente:

Respecto a lo que me comentas, es mucho mas recomendable que utilices codigos alfanumericos, ya que el control de las tablas que tienes es bastante bueno, ademas por lo que he entendido estos codigos formaran otros compuestos. Un campo numerico no te permite eso. Un campo numerico se recomienda cuando el identificador es UNICO y debe de ser de rapida identificacion. Tambien se utiliza cuando la cantidad de registros es muchisima y las busquedas e indexaciones tienen que ser veloces. Ahora bien, no se que tipo de bases de datos utilizaras, independientemente de eso, es mas recomendable el alfanumerico. Y sobre todo, lo que debes tomar en cuenta sobre todas las cosas, es que te pongas en el lugar del usuario y pienses que seria lo mas facil para el.
Saludos
(P.D. No te preocupes por convertir esto en un foro, pues asi podremos opinar varias personas) ^_^
23/10/2003
acerrato, usuario preguntando en Delphi
Usuario
ha sido muy satisfactorio compartir conocimientos contigo y verdaderamente muy valiosa tu ayuda. estamos usando Sybase 12.5 con DBMS con PowerBuilder
Más opciones
Enlaces patrocinados