Beni forumlarda ‘kategori sistemimim nasıl olmalı?’ , ‘Gruplu, kullanıcı sistemim nasıl olmalı?’, ‘Kullanıcı sayfa yetkilendirmelerini nasıl kurgulamalıyım’ gibi hiyerarşik veri üzerine sorulan sorulara verdiğim cevaplarla görenler, sık sık MySQL’in hiyerarşik dizayna dair makalesini öne sürdüğümü görmüşlerdir. Fakat makale, kendisinin ingilizce olması nedeniyle hem ingilizce gerektirdiğinden, ingilizce bilenler içinse ingilizce terminoloji eksikliğinden dolayı bir takım yeterince fayda sağlayamıyor. Üstüme çevirmenlik vazife değil ama, olduğu kadarıyla ve sabrımın yettiği kadarıyla açıklayarak türkçe kaynakda çalışma zorunluluğu olan arkadaşlara yardımcı olabilirsem; bunun mutluluğunu, huzurunu ve tabii egosunu yaşacağım. Ayrıca orada burada ukalalık ederken daha rahat olacağım gibi geliyor :-) Öncelikle bu makale, tıpkı ingilizce sürümündeki gibi, bilindik kategori sistemini örnek verecek, fakat unutmayın, bu sistemi ister kategorilerde, ister ACL ( access control list / yetki hiyerarşisi) oluştururken, ister kullanıcı hiyerarşisi oluştururken kullanabilirsiniz. Bu makalede doğal olarak makale sahibinin kim olduğu düşünülürse MySQL kullanılarak anlatıldı fakat buradaki yapı illa MySQL ile kullanılacak diye bir kaide de yok. Örnekler SQL ile verilse de tasarım ister Postgre’de ister Oracle’da isterseniz XML’de tanımlanır. Elinizde bu durumda olması gereken tek önemli şey, işlevlerinizi rahatça SQL gibi bir sorgu aracı. Makale birkaç sayfadan, bunlar Eski sayfaları kaldırdım, yazı aşağıdaki bölümlerden tek sayfa halinde oluşmakta;
- Gökçe’nin Açıklaması ve bu girişiminin nedenleri (bu sayfa)
- MySQL Makalesine Başlangıç
- Tümleşik Yapı Kalıbı (The Adjacency List Model)
- Yerleşim Yapı Kalıbı ( Nested SetModel)
