ac1919
Selam,
Küçük bir örnekle soruyu şöyle sorabilirim galiba, Bursa'nın komşularını veritabanına kaydetmek istiyorsunuz, bunu Bursa'ya ait satırda komşular sütununda json olarak mı tutarsınız ? Yoksa komşular tablosunda bursa ID'si ile eşlelen her komşuya ait yeni bir satır oluşturarak mı yaparsınız ?
sineld
Ben bu tür senaryolar için ilişkili tablolarda kayıtların tutulması taraftarıyımdır. JSON için ideal bir senaryo değil.
mgsmus
Ne amaçla kullanacağınıza bağlı. İki kademe komşularını bulmak isterseniz (komşularının komşuları) JSON yerine tabloda çözmek daha kolay olur ama sadece ben bir ilin komşularını alayım yeter derseniz JSON olabilir. Burada bahsettiğim kolaylık ya da zorluk sizin SQL bilginize bağlı elbette. SQL bilgisi iyi olan biri bunu get_neighbours(id, depth = 1) gibi bir procedure ile JSON sütunundan aldığı verilerle direkt SQL içinde de halledebilir belki.
ac1919
Cevaplarınız için teşekkürler üstadlar, anladığım kadarıyla uygulama farklı bir yazılım diline geçmeyecekse veritabanı senaryolarını json odaklı düşünmek doğru bir seçenek değil.
mgsmus
Yazılım dili değil ama farklı veritabanına geçiş olarak düşünmelisiniz. MySQL JSON kullandığınızda JSON_* yöntemlerini kullanırsınız, bunlar diğer veritabanlarında farklıdır. Böyle bir değişim söz konusu olacak ise sistemi yazarken buna göre bir planlama yapmanız lazım, örneğin veritabanı adaptörü üzerine kurulu repository'ler kullanmak gibi.
Elbette en doğrusu iş için en uygun aracı seçmek, ona göre veritabanını, dili vs. baştan seçmek ama ileride ne olacağını bilemiyoruz işte...
sineld
MySQL 5.7 ile birlikte JSON işlemleri kolaylaştı. Laravel ile de bunu kolaylaştıran araçlar mevcut. Tamamen kaçının demek istemem, Mustafa'nın belirttiklerine dikkat edildikten sonra duruma bağlı tercih edilebilir.