Genellikle çok sütunlu birincil anahtarlı bir tablonuz olduğunda, kendi varlığı olarak yükseltilen (ve dolayısıyla kendi birincil anahtarını hak eden) bir birleştirme tablosunun (çoktan çoğa) sonucudur. Herhangi bir birleştirme tablosunun varsayılan olarak bir varlık olması gerektiğini iddia eden birçok kişi vardır, ancak bu başka bir gün için bir tartışmadır.
Varsayımsal olarak birçok ilişkiden varsayımlara bakalım:
Öğrenci * --- * Sınıfı
(Bir öğrenci birden fazla sınıfta olabilir, bir Sınıfın birden fazla öğrencisi olabilir).
Bu iki tablo arasında StudentClass (ya da nasıl yazdığınıza bağlı olarak ClassStudent) adı verilen bir bağlantı tablosu olacaktır. Bazen, öğrencinin sınıftayken olduğu gibi şeyleri takip etmek istersiniz. Böylece StudentClass tablosuna ekleyeceksiniz. Bu noktada, StudentClass benzersiz bir varlık haline gelmiştir ... ve bu adı tanıması için bir isim verilmelidir, örneğin Kayıt.
Öğrenci 1 --- * Kayıt * --- 1 Sınıf
(bir öğrencinin birden fazla Kaydı olabilir, her Kayıt bir sınıf içindir (veya bir Sınıfın birçok Kaydı olabileceğinin tersi, her Kayıt bir Öğrenci içindir).
Şimdi geçtiğimiz yıl Kimya 101 dersine kaç öğrenci kaydolduğu gibi şeyleri sorgulayabilirsiniz? Ya da John Doe öğrencisi Acme Üniversitesi'ne devam ederken hangi derslere kaydoldu? Bu, ayrı birincil anahtar olmadan mümkün oldu, ancak kayıt için birincil anahtarınız olduğunda, bu kayıtlardan daha kolay bir sorgu olabilir (kimliğe göre), kaç öğrenci geçer not aldı?
Bir varlığın bir PK'yi hak edip etmediğini belirleme, o varlık için ne kadar sorgulama (veya manipülasyon) yapacağınızla ilgilidir. Diyelim ki, bir sınıftaki bir öğrenci için tamamlanan ödevleri eklemek istediniz. Bu varlığı (Atama) iliştirmek için mantıklı yer Kayıt Kuruluşunda olacaktır. Kaydı kendi birincil anahtarı vermek Ödev sorgularını basitleştirecektir.