Veri Tabanı İlişki Türleri(1–1) (1-N) (N-N)

Sevgi Yangın
2 min readJan 19, 2024

--

Tablolardaki kayıtların benzersiz veya tekrarlı olmasına göre ilişki türleri değişmektedir. Veritabanında 1–1 / 1-N / N-N olmak üzere 3 çeşit ilişki türü vardır.

1–1 İlişki Türü (Bire Bir İlişki)

Her iki tablodaki bağlantılı alanlar, her iki tabloda da benzersiz olmak kaydıyla bu ilişki kullanılır.

Yani her iki tabloda kullanılan bilgiler birincil anahtar ise birebir ilişki olur.

Yukarıdaki örnekte 333 numaralı Ceyda’yı seçtiğimizde kimlik_detay tablosunda kaç kayıt geldiğine bakarız. Eğer tabloda hangi durumda olursa olsun 1kayıt geliyorsa bu iki durum arasında 1–1 ilişki var deriz.

Ama zaten ilgili bilgi hakkında yorum yapabiliyorsak şunuda bilebiliriz ki ; İlgili öğrencinin sadece 1 tane anne kızlık soy ismi olacaktır. Dolayısıyla kayıtta 1 tane gelecektir.

1-N İlişki Türü (Bire Çok İlişki)

Tablonun birinde birincil anahtar ile diğer tabloda tekrarlı bir alan arasında kurulan ilişki türüdür. Yani tablolardan biri birincil anahtar diğeri yabancı anahtar ise bu durumda bir çok ilişki kurulur.

Yukarıdaki örnekte bir sınıfta birden fazla öğrencinin ders alabileceğini görüyoruz dolayısıyla bu tabloda bire çok ilişkinin kurulduğunu görüyoruz.

ogrenci tablosnuda bulunan sinif_no ile sinif_detay tablosunda bulunan sinif_no eşittir. Bu alan ogrenci tablosunda foreign key olarak kullanılırken sinif_detay tablosunda primary key olarak kullanılmıştır.

N-N İlişki Türü ( Çoka Çok İlişki)

Çoktan çoğa ilişkiler karmaşıklığı nedeniyle veritabanında bir çok soruna neden olabilir. Sorunun temel nedeni bir tablodaki anahtar ilişkili olduğu tabloda birden çok kez olabilirken karşıtı da doğrudur.

Bu yüzden istenilen ilişkiselliği sağlamak için ilişkiyi birden çoğa indirgemek gerekir. Yani araya fazladan bir tablo koyarak karmaşıklıktan kurtulmuş oluruz.

Yukarıdaki örnekte öğrencilere birden fazla dersten ödev verileceği gibi tek dersi birden fazla öğrencide alabilmelidir.

Dolayısıyla bu tabloda çoka-çok ilişki söz konusudur.

Çoka-çok ilişki olan tablolar birbirine direkt olarak bağlanamaz. İlişki tablosu denilen bir tabloya ihtiyaç vardır.

Bu örnekteki sorunu odev isimli tablo ile çözdük. Diğer iki tablodan gelene primary key alanları bu tabloda foraign key olarak konumlandırıp ilgili ilişkiler için de ders_iliski_ıd olarak yeni bir primary key atadık.

--

--

Sevgi Yangın

Hâla öğrenmeye devam eden yeni mezun iş analisti :)