¿La "mejor"?
Bueno, mas allá de que no existe lo "mejor" en BBDD, sino lo adecuado para un escenario en particular, lo
usual es esto:
Cita: CATEGORIA(categoria_id, descripcion, categoria_padre)
donde el tercer campo es una FK que apunta a la misma tabla.
Es una dependencia 1:N hacia la propia tabla que te permite definir tantas categorías y subcategorías como se necesiten, en los niveles que sean necesarios.
El campo debe ser nulable, para dejarlo nulo en la categoría padre.
Es el mismo esquema de empleado->Jefe, algo que encontrarás en todos los ejemplos de diseño de estructuras.