Yabancı anahtar ve Birincil anahtar arasındaki fark

Anonim

Yabancı anahtar vs Birincil anahtar

Bir veritabanında bir satır veya bir dizi kümeyi tanımlamak veya erişmek için kullanılabilen bir sütun veya bir dizi sütun bir anahtar olarak anılır. İlişkisel bir veritabanındaki birincil anahtar, tablonun satırlarını benzersiz şekilde tanımlayan sütunların birleşimidir. İlişkisel veritabanındaki yabancı anahtar, başka bir tablonun birincil anahtarıyla eşleşen bir tablodaki bir alandır. Yabancı anahtar referans tablolarını geçmek için kullanılır.

Birincil Anahtar nedir?

Birincil anahtarı, bir ilişkisel veritabanı tablosundaki bir satırı benzersiz şekilde tanımlayan bir sütun veya bir sütun bileşimi. Bir tablonun en fazla bir birincil anahtarı olabilir. Birincil anahtar, örtük NOT NULL kısıtlamasını zorlar. Birincil anahtar olarak tanımlanan bir sütun içinde NULL değerleri olamaz. Birincil anahtarda, bir sosyal güvenlik numarası gibi benzersiz olduğu garanti edilen tabloda normal bir nitelik olabilir veya Microsoft SQL Server'daki bir Genel Benzersiz Tanımlayıcı (GUID) gibi veritabanı yönetim sistemi tarafından üretilen benzersiz bir değer olabilir. Birincil anahtarlar, ANSI SQL Standardındaki PRIMARY KEY kısıtlaması aracılığıyla tanımlanır. Tablonun oluşturulması sırasında birincil anahtar da tanımlanabilir. SQL, birincil anahtarın bir veya daha çok sütundan oluşmasını sağlar ve birincil anahtarda bulunan her sütun örtük olarak NOT NULL olarak tanımlanır. Fakat bazı veritabanı yönetim sistemleri birincil anahtar sütunlarını açıkça NOT NULL yapmayı gerektirir.

Yabancı Anahtar Nedir?

Yabancı anahtar, iki tablo arasındaki referanssal kısıtlıdır. Bir tabloda, başvurulan tablo olarak adlandırılan, başka bir tablodaki bir sütun kümesine atıfta bulunan başvuru tablosu adı verilen bir sütun veya sütun kümesini tanımlar. Başvurulan tabloda yabancı anahtar veya başvuru tablosundaki sütunlar birincil anahtar veya bir aday anahtar (birincil anahtar olarak kullanılabilen bir anahtar) olmalıdır. Yabancı tuşlar, verileri birkaç tabloya bağlamak için kullanılır. Bu nedenle, yabancı anahtar, başvurduğu tabloda görünmeyen değerleri içeremez. Daha sonra, yabancı anahtar tarafından sağlanan referans, birçok tablodaki bilgileri birbirine bağlamak için kullanılabilir ve bu, normalleştirilmiş veritabanlarında gereklidir. Başvurulan tablodaki birden çok satır, başvurulan tablodaki tek bir satıra işaret edebilir. ANSI SQL standardında, yabancı anahtarlar FOREIGN KEY kısıtlamasını kullanarak tanımlanır. Ayrıca, tablonun kendisi oluşturulurken yabancı anahtarlar tanımlanabilir. Bir tablo birden çok yabancı tuşa sahip olabilir ve farklı tablolara başvurabilirler.

Yabancı anahtar ve Birincil anahtar arasındaki fark nedir?

Birincil anahtar ile yabancı anahtar arasındaki temel fark, birincil anahtarın, bir yabancı anahtar bir sütun veya bir dizi sütun olması durumunda bir tablodaki bir satırı benzersiz şekilde tanımlamak için kullanılabilecek bir sütun veya bir sütun kümesidir birincil anahtarı veya başka bir tablonun aday anahtarını ifade eder.Yabancı anahtar, esas olarak, çeşitli tablolarda bilgi bağlamak için bir yöntem sağlar. Başka bir fark, bir tablonun tek bir birincil anahtara sahip olabileceği, ancak farklı tabloları referans gösterebilen birden fazla yabancı anahtarın olabileceğidir.