2016-03-21 24 views
0

Yakın zamanda SQL ve anahtarları öğreniyorum.Aday anahtarları SQL

İlişki tablosuna n öznitelikleri olup olmadığını merak ediyorum, mümkün olan kaç tane Aday anahtar var?

cevap

0

İlişkilerin özniteliklerinin her alt kümesi bir aday anahtar olabilir. Dolayısıyla sayı olduğu düzenlenmiştir 2 N

, n elemanları bir dizi alt kümelerinin sayısı eşittir

orijinal cevap 2 N -1, ama aynı zamanda bu önemli boş (veya niladik) tuşa sahip olmak. Bu tür bir anahtar, ilişkinin sadece bir tuple sahip olduğunu ima eder. Açıklama için @ErwinSmout teşekkürler.

+0

Maalesef, boş kümeyi hariç tutmamalıyız. SQL, boş anahtarları desteklemez, ancak yalnızca SQL'in tamamen ilişkisel olmadığı anlamına gelir. Bazı SQL ürünlerinin boş (niladic) anahtarları etkin bir şekilde desteklemesi bile olabilir. Bu soru için –

+0

bir aday anahtar süper tuşların sayısı olabilir mi? Bir aday anahtarın sadece özniteliklerin herhangi biri olacağını düşünmüştüm, çünkü bu satırları tanımlamak için gereken minimum sayıda anahtar. (veya bu bir varsayım olur mu?) – boredj

+0

@boredj, Potansiyel aday anahtarların sayısı hakkında konuşuyorsak, bu bir yoruma göre 2^n-1 veya 2^n'ye eşittir. Aynı masada aynı anda bulunabilecek maksimum aday anahtar sayısı hakkında konuşuyorsak, bu farklı bir sorudur. İlk durumda, bir aday anahtar herhangi bir sayıda özniteliğe sahip olabilir. – Renzo