Ben bu sistemi ağaç mantığı ile açıklamak istiyorum bundan 3 sene önce araştırmadan keşfettiğim daha sonra bazı makalelerde karşılaştığım bir yapıdan bahsedeceğim. Bu örnek biraz basit olabilir ama geliştirmek sizin zihinsel gücünüze kalmıştır.Genelde eticaret sitelerinde kategori ağacının kaç dal olacağı bilinmez bazen 2 dal bazen 5 dal bunu bilemeyiz. Ağaç sistemi ile bu işi çözmek kolay benim DNA adı verdiğim bu sistem kategorileri tek bir tabloda toplayarak belirli bir alanda kategorinin atası dediğim ilk kategorinin ID numarasından başlayarak bir üst ve kendi ID si olmak üzere bir DNA zinciri oluşturuyorum ne diyor bu diyebilirsiniz 🙂 Şimdi konuyu biraz açacağım ve daha iyi anlayacağınızı umuyorum.KATEGORILER adında basit bir tablomuzun var olduğunu düşünelim ve bu tablo içindeki alanlarımızIdAdiUstIdDnaDurumolsunAna kategori eklerken sql SorgumuzINSERT INTO(Adi,UstId,Dna,Durum) VALUES(‘Bilgisayar’,0,’0′,1)
Dikkat ederseniz Dna alanına 0 girdim bu ilk insan :)Şimdi bunun çocuğu dediğimiz ve bundan kalıtım almış kategoriyi yaratalımINSERT INTO(Adi,UstId,Dna,Durum) VALUES(‘Masaüstü’,1,’0,1,2′,1)
Dna alanına dikkat edersek 0,1,2 olduğunu göreceğiz burada 0 ana sayfa için kullanılacak 1 Bilgisayar kategorisinin Id si ve 2 de kendi Id numarası bu kodlama 0,1,2 kalıtım olarak Masaüstü kategorisinin nerden geldiğini belirtti.Şimdi Masaüstü kategorisinin çocuğunu ve Bilgisayar kategorisinin torununu oluşturalım.INSERT INTO(Adi,UstId,Dna,Durum) VALUES(‘X Model’,2,’0,1,2,3′,1)
Dna da X Model kategorisinin soyağacını görmemiz mümkün.sağdan sola okursak 3 kendi 2 masaüstü 1 bilgisayar olarak kalıtımı görebiliyoruz.Şimdi bu kategorinin altına bir kategori daha eklersek.INSERT INTO(Adi,UstId,Dna,Durum) VALUES(‘Y Model’,3,’0,1,2,3,4′,1)
Y Modelin Dnasını sağdan sola okursak 4 kendisi, 3 X Model, 2 Masaüstü, 1 Bilgisayar, 0 anasayfamız.Bu mantık yardımı ile sınırsız kategori sistemi oluşturabilirsiniz.İyi çalışmalar dilerim.