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

¿recomendación de lectura, clave primaria compuesta vs autoincremental?

Estas en el tema de ¿recomendación de lectura, clave primaria compuesta vs autoincremental? en el foro de Bases de Datos General en Foros del Web. Hola lista, tengo una consulta. Yo siempre tiendo a usar claves primarias autoincrementales en vez de compuestas y a estas compuestas las dejo como unique, ...
  #1 (permalink)  
Antiguo 18/02/2011, 06:23
 
Fecha de Ingreso: agosto-2008
Mensajes: 198
Antigüedad: 16 años, 3 meses
Puntos: 27
¿recomendación de lectura, clave primaria compuesta vs autoincremental?

Hola lista, tengo una consulta. Yo siempre tiendo a usar claves primarias autoincrementales en vez de compuestas y a estas compuestas las dejo como unique, por las supuestas razones de velocidad, facilidad de validaciones, etc. La cosa es que ahora tengo que hacer una especie de informe y me gustaría colocar algo así como

Según el doctor en .... este tipo de claves tiene .. ventajas, con alguna tabla comparativa de velocidad o algo así, con el fin de respaldar mi postura de mejor manera.

Conocen algún link o documento que tenga resultados en base a un especie de tablas o gráficos comparatorios de velocidad, desempeño, etc., es decir, poner una prueba que no se quede sólo en palabras. (yo, googleando, no he podido encontrar de momento)

Se que, de existir dichas comparaciones, estas podrían estar influenciadas por una serie de otros factores, pero aún así sería un buen fundamento.

Eso sería, saludos.

P.D..Si la comparación tomara en cuenta a PostgreSQL, mucho mejor.

Última edición por refreegrata; 18/02/2011 a las 06:35
  #2 (permalink)  
Antiguo 18/02/2011, 10:19
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: ¿recomendación de lectura, clave primaria compuesta vs autoincremental?

Yo lo que haría es basarme en la documentación oficial de postgresql para citar ciertos aspectos.

Por ejemplo:
Cita:
Tip: There is no performance difference among these three types, apart from increased storage space when using the blank-padded type, and a few extra CPU cycles to check the length when storing into a length-constrained column. While character(n) has performance advantages in some other database systems, there is no such advantage in PostgreSQL; in fact character(n) is usually the slowest of the three because of its additional storage costs. In most situations text or character varying should be used instead.
Tomado de http://www.postgresql.org/docs/9.0/i...character.html

Cita:
The type integer is the common choice, as it offers the best balance between range, storage size, and performance. The smallint type is generally only used if disk space is at a premium. The bigint type should only be used if the integer range is insufficient, because the latter is definitely faster.
tomado de: http://www.postgresql.org/docs/9.0/s...e-numeric.html.

Asumo que si hablas de autoincrementales en postgresql te refieres a el "tipo de dato" serial o en general a las secuencias. Puedes hablar un poco de eso referente a la documentación oficial.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 22/02/2011, 01:09
 
Fecha de Ingreso: noviembre-2002
Ubicación: DF
Mensajes: 1.056
Antigüedad: 22 años
Puntos: 37
Respuesta: ¿recomendación de lectura, clave primaria compuesta vs autoincremental?

Busca algo sobre normalizacion de tablas o bases de datos, alli te explicara las formar normales y como las llaves primarias son importantes para normalizar los datos.

En el caso de que tengas tablas de que MANERA NATURAL tengan un campo unico que las identifique, no necesariamente requieres una llave autoincremental.

Lo que hace la llave autoincremental es garantizar la unicidad de los registros (necesario para una tabla normalizada).

Etiquetas: clave, compuesta, lectura, primaria
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




La zona horaria es GMT -6. Ahora son las 10:38.