Hiyerarşik Veritabanı
-
peki dallanan budaklanan verilere başka tablodan veriler bağlanıcakmı? ben projemde bu olayı şöyle yapmıştım mysql de.
catid parentid text depth
catid 1 2 3 4 diye gidiyor. parentid ise hangi veriye bağlanıcaksa yeni veri onun idsini alıyor. depth de kaçıncı basamakta olduğu -
Evet sql ile iki tablo yapıp, birinci tabloda seviyeleri, ikinci tabloda seviyelere ait üniteleri tutup, parent id, child id mantığı ile gidilebilir. Ama mesela ben 3. seyiye ait 6. seviyedeki verileri çekmek istersem sırayla önce 3. 4. ve 5. seviyeleri sorgulamam gerekecek. Performans açısından çok kötü. Ayrıca bir başka durum da aynı seviyeye ait iki üniteyi birleştirmek istediğimde karşıma çıkar mesela. Tek tek sorgulatıp hepsini değiştirmek. Bana bu tarz işlemler konusunda kolaylık sağlayacak bir veritabanı lazım diye o yüzden diyorum. NoSQL graph veri tabanlarından http://neo4j.org/ var mesela. Ama işte bana çalışmış tecrübeli adam lazım.
-
Eğer uğraşmak istemiyorsan graph database yine diyorum. Graph databaseler ile ileriye dönük sorgulama, geriye dönük sorgulama. Noddan dallanma, 2 nod arasında karşılaştırma gibi işlemleri yapabilirsin. İstersen yardımcı olurum.