Bir çok veritabanı ve dilde veri yapıları arası ilişki için many to many yapısı tercih edilebiliyor. Mysql, Sql Server, DB2 gibi ilişkisel veritabanlarında bu ilişki çeşidi ayrı bir ilişki tablosu ile yapılıyor. Bunun dışında hibernate ve entity framework gibi yapılarda bu tabloları bizim modelimizden soyutlayıp kendi içlerinde çözümleyebiliyorlar. Ama her şeyden önce şu sorunun cevabını vermek lazım. Many to Many ilişki nedir?
ManyToMany ilişki nedir?
Many to many ilişki birden fazla veri tipini birbiri ile çoğa çok şekilde ilişkilendirmek için kullanılıyor.
Many to Many ilişki örneği
Buna en güzel örnek blog sistemlerindeki etiketler diyebiliriz. Bir yazının birden fazla etiketi olabilir. Mesela bu yazıyı göz önüne alalım. Hep veritabanı, hem de yazılım ile etiketleyebilirim. Yani bir yazının birden fazla etiketi var. Benzer şekilde her etiketinin mesela yazılım etiketinin içinde birden fazla yazı var. Yani karşılıklı olarak bire çok ilişki olduğu zaman tüm bunları tek bir çoğa çok ManyToMany ilişki olarak ele alabiliyoruz.
Veritabanı Tablo İlişkisi Örneği
Many to many ilişkileri ilişkisel veritabanlarında tutmak için ara tabloya ihtiyacımız oluyor.
Görselde görüldüğü gibi posts tablosu ile tags tablosu bizim örneğimizdeki yazılar ve etiketler tabloları birbirlerine ara bir ilişki tablosu ile bağlanmış. Böylece hem bir yazıya ait etiketleri, hem de etikete ait yazıları bu ilişki tablosu sayesinde basit sorgularla rahatla tespit edebiliyoruz.