S:
Kompozit anahtar, birincil anahtar ve yabancı anahtar arasındaki fark nedir?
A:Birincil anahtar, bir veritabanı tablosundaki her satırı benzersiz şekilde tanımlayan bir anahtar veya veritabanı sütunu olarak tanımlanır. Bileşik anahtar, birlikte, her bir kaydı benzersiz şekilde tanımlayan birden fazla anahtar kümesidir.
Öte yandan, yabancı anahtar, bazı tablolarda başka bir tablodaki satırları benzersiz bir şekilde tanımlayan bir anahtardır - veya başka bir deyişle, başka bir tablodaki birincil anahtarı izleyen bir anahtardır.
Örnek olarak emlak piyasasında evlerin bir listesi verilebilir. İyi düzenlenmiş bir veritabanında, her kaydı benzersiz şekilde tanımlayan bir birincil anahtar olmalıdır. Bunun nasıl çalıştığı veritabanının karmaşıklığı ile ilgili olabilir.
Bazı durumlarda, evler sadece bir ipotek numarası ile benzersiz bir şekilde tanımlanabilir - diğer tüm veriler (kasabalar, sokaklar, ev numaraları) her kayıt için benzersiz değildir. İpotek numarası birincil anahtar olacaktır. Bununla birlikte, bir MLS emlakçısının listeleme teknolojisinin tablodaki kayıtlara kendi benzersiz numaralarını atadığını varsayalım. Ardından, geliştiricilerin “aday anahtarlar” olarak tanımlayabilecekleri iki anahtar olacaktır: ipotek numarası ve MLS numarası. Bunlardan biri, bazılarının keyfi bir şekilde değerlendireceği “birincil anahtar” olarak nitelendirilecektir.
Kompozit bir anahtar, iki anahtarın birleşimi olacaktır: örneğin, pazar listelerinin yerel olması koşuluyla, ev numarası ve caddenin kombinasyonu bir kompozit anahtar olarak nitelendirilebilir. Öyleyse, birisi hem bina numarasını hem de caddeyi kullanarak arama yaptığında, yalnızca tek bir kayıt döndürülmelidir.
Bu arada, bağlantılı tabloda bir anahtar varsa, örneğin birincil anahtara başvuran bir alıcının masası yabancı anahtar olacaktır.