en mantıklısı ikisinin birden karışımı;
id name cat
-- ------- ----
1 falan 0
2 filan 0
3 bu 1
4 şu 1
5 o 2
diyerek iç içe (recursive) bir işe temel atıyoruz, daha sonra her kategori eklendiğinde bu iç içe yapıyı bir diziye (array) atıyoruz bu diziyide herhangi bir metin olarak veritabanında tutuyoruz. kullanmak istediğimiz zaman bu metni evaluate ediyoruz ve elimizde tek bir sorguyla yapılmış yüzlerce hatta binlerce kategoriye doğru sırada ve kolayca ulaşıyoruz.
Gerçi sadece içi içe sorgu yapmış olsan dahi bunun 500 - 600 kesintisiz kullanıcı tarafından kullanıldığını düşünsek, gene de bu veritabanını yormaz veya en azından yormamalı.