Buenas,
Yo te recomiendo utilizar un indice auto-increment. No ya sólo por la facilidad de tratamiento a posteriori con el código PHP, sino también porque para MySQL (y otros motores de bases de datos) es mucho más sencillo hacer operaciones con enteros que con cadenas. Por ejemplo, las búsquedas son mucho más rápidas si las haces con un id entero, ya que se ordena de menor a mayor y el acceso al campo buscado es directo. Si la primary key de la tabla es una cadena, tiene que recorrer toda la tabla comparando una por una las claves.
Es decir, es mucho más rápido a nivel de bases de datos hacer:
Código SQL:
Ver originalSELECT * FROM Categoria WHERE id_categoria = 238
Que hacer:
Código SQL:
Ver originalSELECT * FROM Categoria WHERE nombre_categoria = 'pasteles clásicos'
De todas formas, esto sólo son consejos que yo te doy, para un buen diseño de bases de datos. Yo siempre incluyo un id auto-increment, sea o no necesario, porque facilita todo lo demás. Luego cada uno puede hacer lo que quiera, para eso están los consejos, para seguirlos o no.
Un saludo.
PD: no te esfuerces en darme karma, ni lo miro.