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

Primary key, id o string?

Estas en el tema de Primary key, id o string? en el foro de Mysql en Foros del Web. Hola buenas. Tengo una duda. Casi siempre veo que se usan claves del tipo int para las tablas, pero por ejemplo, tengo una tabla llamada ...
  #1 (permalink)  
Antiguo 26/11/2011, 17:23
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 8 meses
Puntos: 165
Primary key, id o string?

Hola buenas.

Tengo una duda. Casi siempre veo que se usan claves del tipo int para las tablas, pero por ejemplo, tengo una tabla llamada categorias, donde ai un campo url que es único, y que en realidad es la clave, debería de usar id autoincrement para optimizar la velocidad?

Un saludo!
__________________
Gracias por el Karma :D

empleo ofertas de trabajo
  #2 (permalink)  
Antiguo 26/11/2011, 17:31
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Primary key, id o string?

Desde el punto de vista estricto de lo mejor, lo preferible es atenerse a lo ortodoxo: La mejor PK es la que surge de analizar el relevamiento de entidades del sistema, y de las reglas del negocio. O sea, lo que dice el modelo relaiconal: Ese atributo propio de la entidad, o conjunto de atributos, que identifica una instancia del mismo en la relación (tabla).
Agregar un atributo (cadena o numerico) es una alternativa que se decide en la normalización de las tablas, y sólo si es necesario.
Los autoincrementales son soluciones fáciles, propias de los programadores, pero luego generan problemas de migraciones, de integración, de actualización, etc. Desde el punto de vista de la implementación, son sencillos, pero con su sencillez, luego pagas con más trabajo cuando el sistema debe extenderse por su propio crecimiento.
A mi, personalmente, los AI no me convencen, y me han traido más problemas que soluciones.
Por experiencia, prefiero una PK que respete el modelo de entidades, que "fabricar" claves.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 26/11/2011, 17:41
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 8 meses
Puntos: 165
Respuesta: Primary key, id o string?

Exacto.. es que yo veo que por lógica, debería de ser el campo 'url', pero casi por costumbre, pienso en el id autoincremental... y creo que a nivel de rendimiento es mejor el id.. pero no se hasta que punto..

Muchas gracias!
__________________
Gracias por el Karma :D

empleo ofertas de trabajo
  #4 (permalink)  
Antiguo 26/11/2011, 17:49
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 8 meses
Puntos: 165
Respuesta: Primary key, id o string?

Después otra duda o problema...

Como actualizaría una url que es primary key y tiene una relación? y todos los campos relacionados en lugar de guardar un entero.. tendrán que guardar una string repetitivamente... no me acaba de gustar..

Un saludo!
__________________
Gracias por el Karma :D

empleo ofertas de trabajo

Etiquetas: key, primary, tabla
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 22:22.