Veritabanında birden fazla veriyi birden fazla veriye ilişkilendirmek için Many To Many Relationship diye bir yöntem var. Türkçe manası da herhale Çoktan çoğa ilişki tipidir. Bu yönteme bir blog sisteminde ihtiyaç duydum. Bir blog gönderisine bir kategori tanımlamak daha önceden yaptığım bir işti. Ama Bir gönderiye birden fazla kategori tanımlamak istediğimde bu tarz bi yönteme başvurmak gerektiğini öğrendim.
Bir gonderi tablomuz olsun, içerisinde id
, baslik
, govde
alanları olduğunu varsayalım. Bir de kategori tablomuz olsun, içindeki alanlarsa id
, adi
, aciklama
olsun.
Bu noktada her şey tamam. Şimdi yapmamız gereken bu iki tablodaki verileri ilişkilendirmek olacak. Önceden gönderiyi bir kategoriyle ilişkilendirmek için gönderi tablosunda kategori_id
adlı bir alan oluşturup gönderinin ait olduğu kategorinin ID
‘sini eklerdik. Ama birden fazla kategori tanımlamak istenildiğinde bu durum yapılamıyordu. Şimdi, bu durumun üstesinden gelebilmek için hangi gönderi ve kategorilerin hangisiyle ilişkili olduğunu tutabileceğimiz bir tablo oluşturacağız. Tablonun adı gonderi_kategori
olsun. İçerisindeki alanlar ise id
, gonderi_id
, kategori_id
olsun. Görsel olarak şöyle:
1 numaralı gönderi, 2 ve 3 numaralı kategoriyle ilişkilendirildiğinde, gonderi_kategori
tablosuna iki satır eklenir. Yani şöyle:
id |
gonderi_id |
kategori_id |
---|---|---|
1 | 1 | 2 |
2 | 1 | 3 |
Daha sonra uygulamalı bir örnekte görüşmek üzere diyelim.