-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Elvin Şiriyev @ 15-04-2010 10:37:
> Oturumu hızlıca okumaya çalışdım. alakası varsa (ve hatta yoksa bile) bu
> konunun öğrenilmesi gereklidir:
> http://dev.mysql.com/tech-resources/articles/hierarchical-data.html

yeni okudum bende konuyu, aynı sayfaya işaret edecektim. yalnız dikkat
edilmesi gereken bir nokta var, mysql hiyerarşik verileri tek query ile
gösterme yeteneğine sahip değil. bunun yerine subquery'ler ile çalışmak
gerekiyor ve subquery sayılarını siz belirliyorsunuz, yani sonsuz miktarda
sub category yaratmak maalesef mümkün olamıyor.

mümkün olanlarda ise şöyle bir problem baş gösteriyor, en azından benim
ihtiyacım olan şey şöyleydi, bir adet stok ağacımız var, mesela şöyle gidiyor;

Elektrik > Şalt Malzemeleri > W Otomatlar > 1x6A Otomat

gibi, bunu göstermek istediğinizde şöyle bir query yazıyorsunuz;

SELECT * FROM Kategori
  LEFT JOIN Kategori AS subKategori ON subKategori.Sahip = Kategori.Id
  LEFT JOIN Kategori AS subsubKategori ON subsubKategori.Sahip = subKategori.Id

ama bunu elle müdahale etmeden sınırsız hale getiremiyorsunuz, hatta şunu da
yapamıyorsunuz, mesela bu kategorileri sıralatırken mesela ben sadece W
Otomatların toplam stok maliyeti içerisinde toplamda ne kadar tuttuğunu
görmek istiyorum, bunun için sadece W Otomat'a tıklamam yetmiyor, bir de
oturup ona özel bir query vs yazmam gerekiyor -otomatik olmuyor maalesef,
stok yapımız biraz karmaşık-, gibi detaylar var.

bir de şu problem oldu, mesela bir ürünü komple taşımak istiyorum, ve
bunların her biri benim için bir ürün kategorisi, SELECT kutusunun içinde
şunu da gerçekleştiremedim;

Elektrik
Elektrik > Şalt Malzemeleri
Elektrik > Şalt Malzemeleri > W Otomatlar
Elektrik > Şalt Malzemeleri > Termik Şalterler
Elektrik > Fanlar
...
...
vs, örnekler çoğaltılabilir. Genel olarak subKategori ortamını oluştururken
aşırı dinamik bir yapı oluşturamıyorsunuz, daha çok sabit seçenekler mümkün.
Aşırı dinamik yapılar için ise *mutlaka* birden fazla query ile çalışmak
zorunda kalıyorsunuz. Ha, ne kadar tercih edilebilir orası ayrı, sırf bu iş
için ayırdığınız bir sunucunuz vardır, kör topal idare ediyordur ama bir kaç
bin üründen oluşan bir ürün ağacınız varsa gerçekten can sıkabilir.

- -- 
Omer Barlas
[email protected]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkvG5U4ACgkQdGekJptkwetpvQCeK3b74CB9dMJqBtlyZfht24yY
2zcAn0/aEbyocvGu8p46A78l1hDbXwbP
=Sqku
-----END PGP SIGNATURE-----
_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Cevap