Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Cuál es más recomendable: PK tipo numérico o tipo caracter

Estas en el tema de Cuál es más recomendable: PK tipo numérico o tipo caracter en el foro de SQL Server en Foros del Web. Hola: Quisiera saber cuál es más recomendable de usar como tipo de dato para la formación de un campo primaro: un campo de tipo de ...
  #1 (permalink)  
Antiguo 03/02/2009, 08:30
 
Fecha de Ingreso: febrero-2009
Mensajes: 5
Antigüedad: 15 años, 3 meses
Puntos: 0
Sonrisa Cuál es más recomendable: PK tipo numérico o tipo caracter

Hola:

Quisiera saber cuál es más recomendable de usar como tipo de dato para la formación de un campo primaro: un campo de tipo de dato numérico o uno de tipo de dato caracter?

Y si es posible, indicarme sus pro y sus contras?

Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 03/02/2009, 08:50
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 5 meses
Puntos: 38
Respuesta: Cuál es más recomendable: PK tipo numérico o tipo caracter

Numerico...

La ventaja principal es muy simple..

Un dato numerico tiene menos bytes a la hora de comprar que por ejemplo uno de 10 o 15 caracters de longitud variable y no se requiere de conversiones... de ahi que tienes un mayor performance cuando la cantidad de registros se incrementa...

La otra es que con datos tipo caracter tienes variantes con acentos, mayusculas, espacios en blanco, etc.. que se pueden solventar con collation adecuados, pero en ocasiones suelen causar decremento en el performance para hacer busquedas correctas...


La desventaja con los numericos es que para los humanos es mejor ver palabras que numeros, pero lo puedes solventar haciendo un catalogo y listo...

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #3 (permalink)  
Antiguo 03/02/2009, 08:59
 
Fecha de Ingreso: febrero-2009
Mensajes: 5
Antigüedad: 15 años, 3 meses
Puntos: 0
Sonrisa Respuesta: Cuál es más recomendable: PK tipo numérico o tipo caracter

Gracias amigo, ya sabía de esa respuesta, pero lo quería tener bien claro de opiniones de expertos en esta materia.

Ah, y disculpa mi falta de conocimiento, pero podrías decirme en qué consiste los catálogos para solvertar un tipo de dato numérico, para que las personas puedan entender mejor en lugar de utilizar datos de tipo cadena?

Gracias de nuevo.
  #4 (permalink)  
Antiguo 03/02/2009, 09:03
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 5 meses
Puntos: 38
Respuesta: Cuál es más recomendable: PK tipo numérico o tipo caracter

Ah, solo me referia a generar otra tabla donde se relacione el valor numerico con su correspondiente descripcion en texto...

Asi, el usuario veria la descripcion y no el numero..

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #5 (permalink)  
Antiguo 03/02/2009, 09:13
 
Fecha de Ingreso: febrero-2009
Mensajes: 5
Antigüedad: 15 años, 3 meses
Puntos: 0
Sonrisa Respuesta: Cuál es más recomendable: PK tipo numérico o tipo caracter

Ah bueno, creí que era otra cosa extraña, jaja.

Gracias por la ayuda, me ha aclarado mucho. Suerte.
  #6 (permalink)  
Antiguo 03/02/2009, 09:24
 
Fecha de Ingreso: febrero-2009
Mensajes: 5
Antigüedad: 15 años, 3 meses
Puntos: 0
Sonrisa Respuesta: Cuál es más recomendable: PK tipo numérico o tipo caracter

Amigo, una pregunta más. Lo que pasa es que quiero optimizar mi base de datos.

Cuál es más recomendable usar, un tipo de dato BIT o un CHAR(1)?

Gracias de nuevo.
  #7 (permalink)  
Antiguo 03/02/2009, 10:27
Avatar de Thumper  
Fecha de Ingreso: agosto-2004
Ubicación: Jesús María - Lima - Perú
Mensajes: 270
Antigüedad: 19 años, 8 meses
Puntos: 6
Respuesta: Cuál es más recomendable: PK tipo numérico o tipo caracter

depende mucho de lo que quieras almacenar si la variable solo va a tener 2 valores entonces usa BIT, en caso contrario una char(1).

saludos
__________________
Martín Alexis Valdivia S.
-----------------------------
"Quisiéramos cambiar el mundo, pero Dios no nos daría el código fuente." CAP
"Si Saber No Es Un Derecho, Seguro Será Un Izquierdo." WD
  #8 (permalink)  
Antiguo 03/02/2009, 10:43
 
Fecha de Ingreso: febrero-2009
Mensajes: 5
Antigüedad: 15 años, 3 meses
Puntos: 0
Sonrisa Respuesta: Cuál es más recomendable: PK tipo numérico o tipo caracter

Claro amigo.

Tal vez no fui más específico. Por ejemplo, un campo "estado" que almacena dos valores: "Activo" o "Inactivo", "Masculino" o "Femenino", por ejemplo.

Se pueden usar cualquiera de los dos tipos de datos: BIT (0:Inactivo, 1:Activo o 0:Femenino, 1:Masculino, etc.), como usar también CHAR(1) ('A':Activo, 'I':Inactivo o 'M':Masculino, 'F':Femenino, etc.)

pero para estos dos ejemplos, cuál sería más recomendable en cuestión de rendimiento, velocidad, etc. Usar un BIT o un CHAR(1)

Nuevamente, gracias por la paciencia.
  #9 (permalink)  
Antiguo 03/02/2009, 13:35
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 5 meses
Puntos: 38
Respuesta: Cuál es más recomendable: PK tipo numérico o tipo caracter

Pues no tengo datos estadisticos al respecto, pero cabe comentar no se puede crear un indice sobre un campo tipo BIT...

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #10 (permalink)  
Antiguo 04/02/2009, 11:27
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Respuesta: Cuál es más recomendable: PK tipo numérico o tipo caracter

En mi experiencia personal, siempre he utilizado BIT para representar los ESTADOS de los datos, me explico, ACTIVO/INACTIVO, PRESENTE/AUSENTE, APAGADO/ENCENDIDO, donde se que solo habria 2 estados.

Para la representacion del SEXO (FEMENINO/MASCULINO), siempre he utilizado un char(1) "H", "M" o bien "F", "M"

No se me habia ocurrido la utilizacion de un BIT, aunque habria que pensar que para el caso, hay paises que quieran representar tambien a los HOMOSEXUALES, BISEXUALES, TRANSSEXUALES, etc., donde ya el uso de un bit, no serviria.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 11:34.