Belirttiğiniz şekilde yaparsak veri tabanı boyutu gereksiz olarak artmış olmaz mı? Bir yazıya 10 kategori eklediğimi düşünelim.KategoriYazi tablosu ile ek olarak 10 satır ve 3 sutun veri oluşacak, benimki gibi yapınca ise sadece 1 hücreye tum veri eklenmiş olacak.
Aslında sormak istediğim yapı değilde, explode ile oluşturulan array id lerini diğer tablodaki id ile eşleştirip diğer sütündaki adı nasıl çekeceğim. Bu tabloları deneme amaçlı oluşturdum.
Bir tabloda bir hücre birden fazla veri tutuyorsa bu kötü tasarlanmış bir veritabanıdır.
Veritabanında çok tablo olmasından yada tablolarda çok veri olmasından bu kadar korkmanıza gerek yok, veritabanının işi veri tutmak, yani en iyi yapabileceği işi yapmasına izin vermiyorsunuz yapamaz diye mi düşünüyorsunuz? Doğru tasarlanmaması çok daha kötü. Explode ile parçalayıp işi php ye yaptırınca daha performanslı çalışacağını mı düşünüyorsunuz? Kesinlikle böyle birşey yok. Bir yazıya birden fazla kategori eklemek için üstteki arkadaşın dediği gibi üçüncü bir tablo oluşturup veritabanınızı normalize etmelisiniz. Öteki türlü sisteminize yeni birşey eklerken saçınızı başınızı yolmak zorunda kalırsınız nasıl yapacağım diye. Bir yazıda ekli kategorilerden bir tanesini çıkarmak istediğinizde ne yapacaksınız mesela? Yazıyı çek, kategorileri virgülden parçala, benim istediğimi sil, yeniden birleştir, güncelle. Bunu yapana kadar 3.tablodaki bir satırı silmeniz yeterli olacak. Bunları düşünmeden hareket etmeyin.
Bol şans.