Birincil anahtar ve Benzersiz anahtar
Veritabanındaki bir satırı veya satır kümesini tanımlamak veya bunlara erişmek için kullanılabilecek bir sütun veya sütun kümesine anahtar denir. Benzersiz anahtar, ilişkisel veritabanları bağlamında bir tablodaki bir satırı benzersiz olarak tanımlayabilen bir anahtardır. Benzersiz bir anahtar, tek bir sütundan veya bir sütun kümesinden oluşur. Birincil anahtar, bir tablodaki bir satırı benzersiz bir şekilde tanımlayan sütunların birleşimidir. Ancak benzersiz anahtarın özel bir durumu olarak kabul edilir.
Benzersiz Anahtar Nedir?
Daha önce de belirtildiği gibi, benzersiz anahtar, bir tablodaki bir satırı benzersiz bir şekilde tanımlayabilen tek bir sütun veya sütun kümesidir. Böylece, benzersiz bir anahtar, iki değeri eşit olmayacak şekilde sınırlandırılmıştır. Önemli özelliklerinden biri, benzersiz anahtarların NOT NULL kısıtlamasını zorlamamasıdır. NULL değerin eksikliğini temsil ettiğinden, iki satır bir sütunda NULL varsa, bu değerlerin eşit olduğu anlamına gelmez. Benzersiz anahtar olarak tanımlanan sütun, bu sütunda yalnızca tek bir NULL değerine izin verir. Daha sonra bu belirli satırı benzersiz bir şekilde tanımlamak için kullanılabilir. Örneğin, öğrenci bilgilerini içeren bir tabloda, öğrenci kimliği benzersiz bir anahtar olarak tanımlanabilir. Hiçbir öğrenci aynı kimliğe sahip olamadığından, tek bir öğrenciyi benzersiz olarak tanımlar. Böylece öğrenci kimliği sütunu benzersiz bir anahtarın tüm özelliklerini karşılar. Bir veritabanının tasarımına bağlı olarak, bir tabloda birden fazla benzersiz anahtar olabilir.
Birincil Anahtar nedir?
Birincil anahtar aynı zamanda ilişkisel veritabanı tablosundaki bir satırı benzersiz bir şekilde tanımlayan bir sütun veya sütunların birleşimidir. Bir tablonun en fazla bir birincil anahtarı olabilir. Birincil anahtar, örtülü NOT NULL kısıtlamasını zorlar. Bu nedenle, birincil anahtar olarak tanımlanan bir sütunun içinde NULL değerler olamaz. Birincil anahtar, tabloda sosyal güvenlik numarası gibi benzersiz olması garanti edilen normal bir özellik olabilir veya Microsoft SQL Server'daki Genel Benzersiz Tanımlayıcı (GUID) gibi veritabanı yönetim sistemi tarafından oluşturulan benzersiz bir değer olabilir. Birincil anahtarlar, ANSI SQL Standardındaki PRIMARY KEY kısıtlamasıyla tanımlanır. Birincil anahtar, tablo oluşturulurken de tanımlanabilir. SQL, birincil anahtarın bir veya daha fazla sütundan oluşmasına izin verir ve birincil anahtarda bulunan her sütun, NULL DEĞİL olarak örtülü olarak tanımlanır. Ancak bazı veritabanı yönetim sistemleri birincil anahtar sütunlarını açıkça NULL DEĞİL yapmayı gerektirir.
Birincil anahtar ile Benzersiz anahtar arasındaki fark
Hem birincil anahtar hem de benzersiz anahtar, tablodaki bir satırı benzersiz bir şekilde tanımlayabilen bir veya daha fazla sütun olsa da, bazı önemli farklılıkları vardır. En önemlisi, bir tablonun yalnızca bir birincil anahtarı olabilirken, birden fazla benzersiz anahtarı olabilir. Birincil anahtar, benzersiz anahtarın özel bir durumu olarak düşünülebilir. Başka bir fark, benzersiz anahtarın bu kısıtlamaya sahip olmamasına rağmen birincil anahtarların örtülü NOT NULL kısıtlamasına sahip olmasıdır. Bu nedenle, benzersiz anahtar sütunları NULL değerler içerebilir veya içermeyebilir, ancak birincil anahtar sütunları NULL değerler içeremez.